Linux服務(wù)器裝機(jī)安全快速進(jìn)階指南 |
發(fā)布時(shí)間: 2012/8/13 11:08:22 |
Linux服務(wù)器安裝完成以后,應(yīng)該馬上采取哪些措施來增強(qiáng)服務(wù)器的安全性。對(duì)于其他的Linux發(fā)布或者版本,這些方法也是適用的。
◆一、關(guān)閉不必要的服務(wù) Linux的服務(wù)分為兩種,一種是由inetd超級(jí)服務(wù)器來啟動(dòng)的,如:ftp、telnet等;對(duì)于這些服務(wù)來說,系統(tǒng)并不總是運(yùn)行telnetd、ftpd等服務(wù)進(jìn)程,而是由inetd進(jìn)程監(jiān)聽這些服務(wù)的服務(wù)端口,一旦有服務(wù)請(qǐng)求到達(dá)就啟動(dòng)對(duì)應(yīng)的服務(wù)進(jìn)程(如:telnetd等)來提供服務(wù)。另外一種是獨(dú)立的服務(wù)器,系統(tǒng)一直運(yùn)行有對(duì)應(yīng)的服務(wù)進(jìn)程。 關(guān)閉這兩種服務(wù)的方法是不同的,對(duì)于inetd啟動(dòng)的進(jìn)程: inetd超級(jí)服務(wù)器的配置文件為/etc/inetd.conf,該文件指示了inetd應(yīng)該監(jiān)聽哪些服務(wù)請(qǐng)求,并在請(qǐng)求時(shí)啟動(dòng)對(duì)應(yīng)的服務(wù)。因此只要通過編輯/etc/inetd.conf文件就可以實(shí)現(xiàn)關(guān)閉不需要的服務(wù),例如希望關(guān)閉pop3服務(wù),則在編輯/etc/inetd.conf文件以前文件中有如下的內(nèi)容: pop-3streamtcpnowaitroot/usr/sbin/tcpdipop3d 要關(guān)閉pop3服務(wù)則在該行前添加注釋符即可: #pop-3streamtcpnowaitroot/usr/sbin/tcpdipop3d 通過編輯該文件,實(shí)現(xiàn)關(guān)閉不需要的服務(wù)(例如我的系統(tǒng)我僅僅開放了telnet和ftp服務(wù))以后,則需要重新啟動(dòng)inetd超級(jí)服務(wù)器。首先找到inetd的進(jìn)程號(hào):
358?S0:00inetd
[root@aid/etc]#kill-HUP358 最后因?yàn)閕netd.conf應(yīng)該不允許普通用戶讀寫,因此設(shè)置其訪問權(quán)限為600: chmod600/etc/inetd.conf 而且該文件應(yīng)該不被任何用戶修改,包括root用戶。因此為了防止用戶錯(cuò)誤的修改該文件,為該文件添加不可修改位: chattr+i/etc/inetd.conf 對(duì)于獨(dú)立服務(wù)器,則需要通過/usr/sbin/ntsysv命令來修改: 只需要服務(wù)前面通過空格鍵來選擇是否在系統(tǒng)啟動(dòng)時(shí)啟動(dòng)該服務(wù)就可以實(shí)現(xiàn)關(guān)閉某個(gè)服務(wù)器,如:希望系統(tǒng)關(guān)閉dhcpd服務(wù),則通過上下鍵選中該服務(wù)器,然后通過空格鍵去掉該服務(wù)前[]內(nèi)的星號(hào)即表示系統(tǒng)啟動(dòng)時(shí)不開放該服務(wù)。若希望了解某個(gè)服務(wù)的具體含義,可以選擇該服務(wù)以后按F1鍵來查看該服務(wù)的含義。 設(shè)置完畢以后,只有希望打開的服務(wù)前的[]內(nèi)才會(huì)有星號(hào)。然后通過Tab鍵選擇OK,按空格鍵。重新啟動(dòng)機(jī)器。 重新啟動(dòng)機(jī)器以后,可以通過下面的命令來察看系統(tǒng)打開了哪些服務(wù),來決定是否已經(jīng)關(guān)閉了不需要的服務(wù),例如我僅僅希望提供telnet服務(wù)則:
ActiveInternetconnections(onlyservers)
◆二、控制使用開放的服務(wù)的用戶 在上面提到的/etc/inetd.conf的配置文件中,我們看到pop3服務(wù)配置一行的最后兩個(gè)字段為: /usr/sbin/tcpdipop3d 很顯然,pop3的服務(wù)器程序?yàn)閕pop3d,那么/usr/sbin/tcpd又是什么含義呢?這是一個(gè)稱為Tcpwrapper的安全程序。該程序用來在啟動(dòng)某個(gè)服務(wù)以前查看兩個(gè)配置文件來決定該用戶是否允許使用該服務(wù)。在/etc目錄下,有兩個(gè)文件:hosts.denyhosts.allow。 通過配置這兩個(gè)文件,你可以指定哪些客戶機(jī)允許使用這些服務(wù)。配置這兩個(gè)文件是通過一種簡單的訪問控制語言來實(shí)現(xiàn)的,訪問控制語句的基本格式為:程序名列表,主機(jī)名/IP地址列表。 程序名列表指定一個(gè)或者多個(gè)提供相應(yīng)服務(wù)的程序的名字,名字之間用逗號(hào)或者空格分隔,可以在inetd.conf文件里查看提供相應(yīng)服務(wù)的程序名:如上面的文件示例中,pop所在行的最后一項(xiàng)就是所需的程序名:ipop3d。 主機(jī)名/IP地址列表指定允許或者禁止使用該服務(wù)的一個(gè)或者多個(gè)主機(jī)的標(biāo)識(shí),主機(jī)名之間用逗號(hào)或空格分隔。程序名和主機(jī)地址都可以使用通配符,實(shí)現(xiàn)方便的指定多項(xiàng)服務(wù)和多個(gè)主機(jī)。當(dāng)服務(wù)請(qǐng)求到達(dá)服務(wù)器時(shí),訪問控制軟件就按照下列順序查詢這兩個(gè)文件,直到遇到一個(gè)匹配為止: 1、當(dāng)在/etc/hosts.allow里面有一項(xiàng)與請(qǐng)求服務(wù)的主機(jī)地址項(xiàng)匹配,那么就允許該主機(jī)獲取該服務(wù) 2、否則,如果在/etc/hosts.deny里面有一項(xiàng)與請(qǐng)求服務(wù)的主機(jī)地址項(xiàng)匹配,就禁止該主機(jī)使用該項(xiàng)服務(wù) 3、若均沒有匹配,則允許使用該服務(wù)。若相應(yīng)的配置文件不存在,訪問控制軟件就認(rèn)為是一個(gè)空文件,所以可以通過刪除或者移走配置文件實(shí)現(xiàn)對(duì)所有主機(jī)關(guān)閉所有服務(wù)。 在文件中,空白行或者以#開頭的行被忽略,你可以通過在行前加#實(shí)現(xiàn)注釋功能。Linux提供了下面靈活的方式指定進(jìn)程或者主機(jī)列表: 1、一個(gè)以"."起始的域名串,如.amms.ac.cn那么www.amms.ac.cn就和這一項(xiàng)匹配成功 2、以.結(jié)尾的IP串如202.37.152.那么IP地址包括202.37.152.的主機(jī)都與這一項(xiàng)匹配 3、格式為n.n.n.n/m.m.m.m表示網(wǎng)絡(luò)/掩碼,如果請(qǐng)求服務(wù)的主機(jī)的IP地址與掩碼的位與的結(jié)果等于n.n.n.n那么該主機(jī)與該項(xiàng)匹配。 4、ALL表示匹配所有可能性 5、EXPECT表示除去后面所定義的主機(jī)。如:list_1EXCEPTlist_2表示list_1主機(jī)列表中除去List_2所列出的主機(jī) 6、LOCAL表示匹配所有主機(jī)名中不包含.的主機(jī) 上面的幾種方式只是Linux提供的方式中的幾種,但是對(duì)于我們的一般應(yīng)用來說是足夠了。我們通過舉幾個(gè)例子來說明這個(gè)問題: 例一:我們只希望允許同一個(gè)局域網(wǎng)的機(jī)器使用服務(wù)器的ftp功能,而禁止互聯(lián)網(wǎng)上面的ftp服務(wù)請(qǐng)求,本地局域網(wǎng)由202.39.154.、202.39.153.和202.39.152.三個(gè)網(wǎng)段組成。在hosts.deny文件中,我們定義禁止所有機(jī)器請(qǐng)求所有服務(wù):ALL:ALL在hosts.allow文件中,我們定義只允許局域網(wǎng)訪問ftp功能: in.ftpd:202.39.154202.39.153.202.39.152. 這樣,當(dāng)非局域網(wǎng)的機(jī)器請(qǐng)求ftp服務(wù)時(shí),就會(huì)被拒絕。而局域網(wǎng)的機(jī)器可以使用ftp服務(wù)。 ALL:ALL 然后重新啟動(dòng)你的inetd進(jìn)程: /etc/rc.d/init.d/inetrestart 但是hosts.deny|allow文件只控制/etc/inetd.conf文件中包含的服務(wù)的訪問這些服務(wù)有/usr/bin/tcpd管理,監(jiān)聽接入的網(wǎng)絡(luò)請(qǐng)求,然后與在hosts.allow和hosts.deny的中的服務(wù)比較,然后做出允許或拒絕的決定。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |