你無法保護你不知道的東西。雖然這并不是IT安全領域的咒語,但當你從“可信”用戶的角度尋找安全漏洞,或者換句話說,通過身份驗證執行漏洞掃描時,這個原則確實是真的。
通過配置漏洞掃描儀來登錄到你正在測試的主機,你會看到這個故事的其余部分——即為了節省時間或金錢,或者因為復雜性而經常被忽略的安全方面。事實的真相是,盡管執行身份驗證掃描確實需要更多的時間,但從發現的漏洞(以及最終緩解的風險)來看,這種漏洞掃描比通過非身份驗證掃描的效果好十倍。
安全團隊可以遵循下面五種方法來更有效地準備和執行身份驗證漏洞掃描,以及充分利用其得到的結果:
1. 事先知道需要通過身份驗證進行掃描的系統
這可能包括所有Windows和基于Linux的系統,或者少數計算機部分(例如服務器或工作組)。此外,請務必考慮掃描Web應用、數據庫以及允許或要求通過Telnet、FTP、SSH和SNMP等協議的身份驗證的所有網絡主機。很多商業漏洞掃描儀(例如Nexpose和LanGuard)提供了各種方法來進行掃描。如果你網絡外部的黑客或者內部的惡意用戶都開始使用身份驗證掃描,那么你也需要這樣做。
2. 確定想要掃描何種用戶角色水平
筆者建議至少使用管理員或根級登錄憑證進行掃描;這樣你將會發現大部分漏洞。然而,通過不同用戶角色進行掃描(例如經理級別角色或基本用戶角色),你可以更好地了解每個用戶組可以看到和利用的資源。在一定程度上,你測試的用戶角色越多,你得到的結果會越好(不過在某種情況下將會出現收效遞減的規律)。當你看到你的結果不再根據權限而變化時,你會知道什么時候該適可而止。
3. 為身份驗證掃描設置用戶賬號
這樣在首次登錄時不會要求更改密碼(這是Active Directory組策略和一些web應用的通用設置)。如果你忘記了這一點,你的掃描儀首次登錄時將會提示你更改密碼,當然這無法做到。你可能不知道這個情況,然后繼續進行掃描。幾分鐘后(可能更長時間),你會意識到身份驗證無法使用,你將需要重新開始進行掃描。通過web漏洞掃描儀,你可能需要創建一個登錄宏以允許你測試。出于某種原因,大多數網絡漏洞掃描儀不會提供選項以在你開始掃描前測試你的登錄憑證。筆者所知道的唯一具有這種功能的兩個掃描儀是老的Harris STAT掃描儀和Rapid7的Nexpose。這一點似乎是老生常談,但從長期來看,這個功能可以為你節省大量時間和避免很多麻煩。
4. 先確保對網絡主機的身份驗證漏洞掃描不會帶來問題
這就是說,這可能會在生產環境產生問題,特別是當掃描web應用時。無論你在掃描什么,都會消耗CPU、磁盤和網絡周期,日志文件和數據庫可能會被填滿,用戶賬號可能被鎖定等。筆者建議首先在一個或兩個系統上運行身份驗證掃描,看看會帶來什么副作用,再擴展到掃描成千上萬個系統。
5. 按照漏洞的排序方式來生成HTML或電子表格報告
在身份驗證掃描期間發現的安全漏洞可能非常多,特別是當查看傳統PDF報告中的結果時。筆者發現,按照漏洞的排序方式來生成HTML或電子表格報告是查看發現結果的最佳方法。當你整理漏洞結果時,你可以通過能夠更簡單更清楚地看清事物(例如每個漏洞所影響的主機或網頁)而節省大量時間,并且可以更簡單地生成最終報告或修復計劃,而不是一次查看一臺主機。
使用漏洞掃描儀來正確地執行漏洞掃描類似于使用數碼單反相機拍攝照片。任何人都可以使用這個工具,但這并不意味著你知道如何有效地利用它,而且也不能保證取得積極的效果。
你執行身份驗證掃描的次數越多,你就會學到越多的技巧,這將讓你的使用變得更加高效。這樣,你能夠在更短時間內更好地發現漏洞,幫助企業降低風險,然后萬事大吉,何樂而不為呢?