從堵住系統(tǒng)漏洞開始 保護(hù)Linux系統(tǒng)安全
Linux系統(tǒng)的軟件在編寫時(shí),沒(méi)有統(tǒng)一的漏洞檢查,這使得Linux的軟件中會(huì)出現(xiàn)很多的漏洞,而軟件開發(fā)者卻很難察覺(jué)自己編寫程序的漏洞,但黑客們會(huì)非常注意這些漏洞,并且會(huì)利用這些漏洞來(lái)達(dá)到自己的目的。那么是不是Linux系統(tǒng)就不安全了呢?其實(shí)大可不必?fù)?dān)心,只要做好下述幾點(diǎn)便可安心的使用Linux系統(tǒng)。
取消不必要的服務(wù)
早期的Unix版本中,每一個(gè)不同的網(wǎng)絡(luò)服務(wù)都有一個(gè)服務(wù)程序在后臺(tái)運(yùn)行,后來(lái)的版本用統(tǒng)一的/etc/inetd服務(wù)器程序擔(dān)此重任。Inetd是Internetdaemon的縮寫,它同時(shí)監(jiān)視多個(gè)網(wǎng)絡(luò)端口,一旦接收到外界傳來(lái)的連接信息,就執(zhí)行相應(yīng)的TCP或UDP網(wǎng)絡(luò)服務(wù)。
由于受inetd的統(tǒng)一指揮,因此Linux中的大部分TCP或UDP服務(wù)都是在/etc/inetd.conf文件中設(shè)定。所以取消不必要服務(wù)的第一步就是檢查/etc/inetd.conf文件,在不要的服務(wù)前加上“#”號(hào)。
一般來(lái)說(shuō),除了http、smtp、telnet和ftp之外,其他服務(wù)都應(yīng)該取消,諸如簡(jiǎn)單文件傳輸協(xié)議tftp、網(wǎng)絡(luò)郵件存儲(chǔ)及接收所用的imap/ipop傳輸協(xié)議、尋找和搜索資料用的gopher以及用于時(shí)間同步的daytime和time等。
還有一些報(bào)告系統(tǒng)狀態(tài)的服務(wù),如finger、efinger、systat和netstat等,雖然對(duì)系統(tǒng)查錯(cuò)和尋找用戶非常有用,但也給黑客提供了方便之門。例如,黑客可以利用finger服務(wù)查找用戶的電話、使用目錄以及其他重要信息。因此,很多Linux系統(tǒng)將這些服務(wù)全部取消或部分取消,以增強(qiáng)系統(tǒng)的安全性。
Inetd除了利用/etc/inetd.conf設(shè)置系統(tǒng)服務(wù)項(xiàng)之外,還利用/etc/services文件查找各項(xiàng)服務(wù)所使用的端口。因此,用戶必須仔細(xì)檢查該文件中各端口的設(shè)定,以免有安全上的漏洞。
在Linux中有兩種不同的服務(wù)型態(tài):一種是僅在有需要時(shí)才執(zhí)行的服務(wù),如finger服務(wù);另一種是一直在執(zhí)行的永不停頓的服務(wù)。這類服務(wù)在系統(tǒng)啟動(dòng)時(shí)就開始執(zhí)行,因此不能靠修改inetd來(lái)停止其服務(wù),而只能從修改/etc/rc.d/rc[n].d/文件或用Runleveleditor去修改它。提供文件服務(wù)的NFS服務(wù)器和提供NNTP新聞服務(wù)的news都屬于這類服務(wù),如果沒(méi)有必要,最好取消這些服務(wù)。
限制系統(tǒng)的出入
在進(jìn)入Linux系統(tǒng)之前,所有用戶都需要登錄,也就是說(shuō),用戶需要輸入用戶賬號(hào)和密碼,只有它們通過(guò)系統(tǒng)驗(yàn)證之后,用戶才能進(jìn)入系統(tǒng)。
與其他Unix操作系統(tǒng)一樣,Linux一般將密碼加密之后,存放在/etc/passwd文件中。Linux系統(tǒng)上的所有用戶都可以讀到/etc/passwd文件,雖然文件中保存的密碼已經(jīng)經(jīng)過(guò)加密,但仍然不太安全。因?yàn)橐话愕挠脩艨梢岳矛F(xiàn)成的密碼破譯工具,以窮舉法猜測(cè)出密碼。比較安全的方法是設(shè)定影子文件/etc/shadow,只允許有特殊權(quán)限的用戶閱讀該文件。
在Linux系統(tǒng)中,如果要采用影子文件,必須將所有的公用程序重新編譯,才能支持影子文件。這種方法比較麻煩,比較簡(jiǎn)便的方法是采用插入式驗(yàn)證模塊(PAM)。很多Linux系統(tǒng)都帶有Linux的工具程序PAM,它是一種身份驗(yàn)證機(jī)制,可以用來(lái)動(dòng)態(tài)地改變身份驗(yàn)證的方法和要求,而不要求重新編譯其他公用程序。這是因?yàn)镻AM采用封閉包的方式,將所有與身份驗(yàn)證有關(guān)的邏輯全部隱藏在模塊內(nèi),因此它是采用影子檔案的最佳幫手。
此外,PAM還有很多安全功能:它可以將傳統(tǒng)的DES加密方法改寫為其他功能更強(qiáng)的加密方法,以確保用戶密碼不會(huì)輕易地遭人破譯;它可以設(shè)定每個(gè)用戶使用電腦資源的上限;它甚至可以設(shè)定用戶的上機(jī)時(shí)間和地點(diǎn)。
Linux系統(tǒng)管理人員只需花費(fèi)幾小時(shí)去安裝和設(shè)定PAM,就能大大提高Linux系統(tǒng)的安全性,把很多攻擊阻擋在系統(tǒng)之外。
【編輯推薦】
- Linux平臺(tái)安全防護(hù)策略
- Linux平臺(tái)安全防護(hù)策略 續(xù)
- Linux系統(tǒng)安全的維護(hù)常識(shí)
- Linux服務(wù)器安全之維護(hù)常識(shí)
- Linux操作系統(tǒng)服務(wù)器上進(jìn)行安全配置