■
主機、網絡設備等配置不當一直以來都是造成信息安全問題的主要原因之一。這些配置存在于主機、網絡設備等各類設備中。涉及帳號、口令、認證、授權、日志配置、IP協議安全等諸多方面,覆蓋面極為廣泛。任何配置不當都會導致設備存在安全風險,進而給整個業務系統的正常運行帶來隱患。如果采用人工方式檢查安全配置會帶來很大的工作量。人工檢查方式對于知識的積累和延續有很大阻礙,而且還可能由于檢查人員對系統不熟悉造成誤操作。
主機、網絡設備等的安全配置建議是面向通用領域的,只從通用的角度描述相關的安全影響,其供應商不能針對不同的使用場景進行擴展補充,導致安全建議不能完全符合實際場景,進而也就不能完全滿足實際使用中的安全配置要求。
以下描述一種可以實現高度自動化、可擴展性強的安全配置檢查系統。
目前業內的配置檢查系統數量眾多,但原理主要有兩種:
1.調用被查設備API,獲取所需配置信息。該方法通過調用系統API進行檢查,需要深入研究被查設備,配置項開發難度大。如基于SCAP規范的配置檢查系統。
2.通過命令行,獲取所需配置信息的回顯,再通過正則表達式匹配出所需字段。該方法相對簡單,配置項的開發難度也相對較低。
下文論述的配置檢查系統是基于第二種方式,并且在此基礎上,將檢查命令和配置檢查系統自身程序做了進一步剝離,使得配置項的新增、擴展更加方便、獨立。
安全配置檢查系統實現了高度自動化、可擴展性強。主要體現在其模塊化,分布式的系統結構。
從功能模塊角度考慮,安全配置檢查系統分為:被檢查設備信息管理模塊、配置項管理模塊、配置檢查任務制定、設備信息采集、設備配置信息分析模塊、數據存儲模塊等。
從系統部署角度,安全配置檢查的部署服務器分為三類:數據庫服務器、核心/WEB服務器、采集服務器等。數據庫服務器用于存儲安全配置檢查的所有數據,核心/WEB服務器為用戶提供維護配置項和制定配置檢查任務的圖形化Web頁面,以及配置項檢查結果分析、呈現等核心功能,采集服務器用于下發采集腳本,并獲取腳本回顯結果。
1.WEB服務器節點功能:提供安全配置項維護界面、檢查任務制定界面、檢查結果展示界面等。
2.核心服務器節點功能:核心服務器承擔的主要功能是訪問和存儲被檢查設備信息、向采集服務器發起采集分析指令、分析采集服務器返回的采集腳本回顯信息、并生成和導出配置檢查報表。主要由以下六個功能模塊組成:
(1)被檢查設備信息錄入模塊:負責錄入被檢查設備信息,并存入數據庫服務器中。包括設備類型、設備名稱、IP地址、登錄帳號、登錄密碼等信息。
(2)配置項管理模塊:配置項管理模塊用于管理檢查項,包括配置項管理、采集腳本管理、基準值管理、判斷邏輯定義等模塊,是該系統的核心功能模塊,其設計方案決定了該系統具有很強的易用性和擴展性。配置項管理用于描述該配置項的基本信息,如配置項名稱、編號、分類、檢查步驟、判斷條件、加固方案等;采集腳本管理用于管理采集被查設備信息的腳本文件;基準值管理用于設置配置項檢查結果是否合理的判斷基準;判斷邏輯定義用于定義從設備上采集的配置信息和基準值之間的邏輯關系,如大于、等于、存在等。
(3)檢查任務制定模塊:配置檢查任務制定部分用于制定配置檢查任務,檢查任務分三類,包括快捷檢查、調度檢查、離線檢查等。快捷檢查只對保證檢查能夠正常執行的基本信息進行設置,其他信息均采用默認設置;調度檢查可以對任務進行復雜配置,如只檢查該類型設備配置項的一部分、任務開始時間、任務執行周期等;離線檢查采用導出離線檢查腳本的形式,對網絡不可達的設備采用手動登錄設備,執行離線腳本的方法對其進行檢查。
(4)采集消息發送模塊:當用戶選定要檢查的設備之后,此模塊會根據其設備類型、設備ID等信息查找對應的登錄信息、采集腳本等信息,組合成可識別的消息格式發送給采集服務器。
(5)結果解析模塊:采集服務器根據核心服務器發送的信息,登錄設備并執行采集腳本,將采集腳本的執行回顯返回給核心服務器進行解析,獲取檢查中必要的配置信息,進行邏輯判斷,完成解析,得到配置項是否配置正確的結果。
(6)報表展現及報表導出模塊:報表展現和導出模塊提供豐富、詳實的報表功能。可以直觀的查看配置檢查任務的各個過程的中間數據及檢查結果。
3.數據庫服務器節點功能:為安全配置檢查系統提供數據存儲服務。主要存儲包括存儲被檢查設備信息、存儲安全配置檢查項信息、存儲檢查任務信息、存儲檢查結果信息等數據信息。
4.采集服務器節點功能:主要完成登錄設備和執行腳本兩個功能。
1.用戶登錄系統WEB界面。
2.在任務管理界面,新建檢查任務。
3.核心服務器根據新建任務的設置,獲取設備登錄信息(如用戶名、密碼、IP地址等)和配置項信息(如配置項名稱、檢查腳本等信息)。
4.將第3步獲取的基本信息構建為采集服務器可識別的格式,生成消息。
5.將消息發送給采集服務器。
6.采集服務器根據消息中傳遞的信息,登錄設備。
7.判斷登錄是否成功,如果不成功,返回第2步,重新設置檢查任務;如果成功,繼續以下步驟。
8.執行檢查腳本,得到設備回顯,獲取設備配置信息,返回給采集服務器。
9.采集服務器將第8步得到的配置信息發送給核心服務器進行解析、判斷,得到檢查結果。
10. 檢查結果存儲在數據庫服務器內,在WEB頁面呈現。
11.結果報表支持導出成Word、Excel、PDF格式文檔。
此安全配置檢查系統的優勢主要體現在三方面。
自動化批量檢查體現在制定檢查任務方面,用戶可以在制定檢查任務時,選擇多臺設備和多個配置檢查項,并且可以制定周期性任務。任務開始執行后,系統會定時對任務所選設備進行安全配置檢查。做到了完全的自動化和批量化。
檢查范圍可以覆蓋到主機類設備、路由交換設備、防火墻設備、數據庫設備、中間件設備、負載均衡設備。理論上,只要存在命令行管理界面的設備均可以納入檢查范圍。
擴展性主要體現在配置項管理方面。配置項管理將配置項管理、采集腳本管理、基準值管理、判斷邏輯定義等模塊與后臺處理邏輯進行了隔離,使得配置項的增加不依賴于編程能力、也不依賴于對系統代碼的了解。以下舉例重點討論。
例如,需要增加AIX操作系統的配置項,檢查AIX口令鎖定策略是否滿足要求。該配置項的基本組成如下。
配置項描述:檢查AIX口令鎖定策略是否滿足要求。要求對于采用靜態口令認證技術的設備,應配置當用戶連續認證失敗次數超過六次(不含六次),鎖定該用戶使用的賬號。可以通過創建一個普通賬號,為其配置相應的口令;并用新建的賬號通過錯誤的口令進行系統登錄六次以上(不含六次),帳戶被鎖定,不再提示讓再次登錄的方法來判斷是否正確配置。
采 集 腳 本:lssec-f/etc/security/usersdefault-aminlen-aminalpha-amindiffaminother-apwdwarntime-ahistexpire-ahistsize-aloginretries-amaxage
基準值:設置為6
判斷邏輯定義:如果NO1>=1并且NO1<=6則'正確'否則'不正確'
通過以上舉例可以看出,新增配置項時,用戶僅需要對被檢查設備的檢查命令有一定的了解,可以編寫采集腳本,然后自行定義判斷邏輯和基準值即可,并沒有涉及被檢查設備底層接口,也沒有涉及安全配置檢查系統后臺代碼。保證了系統具有極強的可擴展性。
隨著信息產業的發展,自動化替代人工方式,極大地提高了工作效率,帶來了巨大的經濟收益。但是由于系統配置不當也造成了很大的損失。安全配置檢查,是保證系統正常運行的基礎手段之一。安全配置檢查系統,將原有依靠人工保障的工作采用自動化的方式實現,提高了工作效率,節省了人力投入,其廣泛的覆蓋面和良好的可擴展性,使得此系統具有很強的生命力,具有廣泛的市場價值。