譯者 | 陳峻
審校 | 孫淑娟
如果我問您什么方面會(huì)與IT基礎(chǔ)架構(gòu)、運(yùn)營管理、以及DevOps都有聯(lián)系,您可能會(huì)脫口而出是“系統(tǒng)加固”。的確,系統(tǒng)加固不但是擁有多樣化基礎(chǔ)架構(gòu)的大型IT團(tuán)隊(duì)的日常工作之一,而且能夠給系統(tǒng)保護(hù)帶來廣泛的安全功能。
下面,我將和您探討什么是系統(tǒng)加固、加固的重要性、加固的標(biāo)準(zhǔn)、以及Chef如何幫助DevSecOps團(tuán)隊(duì)快速、輕松地加固異構(gòu)化的系統(tǒng)。
什么是系統(tǒng)加固?
系統(tǒng)加固是一種通過減少服務(wù)器、應(yīng)用程序、固件、以及其他面向網(wǎng)絡(luò)的系統(tǒng)級漏洞,來抵御網(wǎng)絡(luò)攻擊的方法。系統(tǒng)加固往往需要在基礎(chǔ)設(shè)施和安全管理工具的幫助下來實(shí)現(xiàn)。這些工具將有助于審計(jì)各種系統(tǒng)、檢測潛在的攻擊向量、并最小化攻擊面。
鑒于網(wǎng)絡(luò)安全攻擊對于企業(yè)的各種??影響??,系統(tǒng)加固可以做出針對攻擊者的一種戰(zhàn)略性防御,去彌補(bǔ)那些經(jīng)常被用來攻擊系統(tǒng)、以及訪問敏感數(shù)據(jù)的系統(tǒng)級漏洞。下面是一些與系統(tǒng)加固相關(guān)的關(guān)鍵性操作:
- 刪除或禁用不再使用的系統(tǒng)
- 限制各種權(quán)限
- 刪除多余的應(yīng)用程序、端口、功能、以及用戶帳戶
- 監(jiān)控各種漏洞
理想情況下,運(yùn)行漏洞掃描是系統(tǒng)加固的絕好起點(diǎn)。因?yàn)樗鼈儠?huì)發(fā)現(xiàn)各種缺失的補(bǔ)丁與安全更新,以及那些可被作為攻擊入口的開放端口。系統(tǒng)加固也會(huì)要求更改服務(wù)與應(yīng)用程序的默認(rèn)密碼,使用應(yīng)用防火墻的嚴(yán)格規(guī)則來限制或控制流量,啟用帳戶鎖定機(jī)制,以及執(zhí)行持續(xù)的合規(guī)性審計(jì)。由于系統(tǒng)加固是一個(gè)持續(xù)的動(dòng)態(tài)過程,因此我們需要事先確定好對此負(fù)責(zé)的團(tuán)隊(duì),以及可長期實(shí)施的系統(tǒng)加固策略。
目前,大多數(shù)企業(yè)都會(huì)遵循由??CIS??(Center for Internet Security,互聯(lián)網(wǎng)安全中心)、NIST(National Institute of Standards and Technology,美國國家標(biāo)準(zhǔn)與技術(shù)研究院)、以及ENISA(歐洲網(wǎng)絡(luò)與信息安全局)等組織頒布的嚴(yán)格的系統(tǒng)加固準(zhǔn)則。不過,此類準(zhǔn)則并不能讓企業(yè)一勞永逸。企業(yè)需要持續(xù)通過構(gòu)建多層次的深度安全防御原則,在不減少應(yīng)用程序和操作系統(tǒng)的特性與功能的基礎(chǔ)上,來縮小各種網(wǎng)絡(luò)攻擊面。
從廣義上講,系統(tǒng)加固可被分為如下類型:
- 服務(wù)器加固:旨在保護(hù)服務(wù)器上的端口、功能、數(shù)據(jù)、以及權(quán)限。涉及到的技術(shù)包括:對服務(wù)器軟件予以定期更新、打補(bǔ)丁,以及使用強(qiáng)密碼機(jī)制。
- 軟件加固:通過編輯或更新應(yīng)用程序代碼,來升級所有應(yīng)用程序的安全措施,以應(yīng)對各類攻擊。
- 操作系統(tǒng)加固:旨在保障所有端點(diǎn)上運(yùn)行的操作系統(tǒng)的安全。涉及到的技術(shù)包括:更新系統(tǒng)級的補(bǔ)丁,以及限制訪問操作系統(tǒng)的帳戶。
- 數(shù)據(jù)庫加固:旨在保障數(shù)據(jù)庫和DBMS的安全。涉及到的技術(shù)包括:限制用戶的訪問權(quán)限,禁用不必要的服務(wù),以及加密數(shù)據(jù)庫里的信息等。
- 網(wǎng)絡(luò)加固:旨在保障服務(wù)器和端點(diǎn)之間的網(wǎng)絡(luò)中,所有通信通道的安全。
系統(tǒng)加固的重要性
系統(tǒng)加固極大地降低了網(wǎng)絡(luò)攻擊的風(fēng)險(xiǎn)。在系統(tǒng)級的審計(jì)中,一種常見的違規(guī)原因便是那些導(dǎo)致“合規(guī)性漂移(compliance drift)”的配置更改。也就是說,我們每次在添加新的服務(wù)器、用戶、以及應(yīng)用程序時(shí),都有可能產(chǎn)生新的漏洞。
一種常見現(xiàn)象是:當(dāng)企業(yè)擁有多種可配置的大量軟硬件資產(chǎn)時(shí),安全運(yùn)維人員都需要花時(shí)間以手動(dòng)或自動(dòng)的方式,對新、舊資產(chǎn)根據(jù)CIS之類的基準(zhǔn)予以配置與調(diào)整。而在完成的時(shí)候,他們卻無法保證沒有引入新的錯(cuò)誤。正是由于此類現(xiàn)象在各種IT生態(tài)系統(tǒng)中都普遍存在,因此我們需要特別注意那些不斷變化的IT基礎(chǔ)架構(gòu),確保對其動(dòng)態(tài)的安全配置和持續(xù)合規(guī)性進(jìn)行檢查。對此,企業(yè)往往需要實(shí)施自動(dòng)化的工具,通過持續(xù)監(jiān)控和審計(jì)異構(gòu)的IT資產(chǎn),來保證能夠在出現(xiàn)偏差時(shí),及時(shí)補(bǔ)救并協(xié)助加固IT系統(tǒng)。
系統(tǒng)加固的優(yōu)秀實(shí)踐
既然系統(tǒng)加固是一個(gè)必不可少的過程,那么我們綜合了NIST和CIS頒布的優(yōu)秀實(shí)踐標(biāo)準(zhǔn),提出如下全面加固系統(tǒng)的策略:
- 遵守CIS、NIST、ENISA等系統(tǒng)加固標(biāo)準(zhǔn)
- 基于企業(yè)的特定需求,制定系統(tǒng)加固計(jì)劃
- 使用基于CIS基準(zhǔn)的安全審計(jì)工具,來執(zhí)行持續(xù)審計(jì)、并識別系統(tǒng)中的漏洞
- 使用自動(dòng)化的漏洞掃描與修補(bǔ)工具,識別缺失的補(bǔ)丁、錯(cuò)誤的配置、安全類更新,進(jìn)而快速執(zhí)行漏洞的修復(fù)
- 運(yùn)用強(qiáng)大的用戶權(quán)限與訪問規(guī)則,刪除整個(gè)基礎(chǔ)架構(gòu)中不必要的帳戶和權(quán)限
- 使用由CIS認(rèn)證的自動(dòng)化合規(guī)工具,自動(dòng)產(chǎn)生合規(guī)性偏差報(bào)告和修復(fù)建議
系統(tǒng)加固建議圖
系統(tǒng)加固與Chef Compliance
Chef Compliance是一種自動(dòng)化的解決方案,其中包括CIS和??DISA STIG??的各項(xiàng)基準(zhǔn),可被用于審計(jì)和修復(fù)系統(tǒng)中的各種漏洞,以促進(jìn)IT生態(tài)系統(tǒng)的合規(guī)與安全。在Chef Compliance中,企業(yè)可以同時(shí)使用Chef Infra(配置管理)和Chef InSpec(合規(guī)性)兩個(gè)模塊,來實(shí)現(xiàn):
- 執(zhí)行持續(xù)審計(jì),評估異構(gòu)資產(chǎn)的當(dāng)前配置與狀態(tài)
- 根據(jù)CIS和STIG推薦的基準(zhǔn),糾正錯(cuò)誤的配置
- 對特定控制的審計(jì),謹(jǐn)慎使用例外和豁免
- 自定義現(xiàn)有的補(bǔ)救內(nèi)容,以滿足企業(yè)的需求
- 如果安全基準(zhǔn)受到了破壞,則應(yīng)回滾到最后一次已知的可信狀態(tài)
- 從單一的儀表板處,查看所有端點(diǎn)的配置與合規(guī)狀態(tài)
借助Chef Compliance,企業(yè)可以保持跨混合云和多云環(huán)境的安全性,同時(shí)提高DevOps流程的整體效率。同時(shí),IT團(tuán)隊(duì)能夠在Chef的持續(xù)安全審計(jì)與修復(fù)的幫助下,執(zhí)行系統(tǒng)加固,從而檢測和修復(fù)不同IT組件中的漏洞。由于IT管理員獲得了完全的可見性,因此他們很容易根據(jù)企業(yè)的實(shí)際要求,去調(diào)整基線,以及輕松地維護(hù)合規(guī)性配置文件。同時(shí),他們也能夠針對大規(guī)模的分布式混合與邊緣基礎(chǔ)設(shè)施,實(shí)施系統(tǒng)級別的加固。
獲取、定義、監(jiān)控、補(bǔ)救和報(bào)告
使用Chef進(jìn)行系統(tǒng)加固的優(yōu)勢
從安全性和合規(guī)性的角度來看,使用Chef進(jìn)行系統(tǒng)加固的優(yōu)勢主要體現(xiàn)在:
- 改進(jìn)的安全態(tài)勢:通過CIS和STIG的標(biāo)準(zhǔn)化配置文件,可持續(xù)開展審計(jì)和修復(fù),確保降低系統(tǒng)的數(shù)據(jù)泄露、漏洞被利用、惡意軟件的安裝、未經(jīng)授權(quán)的訪問等風(fēng)險(xiǎn)。
- 更好的可審計(jì)性:Chef精心規(guī)劃的配置文件,能夠使得復(fù)雜的安全審計(jì),變得更容易、更快速、更透明,進(jìn)而能夠交付出適用于主流平臺和操作系統(tǒng)的、易于閱讀的代碼。
- 改進(jìn)的系統(tǒng)功能:憑借著無差錯(cuò)(error-free)的自動(dòng)化、針對流程的提速、配置的一致性、以及全面安全的基礎(chǔ)設(shè)施,Chef提高了系統(tǒng)的整體效率、以及DevOps團(tuán)隊(duì)的生產(chǎn)力。
通過Chef InSpec掃描來檢查系統(tǒng)加固的態(tài)勢
如果您正在為系統(tǒng)加固尋找自動(dòng)化工具,以確保異構(gòu)IT資產(chǎn)的合規(guī)性,請下載免費(fèi)版的??Chef Workstation??,并針對Windows或Linux系統(tǒng),運(yùn)行公開可用的Chef InSpec配置文件。
無需額外安裝,您可以僅在目標(biāo)節(jié)點(diǎn)上使用如下提供的DevSec基線,以分析Linux和Windows的系統(tǒng)態(tài)勢。由于下面的命令會(huì)從GitHub中提取內(nèi)容,因此您無需克隆存儲庫。通過提供SSH或WinRM的相關(guān)憑據(jù),您可以掃描本地、云端、以及邊緣系統(tǒng)中的IT資產(chǎn):
Linux:
- DevSec的??Linux基線??
- $ inspec exec
- -t ssh://user@node -i ~/.ssh/id_rsa
Windows:
- $ inspec exec
- -t winrm://user:password@node
無論您的系統(tǒng)最初是如何配置的,這些簡單的命令都會(huì)立即報(bào)告各種已通過的和失敗了的測試結(jié)果,并且能夠突出顯示那些易受攻擊的地方。同時(shí),Chef Automate(Chef生態(tài)系統(tǒng)的儀表板)的用戶也可以利用各種默認(rèn)的、或自定義的系統(tǒng)加固配置文件,使用Chef Compliance去安排定期掃描。
譯者介紹
陳峻 (Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項(xiàng)目實(shí)施經(jīng)驗(yàn),善于對內(nèi)外部資源與風(fēng)險(xiǎn)實(shí)施管控,專注傳播網(wǎng)絡(luò)與信息安全知識與經(jīng)驗(yàn);持續(xù)以博文、專題和譯文等形式,分享前沿技術(shù)與新知;經(jīng)常以線上、線下等方式,開展信息安全類培訓(xùn)與授課。
原文標(biāo)題:??System Hardening Standards and Best Practices With Chef??,作者:Anugraha Benjamin