當(dāng)企業(yè)轉(zhuǎn)變?yōu)閿?shù)據(jù)驅(qū)動的機(jī)器時,其潛力是巨大的:企業(yè)所擁有的數(shù)據(jù)可能成為獲得競爭優(yōu)勢的關(guān)鍵。因此,企業(yè)的數(shù)據(jù)和基礎(chǔ)設(shè)施的安全也變得比以往任何時候都重要。在許多情況下,企業(yè)或組織都可能得到Forrester所說的“有毒的數(shù)據(jù)”。例如,一家無線公司正在收集誰登錄哪一個天線塔、他們在線逗留多長時間、他們使用多少數(shù)據(jù)、他們是在移動還是處于靜止?fàn)顟B(tài)等數(shù)據(jù),這些數(shù)據(jù)可用來了解用戶行為的狀況。
這家無線公司也許有許多用戶生成的數(shù)據(jù):信用卡號碼、社會保險號碼、購買習(xí)慣數(shù)據(jù)和用戶使用任何信息的方式等。關(guān)聯(lián)這種數(shù)據(jù)和從這些數(shù)據(jù)中提取推斷結(jié)果的能力是有價值的,但是,這種做法也是有害的,如果這種關(guān)聯(lián)的數(shù)據(jù)泄露到機(jī)構(gòu)外部并且落入他人手中,這將給個人和機(jī)構(gòu)造成災(zāi)難性的損失。
應(yīng)用大數(shù)據(jù),不要忘記法規(guī)遵從和控制。下面是保證大數(shù)據(jù)安全的9個技巧。
1. 在啟動大數(shù)據(jù)項目之前要考慮安全問題。不應(yīng)該等到發(fā)生數(shù)據(jù)突破事件之后再采取保證數(shù)據(jù)安全的措施。組織的IT安全團(tuán)隊和參加大數(shù)據(jù)項目的其他人員在向分布式計算(Hadoop)集群安裝和發(fā)送大數(shù)據(jù)之前應(yīng)該認(rèn)真地討論安全問題。
2. 考慮要存儲什么數(shù)據(jù)。在計劃使用Hadoop存儲和運(yùn)行要提交給監(jiān)管部門的數(shù)據(jù)時,可能需要遵守具體的安全要求。即使所存儲的數(shù)據(jù)不受監(jiān)管部門的管轄,也要評估風(fēng)險,如果個人身份信息等數(shù)據(jù)丟失,造成的風(fēng)險將包括信譽(yù)損失和收入損失。
3. 責(zé)任集中。現(xiàn)在,企業(yè)的數(shù)據(jù)可能存在于多個機(jī)構(gòu)的豎井之中和數(shù)據(jù)集中。集中的數(shù)據(jù)安全的責(zé)任可保證在所有這些豎井中強(qiáng)制執(zhí)行一致的政策和訪問控制。
4. 加密靜態(tài)和動態(tài)數(shù)據(jù)。在文件層增加透明的數(shù)據(jù)加密。SSL(安全套接層)加密能夠在數(shù)據(jù)在節(jié)點和應(yīng)用程序之間移動時保護(hù)大數(shù)據(jù)。安全研究與顧問公司Securosis的首席技術(shù)官和分析師阿德里安·萊恩(Adrian Lane)稱,文件加密解決了繞過正常的應(yīng)用安全控制的兩種攻擊方式。在惡意用戶或者管理員獲得數(shù)據(jù)節(jié)點的訪問權(quán)限和直接檢查文件的權(quán)限以及可能竊取文件或者不可讀的磁盤鏡像的情況下,加密可以起到保護(hù)作用。這是解決一些數(shù)據(jù)安全威脅的節(jié)省成本的途徑。
5. 把密鑰與加密的數(shù)據(jù)分開。把加密數(shù)據(jù)的密鑰存儲在加密數(shù)據(jù)所在的同一臺服務(wù)器中等于是鎖上大門,然后把鑰匙懸掛在鎖頭上。密鑰管理系統(tǒng)允許組織安全地存儲加密密鑰,把密鑰與要保護(hù)的數(shù)據(jù)隔離開。
6. 使用Kerberos網(wǎng)絡(luò)身份識別協(xié)議。企業(yè)需要能夠管理什么人和流程可以訪問存儲在Hadoop中的數(shù)據(jù)。這是避免流氓節(jié)點和應(yīng)用進(jìn)入集群的一種有效的方法。萊恩說,這能夠幫助保護(hù)網(wǎng)絡(luò)控制接入,使管理功能很難被攻破。我們知道,設(shè)置Kerberos比較困難,驗證或重新驗證新的節(jié)點和應(yīng)用可以發(fā)揮作用。但是,沒有建立雙向的信任,欺騙Hadoop允許惡意應(yīng)用進(jìn)入這個集群、或者接受引進(jìn)的惡意節(jié)點是很容易的。這個惡意節(jié)點以后可以增加、修改或者提取數(shù)據(jù)。Kerberos協(xié)議是可以控制的最有效的安全控制措施。Kerberos建在Hadoop基礎(chǔ)設(shè)施中,因此,請使用它。
7. 使用安全自動化。企業(yè)是在處理一個多節(jié)點環(huán)境,因此,部署的一致性是很難保證的。Chef和Puppet等自動化工具能夠幫助企業(yè)更好地使用補(bǔ)丁、配置應(yīng)用程序、更新Hadoop棧、收集可信賴的機(jī)器鏡像、證書和平臺的不一致性等信息。事先建立這些腳本需要一些時間,但是,以后會得到減少管理時間的回報,并且額外地保證每一個節(jié)點都有基本的安全。
8. 向Hadoop集群增加記錄。大數(shù)據(jù)很自然地適合收集和管理記錄數(shù)據(jù)。許多網(wǎng)站公司開始使用大數(shù)據(jù)專門管理記錄文件。為什么不向現(xiàn)有的集群增加記錄呢?這會讓企業(yè)觀察到什么時候出現(xiàn)的故障或者是否有人以為企業(yè)已經(jīng)被黑客攻破了。沒有一個事件跟蹤記錄,你就是一個瞎子。記錄MR請求和其它集群活動是很容易的并且可以稍微提高存儲和處理需求。但是,當(dāng)有需要的時候,這些數(shù)據(jù)是不可或缺的。
9. 節(jié)點之間以及節(jié)點與應(yīng)用之間采用安全通信。要做到這一點,需要部署一個SSL/TLS(安全套接層/傳輸層安全)協(xié)議保護(hù)企業(yè)的全部網(wǎng)絡(luò)通信,而不是僅僅保護(hù)一個子網(wǎng)。就像許多云服務(wù)提供商一樣,Cloudera等Hadoop提供商已經(jīng)在做這件事。如果設(shè)置上沒有這種能力,就需要把這些服務(wù)集成到應(yīng)用棧中。