了解Linux系統(tǒng)內(nèi)核安全的入侵偵察系統(tǒng)
LIDS( Linux入侵偵察系統(tǒng))是Linux內(nèi)核補丁和系統(tǒng)管理員工lidsadm),它加強了Linux內(nèi)核。它在內(nèi)核中實現(xiàn)了一種安全模式 -- 參考模式以及內(nèi)核中的Mandatory Access Control(命令進入控制)模式。本文將闡述LIDS的功能和如何使用它來建立一個安全的Linux系統(tǒng)。
本文引用地址:http://m.butianyuan.cn/article/201609/304253.htm為什么選擇LIDS
隨著互連網(wǎng)上Linux越來越受歡迎 ,越來越多現(xiàn)有GNU/LINUX系統(tǒng)上的應用軟件中的安全漏洞被發(fā)現(xiàn)。很多程序利用了程序員的粗心,例如緩存溢出、格式化代碼攻擊。當系統(tǒng)安全受到程序的危及,黑客獲得ROOT權(quán)限以后,整個系統(tǒng)將被入侵者控制。
由于代碼的開放性,我們可以獲得很多所希望Linux應用程序的原代碼,并且根據(jù)我們的需要來修改。所以bug能很容易地被找到,并很快修補。但是當漏洞被揭示后,而系統(tǒng)管理員疏于給漏洞打補丁,從而造成很容易地就被入侵,更糟的是黑客能獲得ROOT SHELL。利用現(xiàn)有的GNU/Linux系統(tǒng),他為所欲為。這正是LIDS想要解決的問題。
首先看看現(xiàn)有的GNU/Linux系統(tǒng)存在哪些問題。
文件系統(tǒng)未受到保護
系統(tǒng)中的很多重要的文件,例如 /bin/login,一旦黑客入侵后,他可以上傳修改過的login文件來代替/bin/login ,然后他就可以不需要任何登陸名和密碼就登陸系統(tǒng)。這常被稱為Trojan house。
進程未受到保護
系統(tǒng)上運行的進程是為某些系統(tǒng)功能所服務的,例如HTTPD是一個web服務器來滿足遠程客戶端對于web的需求。作為web服務器系統(tǒng),保護其進程不被非法終止是很重要的。但是當入侵者獲得了ROOT權(quán)限后,我們卻無能為力。
系統(tǒng)管理未受保護
很多系統(tǒng)管理,例如,模塊的裝載/卸載,路由的設置,防火墻的規(guī)則,能很容易就被修改,如果用戶的ID是0。所以當入侵者獲得ROOT權(quán)限后,就變得很不安全。
超級用戶(root)作為ROOT可能濫用權(quán)限
他可以為所欲為,作為ROOT他甚至可以對現(xiàn)有的權(quán)限進行修改。
綜上所述,我們發(fā)現(xiàn)在現(xiàn)有的Linux系統(tǒng)中的進入控制模式是不足以建立一個安全的Linux系統(tǒng)。我們必須在系統(tǒng)中添加新的模式來解決這些問題。這就是LIDS所要做的。
LIDS的特色
Linux入侵偵察系統(tǒng)是Linux內(nèi)核補丁和系統(tǒng)管理員工具,它加強了內(nèi)核的安全性。它在內(nèi)核中實現(xiàn)了參考監(jiān)聽模式以及Mandatory Access Control(命令進入控制)模式。當它起作用后,選擇文件進入,每一個系統(tǒng)/網(wǎng)絡的管理操作,任何使用權(quán)限, raw device, mem和 I/O 進入將可以禁止甚至對于ROOT也一樣。它使用和擴展了系統(tǒng)的功能,在整個系統(tǒng)上綁定控制設置,在內(nèi)核中添加網(wǎng)絡和文件系統(tǒng)的安全特性,從而加強了安全性。你可以在線調(diào)整安全保護,隱藏敏感進程,通過網(wǎng)絡接受安全警告等等。
簡而言之,LIDS提供了保護、偵察、響應的功能,從而是LINUX系統(tǒng)內(nèi)核中的安全模式得以實現(xiàn)。
保護
LIDS提供以下的保護:
保護硬盤上任何類型的重要文件和目錄,任何人包括ROOT都無法改變。能保護重要進程不被終止 能防止非法程序的RAW IO 操作。保護硬盤,包括MBR保護,等等。能保護系統(tǒng)中的敏感文件,防止未被授權(quán)者(包括ROOT)和未被授權(quán)的程序進入。
偵察
當有人掃描你的主機, LIDS能偵察到并報告系統(tǒng)管理員。LIDS也可以檢測到系統(tǒng)上任何違法規(guī)則的進程。
響應
當有人違反規(guī)則, LIDS會將非法的運作細節(jié)記錄到受LIDS保護的系統(tǒng)log文件中。LIDS還可以將log信息傳到你的信箱中。LIDS也可以馬上關閉與用戶的對話。
建立安全的Linux系統(tǒng)
看完了LIDS特性,讓我們來看看怎么樣一步步地用LIDS建立安全的系統(tǒng)。
下載LIDS補丁和相關正式的Linux內(nèi)核
可以從LIDS Home,LIDS Ftp Home或最近的LIDS Mirror獲得LIDS補丁和系統(tǒng)管理工具。
補丁名稱是lids-x.xx-y.y.y.tar.gz, x.xx代表lids的版本, y.y.y代表Linux內(nèi)核版本.例如, lids-0.9.9-2.2.17.tar.gz代表lids 版本是0.9.9 以及相關的內(nèi)核版本是2.2.17.。
必須下載相關的內(nèi)核版本。例如,你下載了lids-0.9.9-2.2.17.tar.gz,那你就應該下載Linux內(nèi)核2.2.17的原代碼??梢詮腒ernel FTP Site或其他鏡象獲得內(nèi)核原碼。
然后,將內(nèi)核原碼和LIDS tar解壓.例如,從 www.lids.org得到lids-0.9.9-2.2.17.tar.gz,從ftp.us.kernel.org得到linux-2.2.17.tar.bz2后:
1. uncompress the Linux kernel source code tree.# cd linux_install_path/# bzip2 -cd linux-2.2.17.tar.bz2 | tar -xvf -2. uncompress the lids source code and install the lidsadm tool.# cd lids_install_path# tar -zxvf lids-0.9.8-2.2.17.tar.gz
在正式的linux內(nèi)核上打LIDS補丁,Linux內(nèi)核原碼打LIDS補丁
# cd linux_install_path/linux# patch -p1/* link the default source path to lids patched version# rm -rf /usr/src/linux# ln -s linux_install_patch/linux /usr/src/linux
配置Linux內(nèi)核,現(xiàn)在,配置Linux內(nèi)核,按照以下步驟實施:
Prompt for development and/or incomplete code/driversSysctl supportAfter that, you will find that a new item appear in the bottom of the configuration menuname Linux Intrusion Detection System. Entering this menu, turn the Linux Intrusion Detection System support (EXPERIMENTAL) (NEW).
配置LIDS內(nèi)核以后.退出配置界面,編譯內(nèi)核。
# make dep# make clean# make bzImage# make modules# make modules_install
在Linux系統(tǒng)上安裝LIDS和系統(tǒng)管理工具,復制 bzImage 到 /boot/ ,編輯 /etc/lilo.conf。
# cp arch/i386/boot/bzImage /boot/bzImage-lids-0.9.9-2.2.17/* build admin tools */# cd lids-0.9.8-2.2.17/lidsadm-0.9.8/# make# make install# less /etc/lilo.confboot=/dev/hdamap=/boot/mapinstall=/boot/boot.bprompttimeout=50default=linuximage=/boot/vmlinuz-2.2.16-3label=linuxread-onlyroot=/dev/hda2image=/boot/bzImage-lids-0.9.9-2.2.17label=devread-onlyroot=/dev/hda2
評論