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


