Linux安全配置步驟大全
它的最好的替代程序是ProFTPD。ProFTPD很容易配置,在多數(shù)情況下速度也比較快,而且它的源代碼也比較干凈(緩沖溢出的錯(cuò)誤比較少)。有許多重要的站點(diǎn)使用ProFTPD。sourceforge.net就是一個(gè)很好的例子(這個(gè)站點(diǎn)共有3,000個(gè)開放源代碼的項(xiàng)目,其負(fù)荷并不小啊!)。一些Linux的發(fā)行商在它們的主FTP站點(diǎn)上使用的也是ProFTPD,只有兩個(gè)主要Linux的發(fā)行商(SuSE和Caldera)使用WuFTPD。
ProFTPD的另一個(gè)優(yōu)點(diǎn)就是既可以從inetd運(yùn)行又可以作為單獨(dú)的daemon運(yùn)行。這樣就可以很容易解決inetd帶來(lái)的一些問(wèn)題,如:拒絕服務(wù)的攻擊(denial of service attack),等等。系統(tǒng)越簡(jiǎn)單,就越容易保證系統(tǒng)的安全。WuFTPD要么重新審核一遍全部的源代碼(非常困難),要么完全重寫一遍代碼,否則 WuFTPD必然要被ProFTPD代替。
Telnet
Telnet是非常非常不安全的,它用明文來(lái)傳送密碼。它的安全的替代程序是OpenSSH。
OpenSSH在Linux上已經(jīng)非常成熟和穩(wěn)定了,而且在Windows平臺(tái)上也有很多免費(fèi)的客戶端軟件。Linux的發(fā)行商應(yīng)該采用OpenBSD的策略:安裝OpenSSH并把它設(shè)置為默認(rèn)的,安裝Telnet但是不把它設(shè)置成默認(rèn)的。對(duì)于不在美國(guó)的Linux發(fā)行商,很容易就可以在Linux的發(fā)行版中加上OpenSSH。美國(guó)的Linux發(fā)行商就要想一些別的辦法了(例如:Red Hat在德國(guó)的FTP服務(wù)器上(ftp.redhat.de)就有最新的OpenSSH的rpm軟件包)。
Telnet是無(wú)可救藥的程序。要保證系統(tǒng)的安全必須用OpenSSH這樣的軟件來(lái)替代它。
Sendmail
最近這些年,Sendmail的安全性已經(jīng)提高很多了(以前它通常是黑客重點(diǎn)攻擊的程序)。然而,Sendmail還是有一個(gè)很嚴(yán)重的問(wèn)題。一旦出現(xiàn)了安全漏洞(例如:最近出現(xiàn)的Linux內(nèi)核錯(cuò)誤),Sendmail就是被黑客重點(diǎn)攻擊的程序,因?yàn)镾endmail是以root權(quán)限運(yùn)行而且代碼很龐大容易出問(wèn)題。
幾乎所有的Linux發(fā)行商都把Sendmail作為默認(rèn)的配置,只有少數(shù)幾個(gè)把Postfix或Qmail作為可選的軟件包。但是,很少有Linux的發(fā)行商在自己的郵件服務(wù)器上使用Sendmail。SuSE和Red Hat都使用基于Qmail的系統(tǒng)。
Sendmail并不一定會(huì)被別的程序完全替代。但是它的兩個(gè)替代程序Qmail和Postfix都比它安全、速度快,而且特別是Postfix比它容易配置和維護(hù)。
su
su是用來(lái)改變當(dāng)前用戶的ID,轉(zhuǎn)換成別的用戶。你可以以普通用戶登錄,當(dāng)需要以root身份做一些事的時(shí)候,只要執(zhí)行“su”命令,然后輸入root的密碼。su本身是沒(méi)有問(wèn)題的,但是它會(huì)讓人養(yǎng)成不好的習(xí)慣。如果一個(gè)系統(tǒng)有多個(gè)管理員,必須都給他們r(jià)oot的口令。
su的一個(gè)替代程序是sudo。Red Hat 6.2中包含這個(gè)軟件。sudo允許你設(shè)置哪個(gè)用戶哪個(gè)組可以以root身份執(zhí)行哪些程序。你還可以根據(jù)用戶登錄的位置對(duì)他們加以限制(如果有人“破”了一個(gè)用戶的口令,并用這個(gè)帳號(hào)從遠(yuǎn)程計(jì)算機(jī)登錄,你可以限制他使用sudo)。Debian也有一個(gè)類似的程序叫super,與sudo比較各有優(yōu)缺點(diǎn)。
讓用戶養(yǎng)成良好的習(xí)慣。使用root帳號(hào)并讓多個(gè)人知道root的密碼并不是一個(gè)好的習(xí)慣。這就是www.apache.org被入侵的原因,因?yàn)樗卸鄠€(gè)系統(tǒng)管理員他們都有root的特權(quán)。一個(gè)亂成一團(tuán)的系統(tǒng)是很容易被入侵的。
named
大部分Linux的發(fā)行商都解決了這個(gè)問(wèn)題。named以前是以root運(yùn)行的,因此當(dāng)named出現(xiàn)新的漏洞的時(shí)候,很容易就可以入侵一些很重要的計(jì)算機(jī)并獲得root權(quán)限。現(xiàn)在只要用命令行的一些參數(shù)就能讓named以非root的用戶運(yùn)行。而且,現(xiàn)在絕大多數(shù)Linux的發(fā)行商都讓named以普通用戶的權(quán)限運(yùn)行。命令格式通常為:named -u ; -g ;
INN
在INN的文檔中已經(jīng)明確地指出:“禁止這項(xiàng)功能(verifycancels),這項(xiàng)功能是沒(méi)有用的而且將被除掉”。大約在一個(gè)月前,一個(gè)黑客發(fā)布了當(dāng) “verifycancels”生效的時(shí)候入侵INN的方法。Red Hat是把“verifycancels”設(shè)為有效的。任何setuid tgid的程序或網(wǎng)絡(luò)服務(wù)程序都要正確地安裝并且進(jìn)行檢查以保證盡量沒(méi)有安全漏洞。
安全守則
1. 廢除系統(tǒng)所有默認(rèn)的帳號(hào)和密碼。
2. 在用戶合法性得到驗(yàn)證前不要顯示公司題頭、在線幫助以及其它信息。
3. 廢除“黑客”可以攻擊系統(tǒng)的網(wǎng)絡(luò)服務(wù)。
4. 使用6到8位的字母數(shù)字式密碼。
5. 限制用戶嘗試登錄到系統(tǒng)的次數(shù)。
6. 記錄違反安全性的情況并對(duì)安全記錄進(jìn)行復(fù)查。
7. 對(duì)于重要信息,上網(wǎng)傳輸前要先進(jìn)行加密。
8. 重視專家提出的建議,安裝他們推薦的系統(tǒng)“補(bǔ)丁”。
9. 限制不需密碼即可訪問(wèn)的主機(jī)文件。
10.修改網(wǎng)絡(luò)配置文件,以便將來(lái)自外部的TCP連接限制到最少數(shù)量的端口。不允許諸如tftp,sunrpc,printer,rlogin或rexec之類的協(xié)議。
11.用upas代替sendmail。sendmail有太多已知漏洞,很難修補(bǔ)完全。
12.去掉對(duì)操作并非至關(guān)重要又極少使用的程序。
13.使用chmod將所有系統(tǒng)目錄變更為711模式。這樣,攻擊者們將無(wú)法看到它們當(dāng)中有什么東西,而用戶仍可執(zhí)行。
14.只要可能,就將磁盤安裝為只讀模式。其實(shí),僅有少數(shù)目錄需讀寫狀態(tài)。
15.將系統(tǒng)軟件升級(jí)為最新版本。老版本可能已被研究并被成功攻擊,最新版本一般包括了這些問(wèn)題的補(bǔ)救。
評(píng)論