Debian GNU/Linux下的入侵檢測系統
摘要:
今天,許多信息都是存儲在計算機系統中,因此很容易通過計算機網絡遠程訪問他們並獲取數據,無論是財政,行政,軍事,工業還是金融信息。不幸的是,這些數據很容易被一些惡意的人獲取並摧毀,因為他們不知道什麼叫道德。
關於道德方面,我們無能為力,在本文中我將談談在Debian GNU/Linux系統使用一些工具來發現和跟蹤入侵者。
介紹
當我們選擇了Linux系統之後,我們得考慮在那麼多個發行版中到底使用哪個版本,他們許多都是基於RedHat,例如Conectiva (巴西), Hispa source(西班牙), Mandrake (法國), SuSE (德國), Caldera和其他的版本都使用RPM 包管理器,而Slackware更象傳統的Unix盡量使用.tgz包,他們幾乎都是商業公司開發的,但Debian例外。 Debian提供了一個叫DPKG的包管理器幫助我們自動在Internet上查找和升級軟件,檢查信任關系,這樣使系統管理更加簡單並且可以及時的打上安全補丁。
為什麼使用Debian GNU/Linux ?
Debian也有一些很重要的功能:
1) 他不包含商業意圖並且不按照市場規則運作。
2) 他有一個非常優秀的漏洞跟蹤系統,問題將在48小時內得到解決。
3) 他從一開始就是想開發一個完善和可信的操作系統。
4) 他是由全球的志願者一起開發的。
每個新的版本都對一些新的硬件體系提供支, 現在他支持Alpha, ARM, HP PA-RISC, Intel x86, Intel IA-64, Motorola 680x0, MIPS, MIPS (DEC), Power PC, IBM S/390, Sparc並且可以工作在Sun UltrASParc和Hitachi SuperH。他是Linux系統中支持硬件體系最多的平台。
在現有的Debian發行版中,有很多實時入侵檢測工具可以幫助我們檢測到惡意的連接。他有兩種類型,一個是監視整個網絡的(NIDS),另外一類是監視單個主機的(HIDS)。
主機工具
我們使用PortSentry來發現端口掃描,TripWire來檢測系統完整性和使用LogSentry做日志分析。第一個和最後一個工具都是Psionic Technologies的TriSentry套件。
端口掃描檢測
PortSentry監視我們系統的端口,當他發現一個非正常的連接請求的時候,他可以采取一些行動(一般是阻攔)。
他的主頁在http://www.psionic.com/prodUCts/portsentry.Html 同時PortSentry也支持Solaris, BSD, AIX, SCO, Digital Unix, HP-UX, and Linux系統.
在Debian中,輸入下面的命令就可以把他裝上了:
apt-get install portsentry
有三種不同的模式可供選擇:基本模式,隱蔽模式和高級模式。他的配置文件在/usr/local/psionic/portsentry/portsentry.conf file
他的主要參數如下:
TCP_PORTS,這裡你定義在基本模式或者隱蔽模式下需要控制的端口,作者按照不同的控制級別提供了三個端口列表,最大的端口數量是64個。
UDP_PORTS,和上面的相似,不同的只是UDP端口
ADVANCED_PORTS_TCP, ADVANCED_PORTS_UDP, 在高級模式中可能會用到高端口檢測,最大可以定義到65535,但是建議不要超過1024,以免誤報。
ADVANCED_EXCLUDE_TCP, ADVANCED_EXCLUDE_UDP,提供了一個排除列表,在高級模式中,裡面的端口將不會被監視。在這裡,你可以寫上你提供特殊服務的端口,但不要是真正的服務,例如: ident
IGNORE_FILE, 在這裡我們可以寫上需要忽略IP的文件的位置,在這裡可以找到回環地址,你同樣可以在這裡添加一個本地地址。
KILL_ROUTE,在這裡我們可以添加一個命令來阻攔惡意的主機,例如: iptables -I INPUT -s $TARGET$ -j DROP,$TARGET$指的是惡意主機.
KILL_RUN_CMD, 在阻攔惡意主機之前執行的命令.
SCAN_TRIGGER, 定義超過多少次攻擊才啟動報警.
PORT_BANNER, 在端口被連接之後顯示的banner信息
在配置完之後,你最好使用下面的參數執行其中的一中模式:TCP是使用-tcp (基本模式), -stcp (隱蔽模式)和-atcp (高級模式);UDP就相應的改為 -udp, -sudp, -audp.
完整性檢查
可以使用TripWire進行系統完整性檢查,他的主頁在http://www.tripwire.org他的linux版本是免費的而Windows NT, Solaris, AIX and HP-UX的版本則是商業化的.
在Debian中,我們使用下面的命令安裝他:
apt-get install tripwire
保存信息需要兩個密鑰: 第一個是"site key",他是用來加密策略和配置文件的,另外一個是"local key"是用來加密檢測的信息的。
一個准備好的配置文件在/etc/tripwire/twpol.txt ,你可以使用下面的命令初始化他:
twadmin -m P /etc/tripwire/twpol.txt
我們使用下面的命令創建一個當前文件系統初始的數據庫:
tripwire -m i 2
檢測系統完整性就使用下面的命令:
tripwire -m c
使用下面的命令刪除配置文件,以免被入侵者發現了你改動了什麼文件:
rm /etc/tripwire/twcfg.txt /etc/tripwire/twpol.txt
如果你需要重新創建配置文件,你可以使用下面的命令:
twadmin -m p > /etc/tripwire/twpol1.txt twadmin -m f > /etc/tripwire/twcfg.txt