一般來說,作為服務器,系統應該只存在Linux這個單一的操作系統,也就是說,LILO只要啟動Linux就可以了,那麼如果我們將LILO刪除不就可以防止非法用戶通過LILO的單用戶模式繞過密碼驗證的入侵了嗎?我們只需要運行下面的命令就可以卸掉LILO。 #/sbin/LILO-u
小提示: 使用該命令是很簡單的,但是要確保Linux所在的分區一定是服務器的當前活動分區,如果是用其他的啟動工具(如Systerm Command、NTOSLoader)來引導Linux的,多半還要重新設置啟動工具。 二,為LILO的單用戶模式加密碼: 可能有的讀者會說卸載LILO會帶來一定的不方便,畢竟有一個啟動界面還是大家習慣的。那麼能否在不卸載LILO的情況下加強LINUX啟動安全級別呢?方法是有的,我們可以為Linux的單用戶模式加上口令,只要在/etc/LILO.conf文件中加上下面兩行:
restricted passWord=你設置的口令 另外還需要在/etc/LILO.conf文件中加上: prompt
通過上面的設置,LILO將一直等待用戶選擇操作系統,但是,如果有timeout這個選項,則時間到達後,用戶沒有做出選擇,LILO 就會自行引導默認的系統。
這裡列舉一個LILO.conf的例子: boot=/dev/sda map=/boot/map install=/boot/boot.b prompt timeout=50 message=/boot/message linear default=linux image=/boot/vmlinuz-2.4.4-2 label=linux initrd=/boot/initrd-2.4.2-2.img read-only root=/dev/sda5 restricted password=!#$%^12345
上面的LILO.conf有以下的功能。以/boot/vmlinuz-2.4.2內核來啟動系統,它存放在SUSI1硬盤的MBR之後的第1個分區上,如果用參數“linux single”來啟動Linux,timeout選項將給出5秒鐘的時間用於接受口令。其中,message=/boot/message讓LILO以圖形模式顯示,如果去掉這一行,那麼,LILO將以傳統的文本模式顯示。Linear作用是使LILO生成線性地址,而不使用通常的Sector/Head/Cylinder機制。Linux地址機制可以不依賴磁盤的物理結構。
因為LILO的口令是以明文形式存在的,所以一定要確保LILO.conf變成僅root可以讀寫,其設置方法是執行: #chmod 600/etc/LILO.conf #chattr+i/etc/LILO.conf 然後必須進行下面的執行才能是LILO生效: #/sbin/LILO 將會顯示“Added linux”,表示LILO已經生效。
雖然重新啟動並不是必須要做的,但是用戶最好還是通過重新啟動一次來檢查一下對LILO所做的修改是否真的已經生效。
另外為了防止LILO.conf無意或由於其他原因被修改,應該將/etc/LILO.conf設置為不可更改,其設置方法是執行: #chattr +i/etc/LILO.conf 日後若要修改LILO.conf文件,必須先去掉該文件的不可更改的屬性: #chattr ?i/etc/LILO.conf
小提示: 只有root用戶可以對文件設置不可更改的屬性。
現在版本的Linux的LILO是圖形界面的,要進入單用戶模式,只需在LILO界面出現之後,按快捷鍵Ctrl+X就會進入文本模式,然後輸入“linux single”就可以了。 三,給GRUB加一把鎖 Linux世界在很長一段時間裡一直使用LILO,而且它可以讓上百萬的Linux用戶引導系統。LILO確實很有效。但是LILO的維修率很高,而且很不靈活。從RedHat Linux7.2起,GRUB(Grand Unified Bootloader)就取代LILO成為了默認的啟動裝載程序,可見GRUB大有過人之處。不過相對於LILO來說,大家對GRUB還是要陌生一些。
在Linux中,當談到root文件系統時,通常是指主Linux分區。但是,GRUB有它自己的root分區定義。GRUB的root分區是保存Linux內核的分區。這可能是你的正式root文件系統,也可能不是。例如,在Gentoo Linux中,有一個單獨的小分區專用於保存Linux內核與引導信息。大多數情況下,我們不安裝這個分區,這樣在系統以外崩潰或重新引導時,就不會把它弄亂。
在LILO.conf中,最多有16個操作系統選項,它比GRUB有更大的靈活性。LILO.conf配置文件主要分為兩部分:一部分是全局配置,另一部分是引導配置,“#”表示注釋。與LILO相比,GRUB有更強的交互性。LILO要求用戶十分明白每個參數才能很好地掌握;而GRUB則更加看中用戶的交互性,兩者在bootloader中不分伯仲。和LILO的口令的作用不同,GRUB的口令只用於防止用戶修改菜單直接進入Single user mode。
在安裝Linux的時候,在選擇GRUB作引導程序後需要設置GRUB的口令。當然如果在安裝GRUB的時候沒有設置口令,可以參照以下方法給GRUB加口令:
第一步:啟動系統後出現GRUB的畫面,按C鍵進入命令方式。
第二步:輸入命令md5crypt: grub>md5crypt Password:******** Encrypted:$1$5R.2$OanRg6GT.Tj3uJZzb.hye0
第三步:然後將加密的密碼拷貝到/boot/grub/grub.conf中password的一行。如筆者的grub.conf文件如下: timeout=25 splashimage=(hd0,5)/grub/splash.XPm.gz password―md5 $1$5R.2$OanRg6GT.Tj3uJZzb.hye0 #boot=/dev/had defaule=1 title Red Hat Linux(2.4.20-8) root(hd0,5) kernel/vmlinuz-2.4.20-8 ro root=/dev/hda7 initrd/initrd-2.4.20-8.img title Windows XP rootnoverify(hd0,0) chainloader +1 我們可以看到,GRUB 的口令是經過MD5加密的,這一點和LILO所使用的密碼是明文有所不同。
四,將Ctrl+Alt+Del“禁”行到底: 為防止用戶執行三指敬禮“Ctrl+Alt+Del”來重新啟動Linux服務器,這也是攻擊。我們可以使用root身份修改/etc/inittab文件,在“ca::ctaaltdel:/sbin/shutdown-t3-r now”一行前面加上#注釋掉,然後重新設置/etc/rc.d/init.d目錄下所有文件的許可權限: #chmod-R700/etc.rc.d/init.d/* 這樣就只有root超級用戶才可以讀寫並執行上述所有的腳本文件。最後執行: #/sbin/init q 使上面的設置生效。
設置完畢後一般的用戶就無法使用Ctrl+Alt+Del來重新啟動linux服務器了,只有你這個網絡管理員root才可以做的到。 總結: 提高linux系統安全的手段和措施有很多種,本篇文章只是就啟動時刻的lilo和grub安全介紹了幾個方法,各位IT168的讀者可以根據自己LINUX啟動使用情況自行采取行動。