如果你的Linux服務器被非受權用戶接觸到(如服務器放在公用機房內、公用辦公室內),那麼它的安全就會存在嚴重的隱患。 使用單用戶模式進入系統Linux啟動後出現boot:提示時,使用一個特殊的命令,如Linuxsingle或Linux 1,就能進入單用戶模式(Single-User mode)
如果你的Linux服務器被非受權用戶接觸到(如服務器放在公用機房內、公用辦公室內),那麼它的安全就會存在嚴重的隱患。
使用單用戶模式進入系統
Linux啟動後出現boot:提示時,使用一個特殊的命令,如Linuxsingle或Linux 1,就能進入單用戶模式(Single-User mode)。這個命令非常有用,比如忘記超級用戶(root)密碼。重啟系統,在boot:提示下輸入Linux single(或Linux 1),以超級用戶進入系統後,編輯Passwd文件,去掉root一行中的x即可。
防范對策:
以超級用戶(root)進入系統,編輯/etc/inittab文件,改變id:3:initdefault的設置,在其中額外加入一行(如下),讓系統重新啟動進入單用戶模式的時候,提示輸入超級用戶密碼:
~~:S:walt:/sbin/sulogin
然後執行命令:/sbin/init q,使這一設置起效。
在系統啟動時向核心傳遞危險參數
在Linux下最常用的引導裝載(boot loader)工具是LILO,它負責管理啟動系統(可以加入別的分區及操作系統)。但是一些非法用戶可能隨便啟動Linux或者在系統啟動時向核心傳遞危險參數,這也是相當危險的。
防范對策:
編輯文件/etc/lilo.conf,在其中加入restricted參數,這一參數必須同下面一個要講的passWord參數一起使用,表明在boot:提示下,傳遞給Linux內核一些參數時,需要你輸入密碼。
passWord參數可以同restricted一起使用,也可以單獨使用,下面將分別說明。
同restricted一起使用:只有在啟動時需要傳遞給內核參數時,才會要求輸入密碼,而在正常(缺省)模式下,是不需要密碼的,這一點一定要注意。
單獨使用(沒有同restricted一起使用):表示不管用什麼啟動模式,Linux總會要求輸入密碼;如果沒有密碼,就沒有辦法啟動Linux,在這種情況下的安全程度更高,相當於外圍又加入一層防御措施。當然也有壞處——你不能遠程重啟系統,除非你加上restricted參數。
由於密碼是明文沒有加密,所以/etc/lilo.conf文件一定要設置成只有超級用戶可讀,可使用下面的命令進行設置:
chmod 600 /ietc/lilo.conf
然後執行命令:/sbin/lilo -V,將其寫入boot sector,並使這一改動生效。
為了加強/etc/liIo.conf文件的安全,你還可以設置這個文件為不可改變的屬性,可使用命令:
chattr 十i/etc/lilo.conf
如果日後你要修改/etc/liIo.conf文件,用chattr -i/etc/lilo.conf命令去掉這個屬性即可。
使用“Ctrl+Alt+Del”組合鍵重新啟動
對於這一點,非常重要,也非常容易忽略,如果非法用戶能接觸到服務器的鍵盤,他就可以用組合鍵“Ctrl+AIt+Del”使你的服務器重啟。
防范對策:
編輯/etc/inittab文件,給ca::ctrlaltdel:/sbin/shutdown-t3 -r now加上注釋###ca::ctrlaltdeI:/sbin/shutdown-t3 -r now。
然後執行命令:/sbin/init q,使這一改動生效。