當前位置:工程項目OA系統(tǒng) > 泛普各地 > 江西OA系統(tǒng) > 南昌OA系統(tǒng) > 南昌OA信息化
利用Linux安全防護工具
Linux的安全防護離不開各種工具,Linux的開源性也促進了這些優(yōu)秀的安全防護工具的發(fā)展。
目前在Linux環(huán)境下的安全工具林林總總,種類繁多。本文精選一些比較常用的、具有代表性的加以介紹,它們包括系統(tǒng)管理工具和網(wǎng)絡管理工具。它們基本都是開源的,一般都隨著諸如Red Hat Linux、Debian Linux等發(fā)行套件而發(fā)布,一些發(fā)行套件里面沒有的,用戶可以按照本文所提供的方式下載使用。由于篇幅的關系,本文只對這些工具的用途、原理和使用作指導性的介紹,要了解更加詳細的使用情況,讀者可以根據(jù)文中的介紹去查找和使用。
協(xié)議分析工具——Ethereal
Ethereal是一個有名的網(wǎng)絡端口探測器,是可以在Linux、Solaris、SGI等各種平臺運行的網(wǎng)絡監(jiān)聽軟件,它主要是針對TCP/IP協(xié)議的不安全性對運行該協(xié)議的機器進行監(jiān)聽。其功能相當于Windows下的Sniffer,都是在一個共享的網(wǎng)絡環(huán)境下對數(shù)據(jù)包進行捕捉和分析,而且還能夠自由地為其增加某些插件以實現(xiàn)額外功能。
其最常用的功能是被攻擊者用來檢測被攻擊電腦通過23(telnet)和110(pop3)端口進行的一些明文傳輸數(shù)據(jù),以輕松得到用戶的登錄口令和郵件賬號密碼。一般說來,Ethereal基本上是為破壞者所利用的工具,而對于網(wǎng)絡管理員來說,也可以通過捕包分析,來確定一些異常的流量和局域網(wǎng)內(nèi)部的非正常用戶與外界的通信,比如說對于現(xiàn)在比較占用網(wǎng)絡帶寬的諸如Bit Torrent 等P2P應用軟件流量,通過使用該軟件確定這些流量,網(wǎng)絡管理員就可以使用流量控制(TC)的方法來規(guī)范、合理的分配帶寬資源,提高網(wǎng)絡的利用率。
ethereal可以在http://www.ethereal
.com/download.html上下載,該軟件有極其方便和友好的圖形用戶界面,并且能夠使得用戶通過圖形界面的配置和選擇,針對多塊網(wǎng)卡、多個協(xié)議進行顯示,效果非常好。目前最新版本為:ethereal 0.10.12。
# cp ethereal-0.10.12.tar.bz2 /usr/local/src/
# cd /usr/local/src/
# bzip2 -d ethereal-0.10.12.tar.bz2
# tar xvf ethereal-0.10.12.tar
另外,同Tcpdump一樣,在編譯Ethereal之前應先確定已經(jīng)安裝pcap庫(libpcap),這是編譯Ethereal時所必需的。如果該庫已經(jīng)安裝,就可以執(zhí)行下面的命令來編譯并安裝Ethereal:
# cd ethereal-0.10.12
# ./configure
# make
# make install
當編譯并安裝好Ethereal后,就可以執(zhí)行“ethereal”命令來啟動Ethereal。在用Ethereal截獲數(shù)據(jù)包之前,應該為其設置相應的過濾規(guī)則,可以只捕獲感興趣的數(shù)據(jù)包。Ethereal使用與Tcpdump相似的過濾規(guī)則,并且可以很方便地存儲已經(jīng)設置好的過濾規(guī)則。
Ethereal和其他的圖形化嗅探器使用基本類似的界面,整個窗口被分成三個部分:最上面為數(shù)據(jù)包列表,用來顯示截獲的每個數(shù)據(jù)包的總結性信息;中間為協(xié)議樹,用來顯示選定的數(shù)據(jù)包所屬的協(xié)議信息;最下邊是以十六進制形式表示的數(shù)據(jù)包內(nèi)容,用來顯示數(shù)據(jù)包在物理層上傳輸時的最終形式。使用Ethereal可以很方便地對截獲的數(shù)據(jù)包進行分析,包括該數(shù)據(jù)包的源地址、目的地址、所屬協(xié)議等。
網(wǎng)絡端口掃描工具——nmap
nmap是用來對一個比較大的網(wǎng)絡進行端口掃描的工具,它能檢測該服務器有哪些TCP/IP端口目前正處于打開狀態(tài)。用戶可以運行它來確保和查證系統(tǒng)目前打開了哪些端口和外界進行通信,從而禁止掉不該打開的不安全的端口號,比如一些特別占用帶寬的P2P端口和一些具有漏洞的應用端口。nmap設計的初衷是系統(tǒng)管理員可以方便地了解自己的網(wǎng)絡運行情況,例如有多少臺主機在運行、分別提供什么樣的服務等。因此,它掃描的速度非???,尤其適合大型網(wǎng)絡。在對網(wǎng)絡進行掃描時,nmap主要利用ICMP echo探測主機是否開啟。nmap的主頁為:http://www.insecure.org/nmap/index.html,目前網(wǎng)上最新版本為:nmap-3.93.tar.bz2,可按照如下步驟進行安裝:
#bzip2 -cd nmap-3.93.tar.bz2 | tar xvf -
#cd nmap-3.93
#./configure
#make
#make install
下面給出一個探測本機的簡單例子:
# nmap 127.0.0.1
Starting nmap V. 2.54BETA22 ( www.insecure.org/nmap/ )
Interesting ports on localhost (127.0.0.1):
(The 1540 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
2401/tcp open cvspserver
Nmap run completed -- 1 IP address (1 host up) scanned in 0 seconds
上面通過查看本機的端口使用情況,發(fā)現(xiàn)該機器打開了22以及2401端口,且都為TCP服務,另外,1540端口也為該軟件掃描到,但是該端口的狀態(tài)為關閉,所以沒有列出來。當然,該軟件的功能很強大,還有很多復雜和高級的選項,用戶可以自己到該軟件的主頁上學習。
密碼分析工具——John the ripper
在Linux中,密碼以hash格式被存儲,用戶不能反向從該hash數(shù)據(jù)表中分析出密碼,因為該hash函數(shù)是單向的。但是,用戶可以對一組單詞進行hash加密,然后和保存的密碼進行比較,如相同就說明猜測出密碼。所以要選取一個很難被猜測的、非常有效的密碼是非常關鍵的。一般地來說,決不能用字典存在的某個單詞作為密碼,那是相當容易被猜測出來的。另外也不能用一些常見的有規(guī)則性的字母數(shù)字排列作為密碼。
為了驗證用戶所選取的密碼是否能由較高的安全性,我們可以使用一些Linux下的密碼分系統(tǒng)工具來對這些密碼進行分析確認,具有一定的指導意義。在這當中,John the ripper是一個經(jīng)典、高效的易于使用的密碼猜測程序,其主頁為:http://www.openwall.com/john/,目前最新版本為John the Ripper 1.6。下面給出其安裝步驟:
下載tar.gz格式的Unix版的程序,然后執(zhí)行如下命令即可:
#tar xzvf john-1.6.tar.gz
#cd john-1.6/src
#make linux-x86-any-a.out
#cd john-1.6/run
上述命令完成了該軟件的解壓縮以及編譯,使用起來非常方便。在進行密碼分析的過程中,有如下幾個常用選項:
● Single:破解單一口令文件。
● Worldlist:file:利用該軟件使用詞典文件破解口令,也叫字典攻擊。
● Rules:使用規(guī)則庫,允許該軟件對詞典單詞做相應變化來破解口令。
● Incremental:根據(jù)john-1.6/run目錄下的john.ini文件中定義的參數(shù)啟用遞增或者強行模式。
● Restore:file:繼續(xù)一次被中斷的破解過程。
● Session:file:允許定義存儲破解信息的文件名。
● Show:顯示上次破解過程所破解出來的口令信息。
在實際的密碼分析過程中,推薦如下步驟和方法:
(1)首先,運行以下命令看破解了哪些口令:
#john——single 待破解的口令文件名
#john——show
(2)然后,采用字典攻擊,破解口令:
#john——w:字典名 待破解的口令文件名
#john——show
(3)如果上述字典攻擊不成功,則進行強行攻擊:
#john——待破解的口令文件名
#john -show
日志檢查工具——Logcheck
Logcheck是用來自動檢查系統(tǒng)安全入侵事件和非正?;顒佑涗浀墓ぞ?,它分析各種Linux下的日志文件,比如前文所介紹過的/var/log/messages、/var/log/secure、/var/log/maillog等等,然后生成一個可能有安全問題的問題報告自動發(fā)送電子郵件給管理員。能設置它基于每小時或者每天用crond來自動運行。
Logcheck是一個軟件包,用來實現(xiàn)自動檢查日志文件,以發(fā)現(xiàn)安全入侵和不正常的活動。Logcheck用logtail程序來記錄讀到的日志文件的位置,下一次運行的時候從記錄下的位置開始處理新的信息。所有的源代碼都是公開的,實現(xiàn)方法也非常簡單。
Logcheck SHELL腳本和logtail.c程序用關鍵字查找的方法進行日志檢測。在這兒提到的關鍵字就是指在日志文件中出現(xiàn)的關鍵字,會觸發(fā)向系統(tǒng)管理員發(fā)的報警信息。Logcheck的配置文件自帶了缺省的關鍵字,適用于大多數(shù)的Unix系統(tǒng)。但是最好還是自己檢查一下配置文件,看看自帶的關鍵字是否符合自己的需要。
Logcheck腳本是簡單的SHELL程序,logtail.c程序只調用了標準的ANSI C函數(shù)。Logcheck要在cron守護進程中配置,至少要每小時運行一次。腳本用簡單的grep命令來從日志文件檢查不正常的活動,如果發(fā)現(xiàn)了就發(fā)送電子郵件給管理員。如果沒有發(fā)現(xiàn)異?;顒?,就不會收到電子郵件。
logcheck工具的主頁在http://logcheck.org/,用戶可以在上面下載其最新版本:logcheck-1.1.1.tar.gz。下載后用tar xvfz logcheck-1.1.1.tar.gz命令解開到一臨時目錄下,然后用make linux自動生成相應的文件到/usr/local/etc、/usr/local/bin/等目錄下。用戶可能需要更改設置,如發(fā)送通知到誰的郵件賬號等,默認發(fā)送到root。
利用logcheck工具分析所有l(wèi)ogfile,避免每天經(jīng)常手動地檢查它們,節(jié)省了時間,提高了效率。
后門工具——rootkit
rootkit是一種比普通木馬后門更為隱秘和危險的木馬后門。它主要通過替換系統(tǒng)文件來達到目的,這樣就會更加隱蔽,使檢測變得比較困難。傳統(tǒng)的rootkit主要針對Unix平臺,例如Linux、AIX、SunOs等操作系統(tǒng),有些rootkit可以通過替換DLL文件或更改系統(tǒng)來攻擊Windows平臺。rootkit并不能讓攻擊者直接獲得權限,相反它是在用戶通過各種方法獲得權限后才能使用的一種保護權限的措施,在攻擊者獲取系統(tǒng)根權限(根權限即root權限,是Unix系統(tǒng)的最高權限)以后,rootkit提供了一套工具用來建立后門和隱藏行跡,從而讓攻擊者保住權限,在任何時候都可以使用root權限登錄到系統(tǒng)。
rootkit主要有兩種類型:文件級別和系統(tǒng)級別,下面分別加以簡要介紹。
1.文件級rootkit
rootkit威力很大,可以輕而易舉地在系統(tǒng)中建立后門。最一般的情況就是它們首先進入系統(tǒng)然后修改系統(tǒng)的重要文件來達到隱藏自己的目的。合法的文件被木馬程序替代。通常情況下,合法的程序變成了外殼程序,而其內(nèi)部就是隱藏著的后門程序。下面列出的程序就是經(jīng)常被木馬程序利用掩護自己的Linux rootkit:login、 ls、ps、 find、who、 netstat。
其中,當我們訪問Linux時(不管是本地還是遠程登錄),/bin/login程序都會運行,系統(tǒng)將通過/bin/l ogin來收集并核對用戶的賬號和密碼。rootkit使用一個帶有根權限后門密碼的/bin/login來替換系統(tǒng)的/bin/login,這樣攻擊者輸入根權限后門的密碼,就能進入系統(tǒng)。就算管理員更改了原來的系統(tǒng)密碼或者把密碼清空,仍能夠使用后門密碼以根用戶身份登錄。在攻入Linux系統(tǒng)后,入侵者通常會進行一系列的攻擊動作,如安裝嗅探器收集重要數(shù)據(jù),而Linux中也會有些系統(tǒng)文件監(jiān)視這些動作,比如ifconfig等系統(tǒng)命令。所以,為了避免被發(fā)現(xiàn),攻擊者會想方設法替換一下這些系統(tǒng)文件,通常被rootkit替換的系統(tǒng)程序有l(wèi)ogin、ifconfig、du、find、ls、netstat、ps等。這些命令都能在正常情況下查看系統(tǒng)一些重要的進程、文件和網(wǎng)絡情況的信息,而一旦被替換,則無法發(fā)現(xiàn)rootkit已經(jīng)在系統(tǒng)中工作。所以,如果攻擊者將所有用戶經(jīng)常使用的命令都替換了的話,他不但能在系統(tǒng)中建立后門,而且還可以隱藏自己的蹤跡。所以通過rootkit可以達到雙重目的,攻擊者可以隨時進入系統(tǒng),并且我們還不能對他的行為進行檢測。
rootkit功能如此強大,所以必須好好進行防范。實際上,最有效的防御方法是定期對重要系統(tǒng)文件的完整性進行核查,這類工具很多,像Tripwire就是一個非常不錯的文件完整性檢查工具。該軟件可以檢測出一段時間內(nèi),系統(tǒng)中哪些文件發(fā)生了變化,如果一旦被替換,那么肯定能夠反映出來。(該軟件的使用方法請參閱本報2005 年4月18日第14期C10版《使用Tripwire保護Linux文件系統(tǒng)》一文,或訪問www2.ccw.com.cn/05/0514/d/0514d04_1.asp)而一但使用該軟件發(fā)現(xiàn)系統(tǒng)遭受到rootkit攻擊,必須完全重裝所有的系統(tǒng)文件、部件和程序,以確保安全性。
下面給出一些目前常用的文件級rootkit工具,用戶可以選擇使用:TrojanIT、Lrk5、Ark、Rootkit(有很多個不同的版本)、TK。
2.內(nèi)核級rootkit
在大多數(shù)操作系統(tǒng)中(各種Unix和Windows),內(nèi)核是操作系統(tǒng)最基本的部件,它控制著對網(wǎng)絡設備、進程、系統(tǒng)內(nèi)存、磁盤等的訪問。例如當你打開一個文件時,打開文件的請求被發(fā)送到內(nèi)核,內(nèi)核負責從磁盤得到文件的比特位并運行文件瀏覽程序。內(nèi)核級rootkit使攻擊者獲得對系統(tǒng)底層的完全控制權。攻擊者可以修改系統(tǒng)內(nèi)核,大多數(shù)內(nèi)核級rootkit都能進行執(zhí)行重定向,即截獲運行某一程序的命令,將其重定向到入侵者所選中的程序并運行此程序。也就是說,用戶或管理員要運行程序A,被修改過的內(nèi)核假裝執(zhí)行A,實際卻執(zhí)行了程序B。
對于工作在文件級的rootkit來說,它們非常容易被檢測到。而內(nèi)核級rootkit工作在一個很低的內(nèi)核級上。它們經(jīng)常依附在內(nèi)核上,并沒有修改系統(tǒng)的任何文件,于是tripwire工具就不能檢測到它的使用。因為它并沒有對系統(tǒng)的任何文件進行修改,攻擊者可以對系統(tǒng)為所欲為而不被發(fā)現(xiàn)。系統(tǒng)級rootkit為攻擊者提供了很大的便利,并且修復了文件級rootkit的一些錯誤。所以建議用戶要做好前期的安全防范工作。例如將最小權限的原則應用到整個系統(tǒng)當中,這樣攻擊者就很難在系統(tǒng)中運行內(nèi)核級的rootkit,因為運行它首先需要取得root權限。另外,可以模仿攻擊者的攻擊方式來確認系統(tǒng)是否已經(jīng)受到內(nèi)核級rootkit的威脅。以系統(tǒng)管理員的身份來運行攻擊者一般需要運行的命令,如果系統(tǒng)對這些命令有所反應,那么基本可以確定系統(tǒng)已經(jīng)被入侵了。不過做好前期的防范工作始終是最重要的,事后的彌補比較困難,而且顯得有些捉襟見肘。
下面給出一些目前常用的內(nèi)核級rootkit工具,用戶可以選擇使用:Knark、Adore。
由于上述的rootkit的工具種類繁多,所以這里不再介紹其安裝以及使用的步驟,網(wǎng)上有很豐富的資源,讀者可以參看。
系統(tǒng)管理工具——sudo
sudo是允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個工具,如halt、reboot、su等等。這樣不僅減少了root用戶的登陸和管理時間,同樣也提高了安全性。如果用戶在系統(tǒng)中需要每天以root身份做一些日常工作,經(jīng)常執(zhí)行一些固定的幾個只有root身份才能執(zhí)行的命令,那么用sudo是非常適合的。
sudo不是對shell的一個代替,它是面向每個命令的。它的特性主要有這樣幾點:
● sudo能夠限制用戶只在某臺主機上運行某些命令。
● sudo提供了豐富的日志,詳細地記錄了每個用戶干了什么。它能夠將日志傳到中心主機或者日志服務器。
● sudo使用時間戳文件來執(zhí)行類似的“檢票”系統(tǒng)。當用戶調用sudo并且輸入它的密碼時,用戶獲得了一張存活期為5分鐘的票(這個值可以在編譯的時候改變),過了這個時間,用戶所獲得的權限將失效。
● sudo的配置文件是sudoers文件,它允許系統(tǒng)管理員集中管理用戶的使用權限和使用的主機。它所存放的位置默認是在/etc/sudoers,屬性必須為0411。
sudo的主頁為:http://www.sudo.ws/sudo/,當前最新的穩(wěn)定版本為sudo 1.6.8p9??梢詮脑摼W(wǎng)站下載文件sudo-1.6.8p9.tar.gz后進行解壓安裝,如下步驟所示:
#tar xzvf sudo-1.6.8p9.tar.gz
#cd sudo-1.6.8p9
在筆者所使用的版本中,將該軟件解壓后即可使用,也不需要編譯,直接進入sudo-1.6.8p9中使用sudo命令即可。如下所示:
#[root@localhost root]# su liyang
[liyang@localhost root]$ sudo reboot
Password:******
上述例子中,用戶liyang使用sudo命令來行使root的權限,重新啟動系統(tǒng)。因為通常情況下,一般用戶并沒有這個權限。系統(tǒng)提示輸入該用戶的密碼加以確認。另外,為了達到該目的,還需要root用戶修改一下上述的sudo的配置文件sudoers,將其中的相關選項改為如下內(nèi)容:
# User privilege specification
root ALL=(ALL) ALL
liyang ALL=(ALL) ALL
這里,liyang用戶具有和root同樣的權限,當然在實際應用中不能這么做,而只能將部分權限賦給用戶。
其他工具
本文上面介紹的幾款安全工具是在實際應用中經(jīng)常使用的,他們的功能非常強大。在當前環(huán)境下,這些工具以及工具的變種層出不窮。比如一些被黑客用來進行攻擊的后門和特洛伊木馬工具、Sadmind攻擊工具、DoS攻擊工具(Targa)、DdoS攻擊工具等等。雖然這些是黑客工具,但是也可以用來對系統(tǒng)某方面的漏洞進行測試攻擊,從而采取打補丁、升級系統(tǒng)、加固系統(tǒng)的方法來保障系統(tǒng)安全。特別是系統(tǒng)管理員要有這種超前的意識,應該多采用和有針對性地選用一些黑客攻擊工具,對系統(tǒng)的安全進行分析、評價和保護,這是一項長期的、艱巨的任務。
雖然一些工具是黑客工具,但是也可以用來對系統(tǒng)某方面的漏洞進行測試攻擊,從而采取打補丁、升級系統(tǒng)、加固系統(tǒng)的方法來保障系統(tǒng)安全。系統(tǒng)管理員要有一種超前的意識,應該多采用和有針對性地選用一些黑客攻擊工具,對系統(tǒng)的安全進行分析、評價和保護,這是一項長期的、艱巨的任務。(ccw)
- 1什么驅動信息系統(tǒng)
- 2網(wǎng)站交互式功能利弊談
- 3OA系統(tǒng)發(fā)力服裝行業(yè)應用
- 4信息安全沒有在十全十美的方案
- 5網(wǎng)絡終端問題快速定位
- 6紡織信息化的快速反應技術
- 7春來選OA 專家有話說
- 8OA軟件選型要把持好三個度
- 9OA軟件在線考試特色及功能概要
- 10OA,打開企業(yè)高效管理之門
- 11泛普軟件:互聯(lián)網(wǎng)改變了啥 OA市場半年度報告
- 12動態(tài)VPN技術
- 13探尋安全創(chuàng)新切入點
- 14識破幾種電子郵件詐騙術
- 15云、協(xié)作、大數(shù)據(jù):電子政務三大發(fā)展方向
- 16OWA使用十大竅門
- 17南昌OA系統(tǒng)采購申請單與ERP數(shù)據(jù)對接
- 18如何創(chuàng)建Web服務
- 192006年中小企業(yè)服務器的發(fā)展與變化
- 20通用網(wǎng)址助推小微貸款“上網(wǎng)”
- 212013年OA市場競爭熱點分析
- 22OA辦公系統(tǒng)選購法則:理性、務實,永遠
- 23OA軟件除了產(chǎn)品本身,售后服務也是一大保障
- 24南昌OA市場下一個價值連城的秘密在哪里?
- 25防火墻的布署技巧
- 26如何改善無線連接質量
- 27泛普軟件:智能化撲面而來 智OA蓄勢崛起
- 28網(wǎng)管如何管好客戶端
- 29解決企業(yè)網(wǎng)絡隱患的捷徑
- 30設置密碼的十四個訣竅
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓