本文講述了如何通過基本的安全措施,使你的Linux系統(tǒng)變得可靠。
1、Bios Security
一定要給Bios設(shè)置密碼,以防通過在Bios中改變啟動(dòng)順序,而可以從軟盤啟動(dòng)。這樣可以阻止別人試圖用特殊的啟動(dòng)盤啟動(dòng)你的系統(tǒng),還可以阻止別人進(jìn)入Bios改動(dòng)其中的設(shè)置(比如允許通過軟盤啟動(dòng)等)。
2、LILO Security
在"/etc/lilo.conf"文件中加入下面三個(gè)參數(shù):time-out,restricted,password。這三個(gè)參數(shù)可以使你的系統(tǒng)在啟動(dòng)lilo時(shí)就要求密碼驗(yàn)證。
第一步:
編輯lilo.conf文件(vi /etc/lilo.comf),假如或改變這三個(gè)參數(shù):
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
time-out=00 #把這行該為00
prompt
Default=linux
restricted #加入這行
password= #加入這行并設(shè)置自己的密碼
image=/boot/vmlinuz-2.2.14-12
label=linux
initrd=/boot/initrd-2.2.14-12.img
root=/dev/hda6
read-only
第二步:
因?yàn)?/etc/lilo.conf"文件中包含明文密碼,所以要把它設(shè)置為root權(quán)限讀取。
[root@kapil /]# chmod 600 /etc/lilo.conf
第三步:
更新系統(tǒng),以便對(duì)"/etc/lilo.conf"文件做的修改起作用。
[Root@kapil /]# /sbin/lilo -v
第四步:
使用"chattr"命令使"/etc/lilo.conf"文件變?yōu)椴豢筛淖儭?br>
[root@kapil /]# chattr +i /etc/lilo.conf
這樣可以防止對(duì)"/etc/lilo.conf"任何改變(以外或其他原因)
3、刪除所有的特殊賬戶
你應(yīng)該刪除所有不用的缺省用戶和組賬戶(比如lp, sync, shutdown, halt, news, uucp, operator, games, gopher等)。
刪除用戶:
[root@kapil /]# userdel LP
刪除組:
[root@kapil /]# groupdel LP
4、選擇正確的密碼
在選擇正確密碼之前還應(yīng)作以下修改:
修改密碼長(zhǎng)度:在你安裝linux時(shí)默認(rèn)的密碼長(zhǎng)度是5個(gè)字節(jié)。但這并不夠,要把它設(shè)為8。修改最短密碼長(zhǎng)度需要編輯login.defs文件(vi /etc/login.defs),把下面這行
PASS_MIN_LEN 5
改為
PASS_MIN_LEN 8
login.defs文件是login程序的配置文件。
5、打開密碼的shadow支持功能:
你應(yīng)該打開密碼的shadow功能,來對(duì)password加密。使用"/usr/sbin/authconfig"工具打開shadow功能。如果你想把已有的密碼和組轉(zhuǎn)變?yōu)閟hadow格式,可以分別使用"pwcov,grpconv"命令。
6、root賬戶
在unix系統(tǒng)中root賬戶是具有最高特權(quán)的。如果系統(tǒng)管理員在離開系統(tǒng)之前忘記注銷root賬戶,系統(tǒng)會(huì)自動(dòng)注銷。通過修改賬戶中"TMOUT"參數(shù),可以實(shí)現(xiàn)此功能。TMOUT按秒計(jì)算。編輯你的profile文件(vi /etc/profile),在"HISTFILESIZE="后面加入下面這行:
TMOUT=3600
3600,表示60*60=3600秒,也就是1小時(shí)。這樣,如果系統(tǒng)中登陸的用戶在一個(gè)小時(shí)內(nèi)都沒有動(dòng)作,那么系統(tǒng)會(huì)自動(dòng)注銷這個(gè)賬戶。你可以在個(gè)別用戶的".bashrc"文件中添加該值,以便系統(tǒng)對(duì)該用戶實(shí)行特殊的自動(dòng)注銷時(shí)間。
改變這項(xiàng)設(shè)置后,必須先注銷用戶,再用該用戶登陸才能激活這個(gè)功能。
7、取消普通用戶的控制臺(tái)訪問權(quán)限
你應(yīng)該取消普通用戶的控制臺(tái)訪問權(quán)限,比如shutdown、reboot、halt等命令。
[root@kapil /]# rm -f /etc/security/console.apps/
是你要注銷的程序名。
8、取消并反安裝所有不用的服務(wù)
取消并反安裝所有不用的服務(wù),這樣你的擔(dān)心就會(huì)少很多。察看"/etc/inetd.conf"文件,通過注釋取消所有你不需要的服務(wù)(在該服務(wù)項(xiàng)目之前加一個(gè)"#")。然后用"sighup"命令升級(jí)"inetd.conf"文件。
第一步:
更改"/etc/inetd.conf"權(quán)限為600,只允許root來讀寫該文件。
[Root@kapil /]# chmod 600 /etc/inetd.conf
第二步:
確定"/etc/inetd.conf"文件所有者為root。
第三步:
編輯 /etc/inetd.conf文件(vi /etc/inetd.conf),取消下列服務(wù)(你不需要的):ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger, auth等等。把不需要的服務(wù)關(guān)閉可以使系統(tǒng)的危險(xiǎn)性降低很多。
第四步:
給inetd進(jìn)程發(fā)送一個(gè)HUP信號(hào):
[root@kapil /]# killall -HUP inetd
第五步:
用chattr命令把/ec/inetd.conf文件設(shè)為不可修改,這樣就沒人可以修改它:
[root@kapil /]# chattr +i /etc/inetd.conf
這樣可以防止對(duì)inetd.conf的任何修改(以外或其他原因)。唯一可以取消這個(gè)屬性的人只有root。如果要修改inetd.conf文件,首先要是取消不可修改性質(zhì):
[root@kapil /]# chattr -i /etc/inetd.conf
別忘了該后再把它的性質(zhì)改為不可修改的。
9、TCP_WRAPPERS
使用TCP_WRAPPERS可以使你的系統(tǒng)安全面對(duì)外部入侵。最好的策略就是阻止所有的主機(jī)(在"/etc/hosts.deny" 文件中加入"ALL: ALL@ALL, PARANOID" ),然后再在"/etc/hosts.allow" 文件中加入所有允許訪問的主機(jī)列表。
第一步:
編輯hosts.deny文件(vi /etc/hosts.deny),加入下面這行
# Deny access to everyone.
ALL: ALL@ALL, PARANOID
這表明除非該地址包好在允許訪問的主機(jī)列表中,否則阻塞所有的服務(wù)和地址。
第二步:
編輯hosts.allow文件(vi /etc/hosts.allow),加入允許訪問的主機(jī)列表,比如:
ftp: 202.54.15.99 foo.com
202.54.15.99和 foo.com是允許訪問ftp服務(wù)的ip地址和主機(jī)名稱。
第三步:
tcpdchk程序是tepd wrapper設(shè)置檢查程序。它用來檢查你的tcp wrapper設(shè)置,并報(bào)告發(fā)現(xiàn)的潛在的和真實(shí)的問題。設(shè)置完后,運(yùn)行下面這個(gè)命令:
[Root@kapil /]# tcpdchk
10、禁止系統(tǒng)信息暴露
當(dāng)有人遠(yuǎn)程登陸時(shí),禁止顯示系統(tǒng)歡迎信息。你可以通過修改"/etc/inetd.conf"文件來達(dá)到這個(gè)目的。
把/etc/inetd.conf文件下面這行:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
修改為:
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h
在最后加"-h"可以使當(dāng)有人登陸時(shí)只顯示一個(gè)login:提示,而不顯示系統(tǒng)歡迎信息。
11、修改"/etc/host.conf"文件
"/etc/host.conf"說明了如何解析地址。編輯"/etc/host.conf"文件(vi /etc/host.conf),加入下面這行:
# Lookup names via DNS first then fall back to /etc/hosts.
order bind,hosts
# We have machines with multiple IP addresses.
multi on
# Check for IP address spoofing.
nospoof on
第一項(xiàng)設(shè)置首先通過DNS解析IP地址,然后通過hosts文件解析。第二項(xiàng)設(shè)置檢測(cè)是否"/etc/hosts"文件中的主機(jī)是否擁有多個(gè)IP地址(比如有多個(gè)以太口網(wǎng)卡)。第三項(xiàng)設(shè)置說明要注意對(duì)本機(jī)未經(jīng)許可的電子欺騙。
12、使"/etc/services"文件免疫
使"/etc/services"文件免疫,防止未經(jīng)許可的刪除或添加服務(wù):
[root@kapil /]# chattr +i /etc/services
13、不允許從不同的控制臺(tái)進(jìn)行root登陸
"/etc/securetty"文件允許你定義root用戶可以從那個(gè)TTY設(shè)備登陸。你可以編輯"/etc/securetty"文件,再不需要登陸的TTY設(shè)備前添加"#"標(biāo)志,來禁止從該TTY設(shè)備進(jìn)行root登陸。
14、禁止任何人通過su命令改變?yōu)閞oot用戶
su(Substitute User替代用戶)命令允許你成為系統(tǒng)中其他已存在的用戶。如果你不希望任何人通過su命令改變?yōu)閞oot用戶或?qū)δ承┯脩粝拗剖褂胹u命令,你可以在su配置文件(在"/etc/pam.d/"目錄下)的開頭添加下面兩行:
編輯su文件(vi /etc/pam.d/su),在開頭添加下面兩行:
auth sufficient /lib/security/pam_rootok.so debug
關(guān)鍵詞標(biāo)簽:手冊(cè),設(shè)置,安全,文件,