Linux的安全防護離不開各種工具,Linux的開源性也促進了這些優秀的安全防護工具的發展。
目前在Linux環境下的安全工具林林總總,種類繁多。本文精選一些比較常用的、具有代表性的加以介紹,它們包括系統管理工具和網絡管理工具。它們基本都是開源的,一般都隨著諸如Red Hat Linux、Debian Linux等發行套件而發布,一些發行套件里面沒有的,用戶可以按照本文所提供的方式下載使用。由于篇幅的關系,本文只對這些工具的用途、原理和使用作指導性的介紹,要了解更加詳細的使用情況,讀者可以根據文中的介紹去查找和使用。
協議分析工具——Ethereal
Ethereal是一個有名的網絡端口探測器,是可以在Linux、Solaris、SGI等各種平臺運行的網絡監聽軟件,它主要是針對TCP/IP協議的不安全性對運行該協議的機器進行監聽。其功能相當于Windows下的Sniffer,都是在一個共享的網絡環境下對數據包進行捕捉和分析,而且還能夠自由地為其增加某些插件以實現額外功能。
其最常用的功能是被攻擊者用來檢測被攻擊電腦通過23(telnet)和110(pop3)端口進行的一些明文傳輸數據,以輕松得到用戶的登錄口令和郵件賬號密碼。一般說來,Ethereal基本上是為破壞者所利用的工具,而對于網絡管理員來說,也可以通過捕包分析,來確定一些異常的流量和局域網內部的非正常用戶與外界的通信,比如說對于現在比較占用網絡帶寬的諸如Bit Torrent 等P2P應用軟件流量,通過使用該軟件確定這些流量,網絡管理員就可以使用流量控制(TC)的方法來規范、合理的分配帶寬資源,提高網絡的利用率。
Ethereal極其方便和友好的圖形用戶界面,并且能夠使得用戶通過圖形界面的配置和選擇,針對多塊網卡、多個協議進行顯示,效果非常好。目前最新版本為:Ethereal 0.10.12。
|
另外,同Tcpdump一樣,在編譯Ethereal之前應先確定已經安裝pcap庫(libpcap),這是編譯Ethereal時所必需的。如果該庫已經安裝,就可以執行下面的命令來編譯并安裝Ethereal:
|
當編譯并安裝好Ethereal后,就可以執行“ethereal”命令來啟動Ethereal。在用 Ethereal截獲數據包之前,應該為其設置相應的過濾規則,可以只捕獲感興趣的數據包。Ethereal使用與Tcpdump相似的過濾規則,并且可以很方便地存儲已經設置好的過濾規則。
Ethereal和其他的圖形化嗅探器使用基本類似的界面,整個窗口被分成三個部分:最上面為數據包列表,用來顯示截獲的每個數據包的總結性信息;中間為協議樹,用來顯示選定的數據包所屬的協議信息;最下邊是以十六進制形式表示的數據包內容,用來顯示數據包在物理層上傳輸時的最終形式。使用Ethereal可以很方便地對截獲的數據包進行分析,包括該數據包的源地址、目的地址、所屬協議等。
網絡端口掃描工具——Nmap
Nmap是用來對一個比較大的網絡進行端口掃描的工具,它能檢測該服務器有哪些TCP/IP端口目前正處于打開狀態。用戶可以運行它來確保和查證系統目前打開了哪些端口和外界進行通信,從而禁止掉不該打開的不安全的端口號,比如一些特別占用帶寬的P2P端口和一些具有漏洞的應用端口。nmap設計的初衷是系統管理員可以方便地了解自己的網絡運行情況,例如有多少臺主機在運行、分別提供什么樣的服務等。因此,它掃描的速度非??欤绕溥m合大型網絡。在對網絡進行掃描時,Nmap主要利用ICMP echo探測主機是否開啟。Nmap目前網上最新版本為: nmap-3.93.tar.bz2,可按照如下步驟進行安裝:
|
下面給出一個探測本機的簡單例子:
|
上面通過查看本機的端口使用情況,發現該機器打開了22以及2401端口,且都為TCP服務,另外,1540端口也為該軟件掃描到,但是該端口的狀態為關閉,所以沒有列出來。當然,該軟件的功能很強大,還有很多復雜和高級的選項,用戶可以自己到該軟件的主頁上學習。
密碼分析工具——John the ripper
在Linux中,密碼以hash格式被存儲,用戶不能反向從該hash數據表中分析出密碼,因為該hash函數是單向的。但是,用戶可以對一組單詞進行hash加密,然后和保存的密碼進行比較,如相同就說明猜測出密碼。所以要選取一個很難被猜測的、非常有效的密碼是非常關鍵的。一般地來說,決不能用字典存在的某個單詞作為密碼,那是相當容易被猜測出來的。另外也不能用一些常見的有規則性的字母數字排列作為密碼。
為了驗證用戶所選取的密碼是否能由較高的安全性,我們可以使用一些Linux下的密碼分系統工具來對這些密碼進行分析確認,具有一定的指導意義。在這當中,John the ripper是一個經典、高效的易于使用的密碼猜測程序,目前最新版本為 John the Ripper 1.6。下面給出其安裝步驟:
下載tar.gz格式的Unix版的程序,然后執行如下命令即可:
|
上述命令完成了該軟件的解壓縮以及編譯,使用起來非常方便。在進行密碼分析的過程中,有如下幾個常用選項:
● Single:破解單一口令文件。
● Worldlist:file:利用該軟件使用詞典文件破解口令,也叫字典攻擊。
● Rules:使用規則庫,允許該軟件對詞典單詞做相應變化來破解口令。
● Incremental:根據john-1.6/run目錄下的john.ini文件中定義的參數啟用遞增或者強行模式。
● Restore:file:繼續一次被中斷的破解過程。
● Session:file:允許定義存儲破解信息的文件名。
● Show:顯示上次破解過程所破解出來的口令信息。
在實際的密碼分析過程中,推薦如下步驟和方法:
(1)首先,運行以下命令看破解了哪些口令:
|
(2)然后,采用字典攻擊,破解口令:
|
(3)如果上述字典攻擊不成功,則進行強行攻擊:
|