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