Linux服務(wù)器平臺(tái)的安全保護(hù) (3) |
發(fā)布時(shí)間: 2012/8/15 18:14:41 |
有連接請(qǐng)求,然后對(duì)照一個(gè)訪問(wèn)控制列表(ACL)檢驗(yàn)該請(qǐng)求。如果該連接是允許的,TCP Wrappers將此連接請(qǐng)求傳遞給相應(yīng)的真正守護(hù)進(jìn)程,例如telnet。如果該連接是禁止的,則TCP Wrappers會(huì)丟棄此連接請(qǐng)求。對(duì)于Linux系統(tǒng),TCP Wrappers缺省時(shí)就被安裝到系統(tǒng)中,我們只需編輯/etc/hosts.allow和/etc/hosts.deny文件即可。這些文件用于確定什么人能和不能訪問(wèn)系統(tǒng)。TCP Wrappers的語(yǔ)法比較簡(jiǎn)單,將被允許網(wǎng)絡(luò)連接的IP地址或網(wǎng)絡(luò)添加到/etc/hosts.allow文件,將被禁止網(wǎng)絡(luò)連接的IP地址或網(wǎng)絡(luò)添加到/etc/hosts.deny文件。缺省時(shí),Linux允許所有連接,所以需要對(duì)這兩個(gè)文件進(jìn)行修改。對(duì)于TCP Wrappers有以下兩點(diǎn)建議: 使用IP地址而不是系統(tǒng)名字或域名。 設(shè)置/etc/hosts.deny文件禁止所有連接(ALL),然后在/etc/hosts.allow文件中指定僅允許特定主機(jī)和網(wǎng)絡(luò)。 5、更嚴(yán)格的安全配置 以上討論的內(nèi)容包括了所有的要點(diǎn)。通過(guò)執(zhí)行以上操作,你就可以顯著增強(qiáng)系統(tǒng)的安全性。然后不幸的是,你的系統(tǒng)并不是100%安全,而且永遠(yuǎn)也不會(huì)是。因此,這里提供幾個(gè)更嚴(yán)格的安全配置方法和步驟。 首先是創(chuàng)建whell用戶組。wheel用戶組包含了允許執(zhí)行一些功能強(qiáng)大命令(例如/usr/bin/su)的用戶帳號(hào)列表。通過(guò)限制有權(quán)限訪問(wèn)這些命令的用戶帳號(hào),就能夠增強(qiáng)系統(tǒng)的安全性。要?jiǎng)?chuàng)建wheel組,用vi編輯文件/etc/group,創(chuàng)建wheel組并為其增加系統(tǒng)管理員帳號(hào)。然后確定重要的系統(tǒng)程序,例如/usr/bin/su。 把這些程序文件的組用戶設(shè)置為wheel,并只允許程序的屬主和組用戶執(zhí)行(注意要保留必需的suid或guid位)。例如對(duì)于/usr/bin/su,使用如下命令: /usr/bin/chgrp wheel /usr/bin/su /usr/bin/chmod 4750 /usr/bin/su 然后,我們需要限制.rhosts、.netrc和/etc/hosts.equiv文件的使用。r系列命令使用這些文件來(lái)訪問(wèn)系統(tǒng)。要為這些文件加鎖,先創(chuàng)建它們,然后修改其屬性為零即可。這樣除了root用戶就沒(méi)有其它用戶能創(chuàng)建或修改它們了。 例如: /usr/bin/touch /.rhosts /.netrc /etc/hosts.equiv /usr/bin/chmod 0 /.rhosts /.netrc /etc/hosts.equiv
在以前的舊版本中,必須手工修改PAM模塊以使用MD5哈希函數(shù)。然而在Red Hat 6.0及更高版本中,可用setup工具選擇MD5哈希。在命令行輸入"setup"然后選擇"authentication configuration",從那里就能夠選擇使用MD5哈希。然而,MD5哈希在用戶再次輸入其口令前并未真正生效。如果因?yàn)槟承┰虿皇褂胹etup工具,手工修改PAM模塊也是可以的。 作為bash用戶,我不大愿意使用.bash_history文件,因?yàn)椴幌M麆e人(包括root)知道我曾經(jīng)運(yùn)行了哪些命令。所以,在.bash_profile文件里,我添加了一行,這樣命令就不會(huì)被記錄到.bash_history文件: HISTFILESIZE=0 最后一件事情是保護(hù)系統(tǒng)不被攻擊者物理訪問(wèn)。一是要為BIOS設(shè)置口令,二是通過(guò)在/etc/lilo.conf文件中配置口令保護(hù)(password=xxx)系統(tǒng)的啟動(dòng)過(guò)程。然而記住,一旦系統(tǒng)被入侵者能夠完全物理接觸,則沒(méi)有任何方法能保證系統(tǒng)的絕對(duì)安全了。 6、IPChains 討論Linux安全性,不可能不討論IPChains。IPChains是集成到2.2.x內(nèi)核中的包過(guò)濾防火墻軟件。只要運(yùn)行了Red Hat 6.0或更高版本,IPChains已在Linux的安裝包中。IPChains與Cisco Access Control Lists(訪問(wèn)控制列表)相似,它能夠控制什么數(shù)據(jù)包能夠進(jìn)出Linux系統(tǒng)。作為一個(gè)防火墻軟件,IPChains能夠用于保護(hù)Linux系統(tǒng)。要保護(hù)一臺(tái)獨(dú)立服務(wù)器系統(tǒng),可以配置IPChains僅允許出站的TCP連接。如果外部主機(jī)試圖發(fā)起任何TCP連接,都會(huì)被禁止創(chuàng)建連接。由于IPChains不是基于狀態(tài)過(guò)濾的,因此通常允許所有的UDP和ICMP連接。最后,應(yīng)該記錄下所有的被禁止連接,這樣可以發(fā)現(xiàn)可能的攻擊企圖。然而,對(duì)于廣播和多播數(shù)據(jù)包,應(yīng)該將其丟棄,因?yàn)檫@些數(shù)據(jù)包可能會(huì)很快地填滿系統(tǒng)日志。以下是一個(gè)IPChains配置例子(保護(hù)獨(dú)立服務(wù)器系統(tǒng)): bash# ipchains -L Chain input (policy DENY): target prot opt source destination ports DENY all ------ 0.0.0.0 anywhere n/a DENY all ------ anywhere 255.255.255.255 n/a DENY all ------ anywhere BASE-ADDRESS.MCAST.NET/8 n/a ACCEPT tcp !y---- anywhere anywhere any -> any ACCEPT udp ----l- anywhere anywhere any -> any ACCEPT icmp ----l- anywhere anywhere any -> any DENY all ----l- anywhere anywhere n/a Chain forward (policy ACCEPT): Chain output (policy ACCEPT): 7、結(jié)論 我們?cè)诒疚闹杏懻摿巳绾伟踩渲靡慌_(tái)Linux系統(tǒng)(Red Hat發(fā)行版本)的一些主要步驟。使一個(gè)系統(tǒng)安全的關(guān)鍵是最小化安裝,使用TCP Wrappers、IPChains等軟件、用shadow口令增加安全防護(hù)。此外還有一些附加步驟,例如tripwire(監(jiān)視系統(tǒng)文件的改動(dòng))和swatch(日志監(jiān)視和報(bào)警工具)。另外向Linux初學(xué)者推薦一個(gè)能夠自動(dòng)對(duì)新安裝的Linux系統(tǒng)進(jìn)行安全配置的PERL腳本:Bastille。記住,沒(méi)有系統(tǒng)是真正100%安全的。然而,通過(guò)以上列出的操作步驟,可以較大幅度地減少安全風(fēng)險(xiǎn)。
本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |