linux下的入侵監(jiān)測系統(tǒng)LIDS_第1頁
linux下的入侵監(jiān)測系統(tǒng)LIDS_第2頁
linux下的入侵監(jiān)測系統(tǒng)LIDS_第3頁
linux下的入侵監(jiān)測系統(tǒng)LIDS_第4頁
linux下的入侵監(jiān)測系統(tǒng)LIDS_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

linux下的入侵監(jiān)測系統(tǒng)LIDS

?文章提交:shuer信息來源:網(wǎng)安中國(bbs。nschin)??最近我要畢業(yè)設(shè)計(jì)。可能要做一個(gè)ids的系統(tǒng),全部找到了LIDS,現(xiàn)在我翻譯了LIDS的一個(gè)HOW-TO文檔,但是由于時(shí)間太緊,我匆忙的翻譯完了。感覺有好多東西不是很正確,所以發(fā)表出來.讓大家一起來幫助我找錯(cuò)誤,呵呵。大家也一起提高一下.我不知道有沒有人已經(jīng)翻譯了這個(gè)文檔,不過我這個(gè)是我自己翻譯的.可能錯(cuò)誤很多。另外,也可以到我伴侶的網(wǎng)站下載我打包的原英文的文擋。HYPERLINK"http://www.caiduo。com/lids—howoto。zip"\t”_blank”www。caiduo。com/lids-howoto。zip?

內(nèi)容

?l內(nèi)容?l什么是LIDS

l編譯lidsadm?l安裝lidsadm?l得到成熟的MD-160加密口令?l修補(bǔ)一個(gè)內(nèi)核?l配置內(nèi)核?1。選擇描述

l運(yùn)行無保護(hù)程序時(shí)發(fā)出警告

l在安裝LIDS前不要運(yùn)行無保護(hù)程序?l開啟鎖定子進(jìn)程功能?l盡量不要讓日志溢出?l允許轉(zhuǎn)換LIDS保護(hù)?l允許遠(yuǎn)程擁護(hù)來轉(zhuǎn)換LIDS保護(hù)?l允許任何程序來轉(zhuǎn)換LIDS保護(hù)?l允許重新引導(dǎo)配置文件?l隱藏一些已知的進(jìn)程?l可繼承的隱藏功能?l允許一些已知的進(jìn)程訪問/dev/mem(/xfree,等)

l允許一些已知的進(jìn)程訪問硬盤設(shè)備?l允許一些已知的進(jìn)程卸載設(shè)備?l允許一些已知的進(jìn)程訪問io端口?l可繼承的卸載功能

l允許一些已知的進(jìn)程殺死子進(jìn)程?l可繼承的殺進(jìn)程功能

補(bǔ)丁填充域

如何安裝UPS

l編譯內(nèi)核并且安裝LIDS?l保護(hù)一些文件的平安

1.用lidsadm?2.用chattr?3.文件在啟動(dòng)的時(shí)候更新升級(jí)

lLIDS保護(hù)前的籌備?1.功能?lCAP_CHOWN

lCAP_DAC_OVERRIDE?lCAP_DAC_READ_SEARCH?lCAP_FOWNER?lCAP_FSETID?lCAP_FS_MASK

lCAP_KILL?lCAP_SETGID

lCAP_SETUID?lCAP_SETPCAP

lCAP_LINUX_IMMUTABLE?lCAP_NET_BIND_SERVEICE?lCAP_NET_BROADCAST?lCAP_NET_ADMIN?lCAP_NET_RAW

lCAP_IPC_LOCK

lCAP_IPC_OWNER

lCAP_SYS_MODULE

lCAP_SYS_RAWIO?lCAP_SYS_CHROOT?lCAP_SYS_PTRACE

lCAP_SYS_PACCT?lCAP_SYS_ADMIN?lCAP_SYS_BOOT?lCAP_SYS_NICE?lCAP_SYS_RESOURCE?lCAP_SYS_TIME?lCAP_SYS_TTY_CONFIG?1.選擇你要除區(qū)的功能

2。放置一個(gè)隱藏命令?3.如何確定平安的啟動(dòng)?l重起系統(tǒng)?l用LIDS工作

n例子:轉(zhuǎn)換LIDS

n例子:網(wǎng)絡(luò)管理?n例子:后臺(tái)管理?n例子:文件管理?l關(guān)于這個(gè)文檔?

?1.什么是LIDS

LIDS是支持Linux的入侵監(jiān)測防范系統(tǒng)。?這個(gè)就是LIDS-08.1pre1的how-to文檔。但是也適用于LIDS-0.8和0.8pre1,2,3,4。但是一些功能可能會(huì)不能實(shí)現(xiàn).?現(xiàn)在只支持i386體系。?這個(gè)東西的目的是保護(hù)linux系統(tǒng)不被root入侵,并在它自己的內(nèi)核禁止一些系統(tǒng)調(diào)用.如果你要管理你的系統(tǒng),你可以先禁止LIDS保護(hù),再來管理。

首先,要保護(hù)LIDS本身不會(huì)被root的入侵,我們假定兩件事情:?1.系統(tǒng)是平安的(沒有后門)直到LIDS第一次運(yùn)行.?2.你是唯一訪問過掌握終端的(你可以在lilo上加命令行,可以用急救內(nèi)核或是啟動(dòng)盤啟動(dòng))。??保護(hù)LIDS防止root入侵:?1,禁止模塊?2,禁止內(nèi)存訪問(/dev/mem,/dev/kmem,/dev/kcore)?3,禁止磁盤訪問(/dev/hdxx,/dev/sdxx)?4,保護(hù)每一個(gè)文件,包括啟動(dòng)進(jìn)程(lilo文件,內(nèi)核映象,后臺(tái),簡本,模塊)?5,禁止I/O端口的訪問(/dev/port,ioperm和iopl系統(tǒng)調(diào)用)?然后你就會(huì)想如何入侵監(jiān)測,LIDS供應(yīng)了以下功能:

1.記錄機(jī)會(huì)每一個(gè)拒絕的訪問?2。用只讀或是只能增加來保護(hù)程序或是日志不受root攻擊。?對(duì)于系統(tǒng)的保護(hù),LIDS供應(yīng)以下功能:

1。鎖定你的路由表,防火墻規(guī)章。

2.鎖定掛載操作?3.保護(hù)后臺(tái)信號(hào)?4.還有其他一些保護(hù)。。。?編譯lidsadm

要編譯lidsadm程序,進(jìn)入名目然后?make?你就會(huì)看到當(dāng)前lids的信息,這些主要是用來調(diào)試的目的,由于沒有這些功能或是一個(gè)正確的系統(tǒng)配置。沒有人能知道LIDS的當(dāng)前狀態(tài)。

安裝lidsadm

makeinstall?你必須保證你的/etc名目在你的/系統(tǒng)下。由于LIDS需要讀取/etc/lids。conf的文件。?得到一個(gè)RipeMD-160加密口令?vmlin1:~#lidsadm-P?MAKEPASSWD?enterpassword:?Verifyingenterpassword:?RipeMD-160encryptedpassword:46a1492cc2d43652409abfdbb047e4ae099a62f3

修補(bǔ)一個(gè)內(nèi)核?cd/usr/src/linux-linversion

patch—p1<lidshome/lids-version-linversion。patch?配置內(nèi)核?確定你選擇了Promptfordevelopmentand/orincompletecode/drivers?andSysctlsupport?for?LinuxIntrusionDetectionSystem-->?toappear.?

細(xì)節(jié)?l選擇描述?l運(yùn)行無保護(hù)程序時(shí)發(fā)出警告

l在安裝LIDS前不要運(yùn)行無保護(hù)程序?l開啟鎖定子進(jìn)程功能?l盡量不要讓日志溢出?l允許轉(zhuǎn)換LIDS保護(hù)

l允許遠(yuǎn)程擁護(hù)來轉(zhuǎn)換LIDS保護(hù)?l允許任何程序來轉(zhuǎn)換LIDS保護(hù)?l允許重新引導(dǎo)配置文件?l隱藏一些已知的進(jìn)程?l可繼承的隱藏功能?l允許一些已知的進(jìn)程訪問/dev/mem(/xfree,等)?l允許一些已知的進(jìn)程訪問硬盤設(shè)備?l允許一些已知的進(jìn)程訪問io端口?l允許一些已知的進(jìn)程卸載設(shè)備?l可繼承的卸載功能?l允許一些已知的進(jìn)程殺死子進(jìn)程?l可繼承的殺進(jìn)程功能??1。運(yùn)行無保護(hù)程序時(shí)發(fā)出警告?在沒有LIDS保護(hù)前(用lidsadm–I–caps…。。)運(yùn)行無保護(hù)程序時(shí)會(huì)發(fā)出警告,這個(gè)對(duì)檢測啟動(dòng)序列有很大幫助,但是他不會(huì)告知你哪個(gè)模塊被加載或是沒有被保護(hù)。這個(gè)功能還可以警告你是否有程序的弱點(diǎn)加到啟動(dòng)進(jìn)程里。,?

2.在安裝LIDS前不要運(yùn)行無保護(hù)程序?這個(gè)功能讓LIDS在沒有被保護(hù)前拒絕一些執(zhí)行。要意識(shí)到你可以阻止系統(tǒng)在不完全的lids.conf下啟動(dòng)。??3.開啟鎖定子進(jìn)程功能?你可以開啟這個(gè)功能用lidsadm(+LOCK_INIT_CHILDREN)這樣就會(huì)阻止任何人殺死用LIDS保護(hù)的父進(jìn)程的子進(jìn)程。你可以運(yùn)行l(wèi)idsadm命令用-LOCK_INIT_CHILDREN然后用+LOCK_INIT_CHILDREN,這樣,就滅有人能阻止它(拒絕服務(wù)器攻擊)或是重新用新的配置文件啟動(dòng)它.(重起或是kill—HUP).??4。盡量不要讓日志溢出?你可以定義相同內(nèi)容日志消滅的次數(shù)。如果在肯定時(shí)間內(nèi)有很多相同的日志,就不會(huì)在把他們存放到日志里面。這樣能避開日志溢出。

5.允許轉(zhuǎn)換LIDS保護(hù)

你可以啟動(dòng)轉(zhuǎn)換LIDS功能的開關(guān).但是這樣會(huì)降低平安性。不過可以便利系統(tǒng)的管理。?簡略過程是這樣:lidsadm讀取當(dāng)前的允許標(biāo)志。依據(jù)你的命令行升級(jí)它們,然后問你密碼。把他們配置到LIDS里面。如果密碼正確,允許標(biāo)準(zhǔn)就更新了。這時(shí)候會(huì)有一個(gè)報(bào)警在日志里。??6.要讓LIDS識(shí)別你的密碼。必必要給他一個(gè)RipeMD—160的指紋。這個(gè)會(huì)被lidsadm來計(jì)算。這個(gè)指紋格外難破解,就算有人訪問你的二進(jìn)制內(nèi)核,他們也不能得到你的密碼.?你可以培植密碼錯(cuò)誤的次數(shù)。如果超過就會(huì)被禁止登陸。每一次登陸的失敗會(huì)記錄到日志里。??7.允許遠(yuǎn)程擁護(hù)來轉(zhuǎn)換LIDS保護(hù)?如果你允許沒有登陸掌握終端的用戶開啟啟動(dòng)標(biāo)志的話,就選定這個(gè)功能。如果你已經(jīng)訪問了掌握終端。你可以禁止這個(gè)選項(xiàng),這樣遠(yuǎn)程的用戶就不能關(guān)閉LIDS,甚至他有密碼。?

8.允許任何程序來轉(zhuǎn)換LIDS保護(hù)?如果你選定這個(gè)功能,你可以允許除了/sbin/lidsadm來操作/proc/sys/lids/locks。我不認(rèn)為這個(gè)會(huì)有什么用處。??9.允許重新引導(dǎo)配置文件?選定這個(gè)功能就會(huì)編譯重新引導(dǎo)配置文件的代碼。每一次運(yùn)行+RELOAD_CONF參數(shù)給lidsadm,LIDS重新引導(dǎo)/etc/lids。conf和重讀dev/inode。?如果在重引導(dǎo)的時(shí)候出錯(cuò),內(nèi)核不會(huì)在意,就象它根本就沒有啟動(dòng)一樣,由于它認(rèn)為你看到了錯(cuò)誤并即使改正了.??10。隱藏一些已知的進(jìn)程?這個(gè)功能允許你給出一些程序的名目,而這些程序的進(jìn)程你可以不讓它在/proc里消滅。(這樣就不會(huì)在ps里看出)這不會(huì)影響平安.如果你不明白這是怎么做的,你也不需要知道它。?

11??衫^承的隱藏功能?隱藏的進(jìn)程的子進(jìn)程,也會(huì)被隱藏

?12。允許一些已知的進(jìn)程訪問/dev/mem(/xfree,等)?通過這個(gè)功能,你可以允許一些在允許進(jìn)程域下的進(jìn)程來訪問/dev/mem等。??13.允許一些已知的進(jìn)程訪問硬盤設(shè)備

如果一些程序由于不能寫到磁盤而中斷,但是你確實(shí)很需要它們。就可以開啟這個(gè)功能。填寫可訪問的進(jìn)程表。??14.允許一些已知的進(jìn)程訪問io端口?如果一些程序不能訪問io端口而中斷,但是你很確實(shí)很需要它們,你可以開啟這個(gè)功能,填寫可訪問的進(jìn)程表。?

15.允許一些已知的進(jìn)程卸載設(shè)備?如果你需要你的系統(tǒng)可以自動(dòng)關(guān)閉,(如在ups下)你需要允許一些程序來卸載設(shè)備。??16.可繼承的卸載功能?選定這個(gè)選項(xiàng)允許子程序來卸載設(shè)備。

?17.允許一些已知的進(jìn)程殺死子進(jìn)程

如果你用init的子進(jìn)程鎖定功能并且讓你的系統(tǒng)平滑的自動(dòng)關(guān)閉,你必須允許一個(gè)進(jìn)程來殺死后臺(tái)程序,??18.可繼承的殺進(jìn)程功能

選定這個(gè)可以允許子程序來殺死鎖定的子init進(jìn)程.??1。補(bǔ)丁填充域

還有一些特殊列表,如:?/usr/local/sbin/loginlog;/usr/local/sbin/trafficlog;/sbin/mgetty?或

/usr/X11R6/XF86_SVGA

注意這些有特殊權(quán)利的程序可以用LIDS的lidsadm來聲明只讀來保護(hù).

注意LIDS會(huì)在內(nèi)核啟動(dòng)的時(shí)候努力去得到這些文件的/dev/inode數(shù),因此那些沒有在根文件系統(tǒng)的程序是不會(huì)被LIDS找到的,也就不會(huì)得到它們的權(quán)限。有可以用+RELOAD_CONF?選項(xiàng)隱藏它來解決這個(gè)問題。

2,如何一起安裝UPS?這個(gè)問題涉及到平滑的自動(dòng)關(guān)閉的問題,意味著一般的殺死后臺(tái)程序,卸載設(shè)備。如果你用到鎖定init子進(jìn)程的功能,你必須允許一個(gè)進(jìn)程來殺死她們。如果你的后臺(tái)沒有被殺死,它可能會(huì)讓一個(gè)設(shè)備忙,就不能被卸載。所以,有兩個(gè)事實(shí)很重要。?我們必須找到一個(gè)只用來關(guān)閉系統(tǒng),殺死全部后臺(tái)或卸載設(shè)備的程序.但是不幸的時(shí)候,這些程序是不存在的。然而,LIDS給你一個(gè)殺死進(jìn)程的繼承功能,利用這個(gè)功能可以殺死這些進(jìn)程.?這些程序也可以是/sbin/shutdown的—n選項(xiàng),它會(huì)調(diào)用init腳原來停止全部的后臺(tái),并卸載設(shè)備。?編譯內(nèi)核并安裝?如:?makedep;?makeclean;?makebzImage;

makemodules;?makemodules_install;?cparch/i386/boot/bzImage/boot/vmlinuz?lilo?保護(hù)一些文件?1。用lidsadm?lidsadm—Z?lidsadm—A-r/boot

lidsadm-A—r/vmlinuz

lidsadm—A-r/lib?lidsadm—A-r/root

lidsadm-A-r/etc?lidsadm-A—r/sbin

lidsadm—A-r/usr/sbin?lidsadm-A—r/bin?lidsadm—A-r/usr/bin

lidsadm—A—r/usr/lib?lidsadm-A-a/var/log

2。用chattr?在ext2文件系統(tǒng),你也可以用一些ext2的特殊屬性,不行變的和只增加的。Chattr是一個(gè)標(biāo)準(zhǔn)程序來做:?chattr+iimportant_stuff

chattr+aimportant_log?用這些屬性,沒有人(甚至是root)可以修改,刪除你的文件。你必須保證沒有人可以刪除這些屬性,刪除CAP_LINUX_IMMUTABLE來實(shí)現(xiàn)這個(gè)功能。?在啟動(dòng)的時(shí)候更新文件?一些文件需要在系統(tǒng)啟動(dòng)的時(shí)候?qū)?,但是?huì)被LIDS保護(hù),這些文件一般保存在/var名目下,但是也有一些例外:?modules.dep:你除了增加或是刪除模塊外,不需要在啟動(dòng)的時(shí)候更改,可以禁止它在啟動(dòng)的時(shí)候更新,刪除/etc/init。d/modutils.?ld。so.conf:象modules。dep一樣,你除了在增加或是轉(zhuǎn)變庫文件的時(shí)候,不必要在啟動(dòng)的時(shí)候更新.?mtab:用-n的選項(xiàng)在每次啟動(dòng)的時(shí)候生成一個(gè)從/etc/mtab到/proc/mounts的一個(gè)連接.?LIDS隱藏前的籌備?細(xì)節(jié):??CAP_CHOWN功能:?在一個(gè)_POSIX_CHOWN_RESTRICTED功能定義的系統(tǒng)。這會(huì)越過轉(zhuǎn)變系統(tǒng)文件全部者和組全部的權(quán)限。?

CAP_DAC_OVERRIED功能:?如果_POSIX_ACL定義,就會(huì)越過全部的DAC訪問,包括ACL執(zhí)行訪問,用CAP_LINUX_IMMUTABLE功能來排解DAC的訪問.??CAP_DAC_READ_SEARCH功能:?如果_POSIX_ACL定義,就會(huì)越過全部的DAC的讀限制,并在全部的文件和名目里搜尋,包括ACL限制。用CAP_LINUX_IMMUTABLE來限制DAC訪問。?

CAP_FOWNER功能:

越過文件說有的允許限制,如文件的全部者ID必須和用戶ID一樣,除了CAP_FSETID可用。它不會(huì)越過MAC和DAC限制。??CAP_FSETID功能:?越過當(dāng)設(shè)置文件的S_ISUID和S_ISGID位的時(shí)候,用戶的ID必須和全部者ID匹配的限制,設(shè)置S—ISGID位的時(shí)候,組ID必須和全部者ID匹配,用chown來設(shè)置S_ISUID和S_ISGID為的功能限制.??CAP_FS_MASK功能:?用來回應(yīng)suser()或是fsuser().

?CAP_KILL功能:?一個(gè)有有效用戶ID的進(jìn)程發(fā)送信號(hào)時(shí)必須匹配有效用戶ID的功能會(huì)越過.??CAP_SETGID功能:?允許setgid()功能,

允許setgroups()

允許在socket里偽造gid??CAP_SETUID功能:?允許set*uid()功能

允許偽造pid在socket。??CAP_SETPCAP功能:?把全部的許可給全部的pid?;蚴前讶康脑S可刪除。?

CAP_LINUX_IMMUTABLE功能?允許更改S_IMMUTABLE和S_APPEND文件屬性。??CAP_NET_BIND_SERVICE功能?允許綁定1024下的TCP/UDP套接字??CAP_NET_BROADCAST功能:

允許廣播,監(jiān)聽多點(diǎn)傳送。?

CAP_NET_ADMIN功能:

允許配置接口?允許管理IP防火墻IP偽裝和帳戶?允許配置socket調(diào)試選項(xiàng)?允許修改路由表?允許配置socket上的進(jìn)程的組屬性?允許綁定全部地址的透明代理?允許配置TOS(服務(wù)類型)?允許配置混雜模式?允許清除驅(qū)動(dòng)狀態(tài)

允很多點(diǎn)傳送?允許讀或?qū)懴到y(tǒng)記錄??CAP_NET_RAW功能:?允許用RAW套接字?允許用PACKET套接字

CAP_IPC_LOCK功能:?允許瑣定共享內(nèi)存段?允許mlock和mlockall

?CAP_IPC_OWNER功能:?越過IPC全部權(quán)檢查

CAP_SYS_MODULE功能?插入或刪除內(nèi)核模塊

CAP_SYS_RAWIO功能:

允許ioperm/iopl和/dev/prot的訪問,?允許/dev/mem和/dev/kmem訪問,?允許塊設(shè)備訪問(/dev/[sh]d??)??CAP_SYS_CHROOT功能:?允許chroot()??CAP_SYS_PTRACE功能:?允許ptrace()任何進(jìn)程??CAP_SYS_PACCT功能:?允許配置進(jìn)程帳號(hào)??CAP_SYS_ADMIN功能:?允許配置平安鑰匙?允許管理隨機(jī)設(shè)備?允許設(shè)備管理?允許檢查和配置磁盤限額?允許配置內(nèi)核日志

允許配置域名?允許配置主機(jī)名?允許調(diào)用bdflush()命令?允許mount()和umount()命令,允許配置smb連接?允許root的ioctls

允許nfsservctl?允許VM86_REQUEST_IRQ?允許在alpha上讀寫pci配置?允許在mips上的irix_prctl?允許刷新全部的m68k緩存?允許刪除semaphores

用CAP_CHOWN去代替“chown"IPC消息隊(duì)列,標(biāo)志和共享內(nèi)存?允許鎖定或是解鎖共享內(nèi)存段?允許開關(guān)swap?允許在socket偽裝pids?允許設(shè)置塊設(shè)備的緩存刷新?允許設(shè)置軟盤驅(qū)動(dòng)器?允許開關(guān)DMA開關(guān)?允許管理md設(shè)備?允許管理ide驅(qū)動(dòng)?允許訪問nvram設(shè)備?允許管理apm_bios,串口或是bttv電視設(shè)備

允許在isdnCAPI的驅(qū)動(dòng)下生成命令。

允許讀?。餭i的非標(biāo)準(zhǔn)配置

允許DDI調(diào)試ioctl?允許發(fā)送qic-117命令?允許啟動(dòng)或禁止SCSI的掌握和發(fā)送SCSI命令?允許配置加密口令在回路文件系統(tǒng)上。?

CAP_SYS_BOOT功能:?允許用reboot()命令??CAP_SYS_NICE功能:?允許提高或設(shè)置其他進(jìn)程的優(yōu)先權(quán)?允許在自己的進(jìn)程用FISO和實(shí)時(shí)的支配和配置。

?CAP_SYS_RESOURCE功能:?越過資源限制,設(shè)置資源限制?越過配額限制?越過保留的ext2文件系統(tǒng)

允許大于64hz的實(shí)時(shí)時(shí)鐘中斷?越過最大數(shù)目的掌握終端?越過最大數(shù)目的鍵?

CAP_SYS_TIME功能:?允許處理系統(tǒng)時(shí)鐘?允許_stime?允許設(shè)置實(shí)時(shí)時(shí)鐘??CAP_SYS_TTY_CONFIG功能:

允許配置終端設(shè)備?允許vhangup()終端?

選擇你要?jiǎng)h除的功能?你必須刪除CAP_SYS_MODULE,CAP_SYS_RAWIO和CAP_SYS_ADMIN來保護(hù)系統(tǒng)不受小的系統(tǒng)攻擊。最好也要禁止CAP_NET_ADMIN,CAP_SYS_PTRACE,CAP_LINUX_IMMUTABLE,CAP_KILL,CAP_SYS_RESOURCE,CAP_SYS_TIME和CAP_SYS_TTY_CONFIG.??放置密封命令

你必須放置這些命令讓它們在啟動(dòng)的時(shí)候立刻運(yùn)行,?你可以把它放到rc的腳本里。(rc.local,/etc/init.c/lids,/etc/rc.d/init.d/lids,等)這個(gè)要看你系統(tǒng)的情況。?這些命令是。如:?lidsadm—I——-CAP_SYS_MODULE—CAP_SYS_RAWIO-CAP_SYS_ADMIN—CAP_SYS_PTRACE-CAP_NET_ADMIN+LOCK_INIT_CHILDREN?你必須確定你在啟動(dòng)前已經(jīng)保護(hù)了每個(gè)系統(tǒng)的執(zhí)行,由于一些人可以通過程序更改它,會(huì)在功能禁止的時(shí)候做一些惡意的行為。??確保啟動(dòng)時(shí)的平安?當(dāng)沒有保護(hù)程序運(yùn)行的時(shí)候報(bào)警LIDS會(huì)報(bào)警.選擇這個(gè)功能,你可以禁止選擇防止日志溢出,來確定沒有遺漏無保護(hù)程序。然后你就可以啟動(dòng)并在syslog里能看到哪些程序沒有被保護(hù)。

?重新氣筒系統(tǒng)?現(xiàn)在你就可以重新啟動(dòng)系統(tǒng),如果你培植阻止系統(tǒng)啟動(dòng),你可以在lilo里用security=0來啟動(dòng)內(nèi)核。?

運(yùn)行LIDS

轉(zhuǎn)換LIDS?你可以轉(zhuǎn)換LIDS的開關(guān),

lidsadm-S—--LIDS

foo?lidsadm-S--+LIDS

注意,如果你在沒有保護(hù)的文件上工作或是做一些其他設(shè)備的修改,他們不會(huì)在啟動(dòng)的時(shí)候受到保護(hù)的。不要忘記用lidsadm-S-+RELOAD_CONF.?你也可以本地的轉(zhuǎn)換LIDS。這表明LIDS只能用lidsadm命令來工作,?lidsadm-S———LIDS_LOCAL?foo?lidsadm—S—-+LIDS_LOCAL?例子:網(wǎng)絡(luò)管理?如,如果你要是加一個(gè)路由并且鎖定網(wǎng)絡(luò)管理?lidsadm—S—-+CAP_NET_ADMIN?routeaddfoo?lidsadm-S—-—CAP_NET_ADMIN??例子:后臺(tái)管理?你可以管理你的后臺(tái)。

lidsadm—S---LOCK_INIT_CHILDREN?init.d/daemonstop?lidsadm-S--+LOCK_INIT_CHILDREN??運(yùn)行后臺(tái),重新啟動(dòng),然后保護(hù)它。

init.d/daemonstart?lidsadm-S-——LOCK_INIT_CHILDREN

lidsadm-S——+LOCK_INIT_CHILDREN

?文件管理?你可以保護(hù)新文件或是修改保護(hù)對(duì)象

lidsadm—S——-LIDS?lidsadm-A-rfoo?cpMyBrandNewXServerMyXServer?lidsadm-S—-+LIDS+RELOAD_CONF?or

lidsadm—S-—-LIDS?lidsadm-A-rfoo

rmprotected_one?dothings?cpfileprotected_one

lidsadm-U#hereweupdatelids。confas”protected_one"

#couldhaveadifferentinodenumber?lidsadm—S——+LIDS+RELOAD_CONFLIDS譯本????【原文由chzhuang所發(fā)表】?一。LIDS的一些基本概念

1.當(dāng)前Linux系統(tǒng)的缺陷

文件系統(tǒng)沒有保護(hù)機(jī)制?進(jìn)程沒有保護(hù)機(jī)制?系統(tǒng)管理沒有保護(hù)機(jī)制

root會(huì)濫用職權(quán)?系統(tǒng)認(rèn)證是不行信的

存取掌握模型(DAC)是不足的?2.什么是LIDS?一個(gè)內(nèi)核的補(bǔ)丁和管理工具,用于加強(qiáng)linux的內(nèi)核平安性

一個(gè)內(nèi)核中參考監(jiān)視器的執(zhí)行?內(nèi)核中的強(qiáng)制存取掌握(MAC)模型的實(shí)現(xiàn)?一些正派黑客的現(xiàn)行項(xiàng)目?3。LIDS的特性?文件保護(hù)。任何人,包括root,不能修改LIDS保護(hù)的文件。文件可以是隱藏的。?進(jìn)程保護(hù)。任何人,包括root,不能修改LIDS保護(hù)的進(jìn)程。進(jìn)程可以是隱藏的。

細(xì)粒度的存取掌握。?用來使用的擴(kuò)充對(duì)整個(gè)系統(tǒng)的掌握能力來自內(nèi)核的平安警告內(nèi)核實(shí)現(xiàn)的端口掃描探測器?4。為什么使用LIDS?使系統(tǒng)更平安?保證系統(tǒng)的完整性

為系統(tǒng)平安策略供應(yīng)一個(gè)易用,全面的配置方法

二。LIDS的配置

在這一節(jié)里,我們介紹一下如何配置LIDS。?2.1LIDS的配置名目—-“/etc/lids/”?安裝完lidsadm以后,你會(huì)發(fā)現(xiàn)會(huì)消滅一個(gè)/etc/lids/名目。當(dāng)內(nèi)核啟動(dòng)后,lids的配種信息會(huì)被讀入內(nèi)核來初始化LIDS系統(tǒng)。?lids。conf:這個(gè)文件存有LIDS的ACLs的信息,用于定義各對(duì)象的存取類型??梢允褂媚目??

lids。cap:包含系統(tǒng)的全部功能描述,你可以修改這個(gè)文件來配置系統(tǒng)功能。在文件中中的功能名前面加上“+”就可以允許這項(xiàng)功能,加上“-"就會(huì)禁止這項(xiàng)功能?

lids.net:該文件用于配置網(wǎng)絡(luò)傳輸警告信息。你可以定義SMTP服務(wù)器,端口,信息標(biāo)標(biāo)題等等。當(dāng)你配置內(nèi)核時(shí),選擇了Sendsecurityalertsthroughnetwork(NEW)就需要配置該文件??lids.pw:該文件用于保存使用命令“l(fā)idsadm-P"生成的密碼。當(dāng)你配置內(nèi)核時(shí),選選擇了AllowswitchingLIDSprotections(NEW)就需要配置該文件??注意:你如果想要切換LIDS的保護(hù)層次,必須在重啟之前運(yùn)行“lidsadm—P”。?2.2保護(hù)文件和名目?首先,你要確定系統(tǒng)中哪些文件需要保護(hù)。一般是系統(tǒng)的一些重要的二進(jìn)制文件和系統(tǒng)統(tǒng)配置文件,例如/usr/,/sbin/,/etc/,/var/log/??其次,你要定義文件保護(hù)級(jí)別。LIDS供應(yīng)了4級(jí)保護(hù)類型:?1.DENYaccesstoanybody:任何人(包括root)不能查看或者修改該文件.這種級(jí)別用于于比較重要的文件,比如/etc/shado?用法:lidsadm-A—ofile_to_protected—jDENY

例子:#lidsadm—A-o/etc/shadow-jDENY?重啟并重載啟動(dòng)文件以后,你會(huì)看到?#ls/etc/shadow

ls:/etc/shadow:Nosuchfileordirectory?我們還可以讓某些程序可以訪問這個(gè)文件,比如/bin/login程序需要訪問/etc/shadow照個(gè)文件,我們可?使用如下方法。

用法:lidsadm-A—sSUBJECT_PROGRAM-oOBJECT_PROGRAM—jREAD/WRITEE/APPEND

#lidsadm—A-s/bin/login-o/etc/shadow-jREAD?2。ReadOnlyFiles:該類型文件意味著沒有人可以轉(zhuǎn)變這個(gè)文件。比如下列文件:/etc/paasswd,/bin/passwd等等。?用法:lidsadm-A—ofile_to_protect—jREAD?例子:a。只讀保護(hù)/sbin/名目?#/sbin/lidsadm—A-o/sbin/-jREAD

b。只讀保護(hù)/etc/passwd

#/sbin/lidsadm-A-o/etc/passwd-jREAD?3。AppendOnlyFiles:這種保護(hù)類型一般用于一些系統(tǒng)日志文件,比如:/var/log/messagge,/var/log/secure。這種文件只能使用添加方式打開,不行以修改和削減文件內(nèi)容。?用法:lidsadm-A-ofilename_to_protect-jAPPEND?例子:?a。保護(hù)系統(tǒng)日志文件?#/sbin/lidsadm—A—o/var/log/message—jAPPEND

#/sbin/lidsadm-A-o/var/log/secure-jAPPEND

?b.保護(hù)apachehttpd日志文件

#/sbin/lidsadm—A-o/etc/httpd/logs/-jAPPEND?4.Write:該類型用于定義可以被寫的文件。

5.文件保護(hù)中的強(qiáng)制存取掌握

你可以定義主體(程序)以什么存取方式(READ,APPEND,WRITE)來訪問客體(文件).?比如,你可以定義/home/httpd/不讓任何人訪問,使/usr/sbin/httpd可以被該名目下檔文件讀。

#lidsadm-A-o/home/httpd—jDENY

#lidsadm-A—s/usr/sbin/httpd—o/home/httpd-jREAD?這樣,Web服務(wù)器能照常供應(yīng)服務(wù),但是/home/httpd/下的程序就不會(huì)被查看或修改。即使?jié)补フ咄ㄟ^httpd的平安漏洞取得root權(quán)限,他也不能查看該名目下的文件。甚至雖然他可以用改寫棧的方法在httpd服務(wù)器里寫入惡意代碼,他也只能讀/home/httpd下的文件,而不能修改。?一些示例:?lidsadm-Z?lidsadm-A—o/boot-jREAD?lidsadm-A—o/vmlinuz-jREAD

lidsadm-A-o/lib-jREAD?lidsadm—A-o/root-jREAD

lidsadm-A—o/etc—jREAD?lidsadm-A—o/sbin-jREAD?lidsadm-A-o/usr/sbin—jREAD

lidsadm—A-o/bin—jREAD?lidsadm-A-o/usr/bin-jREAD?lidsadm-A—o/usr/lib—jREAD?lidsadm-A-o/var/log—jAPPEND?你安裝完/etc/lids/以后,在/etc/lids/名目下會(huì)有一個(gè)示例lids.conf文件.你必須運(yùn)行發(fā)idsadm-U”來更新節(jié)點(diǎn)/設(shè)備值,再按你的要求來重新配置它.

2.3保護(hù)進(jìn)程?LIDS可以保護(hù)1號(hào)進(jìn)程的子進(jìn)程,你必須在/etc/lids/lids.cap中配置如下性能:-29:CCAP_INIT_KILL?隱藏進(jìn)程?可以給進(jìn)程加上隱藏屬性,當(dāng)進(jìn)程執(zhí)行時(shí),其他人用“ps”或在/proc下查看都不能看檔礁進(jìn)程。例如:?lidsadm-A-s/usr/sbin/httpd—t-oCAP_HIDDEN—jINHERIT?2.4用性能來保護(hù)

性能就像我們賦給進(jìn)程的某些特權(quán)。一個(gè)根進(jìn)程擁有全部性能.但是這時(shí)存在一共性能能限定集。在一般的內(nèi)核里,當(dāng)你從性能限定集里刪掉一共性能的話,在重啟之前沒人能再擁有這項(xiàng)性能了?

LIDS修改了這項(xiàng)功能使你能夠自由地更換這些性能。例如可以指定對(duì)/proc/sys/kernell/cap_bset的訪問引起陷入并產(chǎn)生一個(gè)平安警告。?你可以運(yùn)行l(wèi)idsadm來列出LIDS中全部的性能來簡略看它們的精準(zhǔn)意思。?系統(tǒng)性能配置?系統(tǒng)性能值被存在文件/etc/lids/lids.cap中,你可以修改它.我們商量兩共性能。?CAP_SYS_RAWIO:擁有這項(xiàng)性能,我們能夠訪問ioperm/iopl,/dev/port,/dev/mem,//dev/kmem,并允許原始?jí)K設(shè)備訪問。

當(dāng)我們禁止這項(xiàng)性能,系統(tǒng)上的進(jìn)程就不能訪問原始設(shè)備,例如lilo。但某些程序可能能需要這項(xiàng)性能,如XF86_SVGA,我們可以在編譯內(nèi)核時(shí),把它列入例外集??CAP_NET_ADMIN:該性能包含以下能力:

界面配置

IP防火墻,偽裝,審計(jì)管理?設(shè)置sockets的調(diào)試信息?路由表的修改?設(shè)置sockets上的任意進(jìn)程(進(jìn)程組)的屬主?為透明代理綁定地址?設(shè)置TOS?設(shè)置混雜模式?清除驅(qū)動(dòng)程序統(tǒng)計(jì)?多點(diǎn)傳送?設(shè)備寄存器的讀寫?考慮平安緣由,我們應(yīng)該禁止這項(xiàng)性能,使得不能修改網(wǎng)絡(luò)配置。比如防火墻的配置規(guī)章就就不會(huì)被修改??配置lids.cap

溫馨提示

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

評(píng)論

0/150

提交評(píng)論