從啟動開始保障LINUX系統安全(轉)

post0發表於2007-08-12
從啟動開始保障LINUX系統安全(轉)[@more@]

  目前在作業系統業界公認的安全和穩定的還要屬linux或UNIX系統了,相比windows作業系統來說linux出現漏洞比較少,一般駭客工具也都是針對windows系統的。但是並不是說我們安裝並使用了linux就可以高枕無憂了。在實際工作中我們仍然需要對LINUX系統採取必要的安全防範工作。筆者就自己的經驗為各位IT168讀者介紹如何有效的提高LINUX的啟動安全。

    一,解除安裝LILO防止入侵:

    為了便於維護、修復系統,幾乎所有的類UNIX系統都提供了在啟動時進入單使用者模式的方法,而且有些不需要口令就可以直接得到root shell,Linux就是其中之一。對於RedHat Linux,只要在LILO提示符後面輸入linux single;對於Turbo Linux,在LILO提示符後面輸入linux init1就可以得到root shell。具體方式請參考使用者使用的Linux版本的說明。

    一般來說,作為伺服器,系統應該只存在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啟動使用情況自行採取行動。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-951240/,如需轉載,請註明出處,否則將追究法律責任。

相關文章