1.前言
網絡安全問題總是由于一些漏洞引起的,攻擊者抓住這些漏洞,從而獲得相應的權限或者找到使服務器癱瘓的攻擊手段。如果我們能夠事先對這些漏洞進行檢測,那么系統就會更加安全可靠。因此,網絡安全的漏洞檢測是十分必要的。本文介紹如何進行漏洞檢測和如何進行修補。
2.檢測表
一個查看系統安全的方法是通過檢測表。安全檢測表是計算機安全中存在很久的傳統。它們通常包含關于已知的弱點和配置錯誤的內容。系統管理員檢查表中的每一項并和系統進行對比。如果系統與之相符,則該項通過了檢測。潛在的漏洞在暴露之前就被修復。一旦所有的項目都被檢測通過,則系統管理員宣布該系統是安全的,并投入使用。但是沒有一個檢測表是完全的。一個檢測表有時間上的限制,有可能會過時,新的漏洞可能會產生。下面是一個檢測表的例子:
Root aclearcase/" target="_blank" >ccount
l DO restrict the number of people who know the root password. These should be the same users
registered with groupid 0(e.g., wheel group on SunOS). Typically this is limited to at most 3
or 4 people.
l DO NOT log in as root over the network, in accordance with site security policy
l Do su from user accounts rather than logging as root. This provides greater accountability.
l Ensure root does not have a ~/.rhosts file
l Ensure “.” Is not in root’s search path
l Ensure root’s login files do not source any other files not owned by root or which are
group or world writable
l Ensure root cron job files do not source any other files not owned by root or which are
group or world writable
l Do use absolute path names when root. e.g. , /bin/su, /bin/find, /bin/passwd. This is to stop the
possibility of root accidentally executing a Trojan horse. To execute commands in the
current directory, root should prefix the command with “./”, e.g., ./command
3.弱點數據庫
另一種安全檢測的方法是查詢安全弱點數據庫。它允許用戶搜索眾所周知的可能影響特定系統的漏洞??梢詮倪@些數據庫中找到的項目創建自己的檢測表。定期查看供應商的站點來尋找安全補丁。有些產品,像Red Hat Linux, 經常出現補丁。
一個強大的弱點數據庫是由Internet Security System Inc. 維護的??梢栽谙旅娴恼军c搜索ISS的X-force數據庫。
4.基于主機的工具
人工查閱檢測表需要很多時間。有幾個工具可以自動實施這一過程?;谝呀浿赖穆┒?,像COPS和Tiger這樣的弱點測試程序針對一個檢測表來檢查系統管理員的行為。它們可以檢查下面的項目:
l 系統配置錯誤
l 不安全的權限設置
l 所有用戶可寫的文件
l SUID和SGID文件
l Crontab條目
l Sendmail和ftp設置
l 脆弱的口令或者空口令
l 系統文件的改動
第一次運行COPS或者Tiger這樣的系統檢測工具可能會大開眼界。它們都能產生有關發現的詳細報告,暴露各種弱點。任何程序都不能超過其運行的系統的界限。系統檢測工具檢查該系統,而不是其他主機或網絡。
不論使用什么工具,用戶都應該定期進行安全測試。在下面的情況發生時也要進行測試:
l 安裝了一個新系統
l 懷疑受到了攻擊
l 確定受到了攻擊
另外,應該不定期的進行隨機測試,以防止攻擊者發現了時間安排而進行攻擊。
5.解決問題的工具
上面的工具只是發現問題,而不解決問題,另一類工具可以發現安全問題并且解決這些問題。例如Titan工具,它檢測運行系統,報告發現的問題,要求權限來修復,然后改正問題。
6.網絡安全掃描工具
有一類工具使用網絡通信信道來搜索其他主機的弱點。例如SATAN和nmap。Nmap工具能夠搜索開放的端口,甚至進行操作系統檢測。所有這些工具能夠為了防御目的或作為攻擊的一部分來檢測主機。
7.工具簡單評價
l chkacct
是一個檢查用戶帳號安全的工具。它檢查文件的權限并改正它們。它尋找那些可能被所有用戶可讀的文件并查看以點號開頭的文件。另一方面,這個GNU許可的工具需要一些配置(參見chkacct.src)。要查看更多信息,請看:
下載:
l COPS(推薦)
是報告系統的配置錯誤以及其他信息的工具。
下載:
l Courtney
監測一個網絡,查明SATAN探索的結果,并試圖識別它們的來源。它從tcpdump獲得輸入并計算一臺機器在一個特定的時段內產生新的服務請求的次數。如果在該時間段內,一臺機器和大量的服務連接,Courtney就把該機器識別為一個潛在的SATAN主機。
下載:
l Internet Security Scanner
是一個多層次的安全掃描程序。它將質問特定IP地址范圍內的所有計算機,并針對幾個常見的系統漏洞來確定每臺計算機的安全狀況。它依賴公開的CERT和CIAC建議以及其他有關已知安全漏洞的信息。
下載:
l Merlin
是一個幫助用戶使用其他工具的perl程序。它為COPS1.04,Tiger2.2.3,Crack4.1和Tripwire1.2提供一個Web瀏覽器界面。Merlin使用一個只接收本地機利用任何一個空閑socket端口發送消息的HTTP服務器來為每一個會話產生一個“magic cookie”值。
更多信息:
下載:
l Nessus
是一個網絡安全掃描工具。它建立一個大量使用“plug-in”的客戶-服務器體系結構。它還有一個java客戶端。Nessus接收USENET的混合信息。使用新的安全工具,特別是網絡掃描程序時,一定要小心。
詳細請看:
l Nmap
是一個端口掃描工具。它能掃描整個網絡或一臺主機上的開放端口。還可以使用TCP/IP指印來識別一個遠程系統運行的是哪種操作系統。
詳細信息:
l Titan
作為一個安全學習工具,它能夠用來主動更正問題,或進行安全審計。它為服務器,防火墻和桌面系統準備了缺省的配置。
更多信息:
l SATAN(System Administrator’s Tool for Analyzing Networks)(推薦)
用來幫助系統管理員檢測安全。它也能被基于網絡的攻擊者用來搜索脆弱的系統。SATAN是為系統和管理員設計的一個安全工具。然而,由于它的廣泛性,易用性和掃描遠程網絡的能力,SATAN也可能因為好奇而被用來定位有弱點的主機。
SATAN包括一個有關網絡安全問題的檢測表,經過網絡查找特定的系統或者子網,并報告它的發現。它能搜索以下的弱點:
NFS——由無權限的程序或端口導出
NIS-——口令文件訪問
Rexd——是否被防火墻阻止
Sendmail——各種弱點
ftp——ftp, wu-ftpd或者tftp配置問題
遠程Shell的訪問——它是否被禁止或者隱藏
X windows——主機是否提供無限制的訪問
Modem——經過tcp沒有限制撥號訪問
報告包括改變配置、安裝bug修復工具、限制服務或者禁止服務的建議,以及每個問題的簡要描述。程序還有一個“探測模式”能搜索未指明的主機。
更多信息:
下載:
l Tiger(推薦)
是一個檢測已知安全問題的靈活工具。
下載:
以上工具是常用的漏洞檢測工具,讀者可以從中選擇一部分來測試自己的系統并修補發現的漏洞。