大數(shù)據(jù)正處于快速發(fā)展期,特別是開(kāi)源技術(shù)生態(tài)復(fù)雜,組件眾多。如何適應(yīng)大數(shù)據(jù)平臺(tái)的快速發(fā)展,保障其安全運(yùn)行,是擺在安全維護(hù)人員面前的一道難題。
Hadoop平臺(tái)各組件自身安全配置功能成本低、見(jiàn)效快。但由于專業(yè)人員較少,配置項(xiàng)眾多等原因,管理員很難全面掌握其所有組件安全配置,在工作中迫切需要對(duì)Hadoop各組件制定統(tǒng)一的檢查標(biāo)準(zhǔn)和加固建議,利用自動(dòng)化、標(biāo)準(zhǔn)化的檢查系統(tǒng)對(duì)其進(jìn)行全方位檢查,保障大數(shù)據(jù)平臺(tái)的安全運(yùn)行。
因此,為保證大數(shù)據(jù)平臺(tái)的安全運(yùn)行,迫切需要一種能夠自動(dòng)化、周期性、高效率對(duì)大數(shù)據(jù)平臺(tái)底層Hadoop體系的各個(gè)組件進(jìn)行準(zhǔn)確的安全配置檢查的工具。
梳理大數(shù)據(jù)平臺(tái)各個(gè)組件的安全配置規(guī)范,涉及到的組件主要包括有:HDFS、Hbase、Hive、MapReduce、YARN、Spark、Sentry、Kafka、ElasticSearch、Redis、IKAnalyzer、DACP等十?dāng)?shù)個(gè)組件,從身份認(rèn)證、授權(quán)、加密、日志等四個(gè)方面對(duì)檢查項(xiàng)進(jìn)行分類。大數(shù)據(jù)平臺(tái)的安全基線檢查不僅包含hadoop各個(gè)組件,還包括通用設(shè)備,如操作系統(tǒng)、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)設(shè)備等。
圖1 大數(shù)據(jù)平臺(tái)安全基線核查的實(shí)現(xiàn)過(guò)程
Hadoop的安全配置檢查項(xiàng)需要進(jìn)行梳理和開(kāi)發(fā),檢查項(xiàng)分為身份認(rèn)證、授權(quán)、加密、日志等四類。
通用設(shè)備的安全配置檢查復(fù)用已有檢查項(xiàng),檢查項(xiàng)分為賬號(hào)口令和認(rèn)證授權(quán)、IP訪問(wèn)控制、日志安全以及其他安全配置四類。
安全配置基線即設(shè)備需要滿足的安全配置基本要求。根據(jù)梳理的檢查項(xiàng),為每一個(gè)檢查項(xiàng)設(shè)定安全配置基線,最終建立該設(shè)備類型的安全配置基線集合。
安全配置基線的來(lái)源主要有兩部分:設(shè)備廠家官方網(wǎng)站的安全配置建議;專業(yè)安全廠家的技術(shù)積累。
大數(shù)據(jù)平臺(tái)安全基線核查的實(shí)現(xiàn)過(guò)程如圖1。
編寫檢查項(xiàng),檢查項(xiàng)由基本信息、檢查腳本、安全基線、加固建議四部分組成;
登錄設(shè)備采集信息;
判斷檢查項(xiàng)是否合規(guī),根據(jù)安全基線設(shè)置進(jìn)行合規(guī)性判斷;
生成檢查報(bào)表,按照任務(wù)、業(yè)務(wù)系統(tǒng)、設(shè)備類型、具體設(shè)備等多維度生成檢查報(bào)表,展現(xiàn)設(shè)備合規(guī)性。
搭建用于檢查項(xiàng)的測(cè)試與驗(yàn)證的大數(shù)據(jù)基礎(chǔ)平臺(tái)測(cè)試環(huán)境,其網(wǎng)絡(luò)拓?fù)淙鐖D2。
大數(shù)據(jù)平臺(tái)部署環(huán)境信息有:操作系統(tǒng)信息(操作系統(tǒng)統(tǒng)一采用Redhat 7.0)、數(shù)據(jù)庫(kù)信息(數(shù)據(jù)庫(kù)采用MySQL5.6.24)、CDH 5.3。
安全配置基線檢查項(xiàng)編寫環(huán)境信息:安全基線核查系統(tǒng)(采用目前使用的安全基線核查系統(tǒng)(BMS));配置安全分析模塊和配置安全采集模塊部署情況(采用集中部署方式)。
檢查腳本用于在Hadoop各組件部署的服務(wù)器上執(zhí)行,獲取配置回顯信息,用于后續(xù)對(duì)回顯進(jìn)行解析。
根據(jù)前期調(diào)研發(fā)現(xiàn),檢查腳本采用shell編寫,腳本的主要內(nèi)容包括:腳本分類、腳本名稱、腳本內(nèi)容、腳本描述等。
圖2 大數(shù)據(jù)平臺(tái)安全基線核查系統(tǒng)網(wǎng)絡(luò)拓?fù)?/p>
腳本分類:腳本執(zhí)行的操作系統(tǒng)類型。由于當(dāng)前采用Redhat7.0作為服務(wù)器操作系統(tǒng),所以腳本默認(rèn)按照Redhat7.0編寫,但是考慮到其他大數(shù)據(jù)平臺(tái)可能采用其他發(fā)行版操作系統(tǒng),所以腳本分類是必要的。
腳本名稱:腳本名稱應(yīng)能夠反映腳本的用途和適用范圍,建議采用“組件名稱+腳本用途”的方式進(jìn)行命名,如“HDFS-查看HDFS配置文件信息”。
腳本描述:詳細(xì)描述腳本的用途、編寫過(guò)程、執(zhí)行步驟等信息。
解析規(guī)則用于對(duì)腳本執(zhí)行的回顯進(jìn)行進(jìn)一步解析,解析方式有以下兩種。
正則表達(dá)式解析:使用正則表達(dá)式進(jìn)行關(guān)鍵字匹配,用于解析簡(jiǎn)單回顯;
程序類解析:使用程序?qū)仫@結(jié)果進(jìn)行結(jié)構(gòu)化處理,用于解析復(fù)雜回顯。
經(jīng)過(guò)腳本執(zhí)行、結(jié)果解析后得到的關(guān)于設(shè)備配置信息的關(guān)鍵字集合是result結(jié)果,基準(zhǔn)值是滿足配置基線要求的關(guān)鍵字集合,稱為benchmark。其中,result可以為空,benchmark不能為空。判定規(guī)則用于result和benchmark的比較。
加固方案用于指導(dǎo)對(duì)檢查不合規(guī)的項(xiàng)進(jìn)行合理配置,是其結(jié)果滿足安全配置基線要求。加固方案根據(jù)操作的類型可以分為四類:加強(qiáng)管理、系統(tǒng)改造、增加手段、更改配置等。
根據(jù)調(diào)研與研究結(jié)果,Hadoop主要通過(guò)更改配置的手段完成安全加固操作。加固方案的編寫需要十分詳細(xì),確保管理員按照此方案操作,即可保證該項(xiàng)檢查合規(guī)。
檢查項(xiàng)編寫完成后,需要進(jìn)行驗(yàn)證,驗(yàn)證分為兩部分。
測(cè)試環(huán)境驗(yàn)證:在本地搭建的大數(shù)據(jù)平臺(tái)測(cè)試環(huán)境中進(jìn)行在線檢查,驗(yàn)證檢查項(xiàng)和加固方案的正確性。
生產(chǎn)環(huán)境驗(yàn)證:在大數(shù)據(jù)平臺(tái)生產(chǎn)環(huán)境中進(jìn)行在線檢查,驗(yàn)證檢查項(xiàng)和加固方案的正確性。
1.大數(shù)據(jù)基線加固影響
安全加固需要修改設(shè)備配置信息,具有潛在的未知影響,需要對(duì)此進(jìn)行詳細(xì)風(fēng)險(xiǎn)評(píng)估。主要方法有四種。
官方網(wǎng)站資料查詢:了解每個(gè)檢查項(xiàng)的功能與潛在影響范圍,對(duì)修改帶來(lái)的風(fēng)險(xiǎn)進(jìn)行預(yù)判。
專家判斷:咨詢大數(shù)據(jù)平臺(tái)安全專家,對(duì)被修改項(xiàng)的潛在影響進(jìn)行判斷。
大數(shù)據(jù)平臺(tái)測(cè)試環(huán)境測(cè)試:在大數(shù)據(jù)測(cè)試環(huán)境修改不合規(guī)的配置項(xiàng),觀察對(duì)大數(shù)據(jù)平臺(tái)正常運(yùn)行情況的影響,修改影響大數(shù)據(jù)平臺(tái)正常運(yùn)行的配置項(xiàng)的基線標(biāo)準(zhǔn)。
大數(shù)據(jù)平臺(tái)生產(chǎn)環(huán)境測(cè)試:由于測(cè)試環(huán)境的測(cè)試十分接近生產(chǎn)環(huán)境,所以對(duì)生產(chǎn)環(huán)境的影響可以較為準(zhǔn)確地預(yù)判,同時(shí)選擇在夜間對(duì)大數(shù)據(jù)生產(chǎn)環(huán)境的安全配置進(jìn)行集中檢查與加固。
2.持續(xù)保障大數(shù)據(jù)平臺(tái)安全
圖3 各個(gè)組件全生命周期管理
覆蓋大數(shù)據(jù)平臺(tái)各個(gè)組件全生命周期管理,包括大數(shù)據(jù)平臺(tái)整體規(guī)劃、設(shè)備及組件入網(wǎng)、大數(shù)據(jù)平臺(tái)建設(shè)階段、大數(shù)據(jù)平臺(tái)日常運(yùn)行維護(hù)、無(wú)用設(shè)備及組件的退網(wǎng)階段,如圖3所示。
大數(shù)據(jù)平臺(tái)整體規(guī)劃:根據(jù)單位安全規(guī)劃要求提供輔導(dǎo);
設(shè)備及組件入網(wǎng)測(cè)試:系統(tǒng)需滿足單位安全合規(guī)要求;
大數(shù)據(jù)平臺(tái)建設(shè):確保系統(tǒng)按照要求開(kāi)發(fā)實(shí)施,于上線前驗(yàn)收,不合規(guī)項(xiàng)給出整改意見(jiàn);
大數(shù)據(jù)平臺(tái)日常運(yùn)行維護(hù):定期進(jìn)行自動(dòng)安全合規(guī)檢查,不合規(guī)項(xiàng)及時(shí)告警;
無(wú)用設(shè)備及組件退網(wǎng)清除:確保已退網(wǎng)設(shè)備不再聯(lián)網(wǎng)、不再供電。
3.檢查效率提升
大數(shù)據(jù)組件安全基線檢查對(duì)所有在網(wǎng)設(shè)備進(jìn)行系統(tǒng)自動(dòng)化檢查,節(jié)省了前期準(zhǔn)備、中期檢查和后期分析整理的工作量,極大的提高了工作效率。
自動(dòng)檢查效率是人工檢查的300倍以上,并可以進(jìn)一步提高,多維度檢查報(bào)告一鍵生成。
隨著大數(shù)據(jù)應(yīng)用的高速發(fā)展,大數(shù)據(jù)平臺(tái)的安全防護(hù)經(jīng)歷了從無(wú)到有的發(fā)展過(guò)程,但是目前其安全防護(hù)能力仍然十分薄弱。
安全配置基線檢查解決了無(wú)法對(duì)大數(shù)據(jù)平臺(tái)的安全配置進(jìn)行自動(dòng)化核查的問(wèn)題,通過(guò)確定大數(shù)據(jù)平臺(tái)各組件的檢查基線,編寫檢查項(xiàng)、檢查腳本、加固建議,對(duì)檢查項(xiàng)進(jìn)行多輪次的測(cè)試等步驟,徹底解決了大數(shù)據(jù)平臺(tái)的安全配置問(wèn)題,填補(bǔ)了該領(lǐng)域安全支撐手段的空白,極大提高了工作效率,節(jié)約了生產(chǎn)成本,保障了單位網(wǎng)絡(luò)安全。