本文將講述一些基本的安全措施,使你能更安全地使用Linux,並且主要是關於Red Hat Linux的安全使用。
BIOS安全
記著要在BIOS設置中設定一個BIOS密碼,不接收軟盤啟動。這樣可以阻止不懷好意的人用專門的啟動盤 啟動你的Linux系統,並避免別人更改BIOS設置,如更改軟盤啟動設置或不彈出密碼框直接啟動服務器等。
LILO安全
在“/etc/lilo.conf”文件中添加3個參數:time-out、restricted 和 passWord。這些選項會在啟動時間(如“linux single”)轉到啟動轉載程序過程中,要求提供密碼。
步驟1
編輯lilo.conf文件(/etc/lilo.conf),添加和更改這三個選項:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
time-out=00 #change this line to 00
prompt
Default=linux
restricted #add this line
password= #add this line and put your password
image=/boot/vmlinuz-2.2.14-12
label=linux
initrd=/boot/initrd-2.2.14-12.img
root=/dev/hda6
read-only
步驟2
由於其中的密碼未加密,“/etc/lilo.conf”文件只對根用戶為可讀。
[root@kapil /]# chmod 600 /etc/lilo.conf (不再為全局可讀)
步驟3
作了上述修改後,更新配置文件“/etc/lilo.conf”。
[Root@kapil /]# /sbin/lilo -v (更新lilo.conf文件)
步驟4
還有一個方法使“/etc/lilo.conf”更安全,那就是用chattr命令將其設為不可改:
[root@kapil /]# chattr +i /etc/lilo.conf
它將阻止任何對“lilo.conf”文件的更改,無論是否故意。
關於lilo安全的更多信息,請參考LILO。
禁用所有專門帳號
在lp, sync, shutdown, halt, news, uUCp, operator, games, gopher等系統中,將你不使用的所有默認用戶帳號和群組帳號刪除。
要刪除用戶帳號:
[root@kapil /]# userdel LP
要刪除群組帳號:
[root@kapil /]# groupdel LP
選擇恰當的密碼
選擇密碼時要遵循如下原則:
密碼長度:安裝Linux系統時默認的最短密碼長度為5個字符。這個長度還不夠,應該增為8個。要改為8個字符,必須編輯 login.defs 文件(/etc/login.defs):
PASS_MIN_LEN 5
改為:
PASS_MIN_LEN 8
“login.defs”是登錄程序的配置文件。
啟用盲區密碼支持
請啟用盲區密碼功能。要實現這一點,使用“/usr/sbin/authconfig”實用程序。如果想把系統中現有的密碼和群組改為盲區密碼和群組,則分別用 pwconv 和 grpconv 命令。
根帳戶
在UNIX系統中,根帳戶具有最高權限。如果系統管理員在離開系統時忘了從根系統注銷,系統應該能夠自動從shell中注銷。那麼,你就需要設置一個特殊的 Linux 變量“TMOUT”,用以設定時間。
編輯“/etc/profile”文件在
"HISTFILESIZE="
之後添加:
TMOUT=3600
為“TMOUT=”輸入的值代表1小時的妙數(60 * 60 = 3600妙)。
在“/etc/profile”文件中加了這一行後,任何用戶使用該系統時有1小時的休止狀態,將自動執行注銷操作。而如果用戶要對該變量進行分別設定,可以在“.bashrc”文件中定義自動注銷的時間。
修改了該參數後,必須退出並重新登錄(為根帳戶),更改才能生效。
禁止普通用戶對控制台的所有訪問
應該禁止服務器上的普通用戶對關閉、重啟、掛起等控制台級別程序的訪問。運行如下命令:
[root@kapil /]# rm -f /etc/security/console.apps/
其中 為禁止訪問的程序名稱。
禁用 & 卸載所有不使用的服務
對所有不使用的服務,應該禁用並卸載,這樣可以少些麻煩。查看“/etc/inetd.conf”文件,在不需要的項目行前加“#”號,即改為注釋語句,就可以禁用它們了。然後給 inetd 過程發送一個 SIGHUP 命令,對“inetd.conf”文件進行更新。步驟如下:
步驟1
將“/etc/inetd.conf”文件許可改為600,使其只對根用戶為可讀寫。
[Root@kapil /]# chmod 600 /etc/inetd.conf
步驟2
確保“/etc/inetd.conf”文件的所有者為根用戶。
步驟3
編輯 inetd.conf 文件(/etc/inetd.conf),禁用如下服務:
FTP、telnet、shell、login、exec、talk、ntalk、imap、pop-2、pop-3、finger、auth,等等。
如果不打算用,禁用了這些服務可以減少風險。
步驟4
給 inetd 過程發送HUP信號:
[root@kapil /]# killall -HUP inetd
步驟5
將“/etc/inetd.conf”文件設為不可更改,chattr 命令可以使任何人都無法對其進行修改:
[root@kapil /]# chattr +i /etc/inetd.conf
唯一可以設置或清除該屬性的用戶只有根用戶。要修改inetd.conf文件,必須去掉不可更改標記:
[root@kapil /]# chattr -i /etc/inetd.conf
TCP_WRAPPERS
通過 TCP_WRAPPERS,可以使服務器更好地抵制外部侵入。最好的辦法是拒絕所有主機:在“/etc/hosts.deny”文件中加入“ALL: ALL@ALL, PARANOID”,然後在“/etc/hosts.allow”列出允許訪問的主機。TCP_WRAPPERS 受控於兩個文件,搜索時停在第一個匹配的地方。
/etc/hosts.allow
/etc/hosts.deny