天津 李洋
淺析LINUX安全管理技巧
天津 李洋
Linux是一款免費(fèi)的操作系統(tǒng),用戶(hù)可以通過(guò)網(wǎng)絡(luò)或其他途徑免費(fèi)獲得,并可以任意修改其源代碼。作為一種開(kāi)放源代碼操作系統(tǒng),相對(duì)于一些系統(tǒng)本身的安全漏洞,更多的安全問(wèn)題是由不當(dāng)?shù)呐渲迷斐傻?,可以通過(guò)適當(dāng)?shù)呐渲脕?lái)防止。本文列舉了多種方法對(duì)系統(tǒng)各個(gè)方面進(jìn)行配置,以增強(qiáng)系統(tǒng)的安全性。
服務(wù)器;網(wǎng)絡(luò)訪(fǎng)問(wèn);安全機(jī)制
Linux是一種“自由(Free)軟件”:所謂自由,是指用戶(hù)可以自由地獲取程序及其源代碼,并能自由地使用他們,包括修改或拷貝等。它是網(wǎng)絡(luò)時(shí)代的產(chǎn)物,眾多的技術(shù)人員通過(guò)Internet共同完成它的研究和開(kāi)發(fā),無(wú)數(shù)用戶(hù)參與了測(cè)試和除錯(cuò),并可方便地加上用戶(hù)自己編制的擴(kuò)充功能。Linux是一種類(lèi)Unix的操作系統(tǒng)。因?yàn)樗粚儆谀骋患覐S(chǎng)商,沒(méi)有廠(chǎng)商宣稱(chēng)對(duì)它提供安全保證,因此用戶(hù)只有自己解決安全問(wèn)題。
相對(duì)于這些系統(tǒng)本身的安全漏洞,更多的安全問(wèn)題是由不當(dāng)?shù)呐渲迷斐傻?,可以通過(guò)適當(dāng)?shù)呐渲脕?lái)防止。服務(wù)器上運(yùn)行的服務(wù)越多,不當(dāng)?shù)呐渲贸霈F(xiàn)的機(jī)會(huì)也就越多,出現(xiàn)安全問(wèn)題的可能性就越大。
(一)系統(tǒng)安全記錄文件
操作系統(tǒng)內(nèi)部的記錄文件是檢測(cè)是否有網(wǎng)絡(luò)入侵的重要線(xiàn)索。如果你的系統(tǒng)是直接連到Internet,你發(fā)現(xiàn)有很多人對(duì)你的系統(tǒng)做Telnet/FTP登錄嘗試,可以運(yùn)行“#more/var/log/secure grep refused”來(lái)檢查系統(tǒng)所受到的攻擊,以便采取相應(yīng)的對(duì)策,如使用SSH來(lái)替換Telnet/rlogin等。
(二)限制網(wǎng)絡(luò)訪(fǎng)問(wèn)
1.NFS訪(fǎng)問(wèn)
如果你使用NFS網(wǎng)絡(luò)文件系統(tǒng)服務(wù),應(yīng)該確保你的/etc/exports具有最嚴(yán)格的訪(fǎng)問(wèn)權(quán)限設(shè)置,也就是意味著不要使用任何通配符、不允許root寫(xiě)權(quán)限并且只能安裝為只讀文件系統(tǒng)。
2.Inetd設(shè)置
首先要確認(rèn)/etc/inetd.conf的所有者是root,且文件權(quán)限設(shè)置為600。設(shè)置完成后,可以使用“stat”命令進(jìn)行檢查。
#chmod 600/etc/inetd.conf
然后,編輯/etc/inetd.conf禁止以下服務(wù)。
ftp telnet shell login exec talk ntalk imap pop-2 pop-3 finger auth
配置完成后,可以用tcpdchk檢查。
3.登錄終端設(shè)置
/etc/securetty文件指定了允許root登錄的tty設(shè)備,由/bin/login程序讀取,其格式是一個(gè)被允許的名字列表,你可以編輯/etc/securetty,讓root僅可在tty1終端登錄。
在Linux系統(tǒng)中,分別為不同的應(yīng)用安裝單獨(dú)的主分區(qū),將關(guān)鍵的分區(qū)設(shè)置為只讀,將大大提高文件系統(tǒng)的安全。這主要涉及到Linux自身的ext2文件系統(tǒng)的只添加(只添加)和不可變這兩大屬性。
·文件分區(qū)Linux的文件系統(tǒng)可以分成幾個(gè)主要的分區(qū),每個(gè)分區(qū)分別進(jìn)行不同的配置和安裝,一般情況下至少要建立 /、/usr/local、/var和/home等分區(qū)。/usr可以安裝成只讀并且可以被認(rèn)為是不可修改的。如果/usr中有任何文件發(fā)生了改變,那么系統(tǒng)將立即發(fā)出安全報(bào)警。當(dāng)然這不包括用戶(hù)自己改變/usr中的內(nèi)容。/lib、/boot和/sbin的安裝和設(shè)置也一樣。在安裝時(shí)應(yīng)該盡量將它們?cè)O(shè)置為只讀,并且對(duì)它們的文件、目錄和屬性進(jìn)行的任何修改都會(huì)導(dǎo)致系統(tǒng)報(bào)警。
·擴(kuò)展ext2使用ext2文件系統(tǒng)上的只添加和不可變這兩種文件屬性可以進(jìn)一步提高安全級(jí)別。不可變和只添加屬性只是兩種擴(kuò)展ext2文件系統(tǒng)的屬性標(biāo)志的方法??梢酝ㄟ^(guò)chattr命令來(lái)修改文件的這些屬性,如果要查看其屬性值的話(huà)可以使用lsattr命令。這兩種文件屬性在檢測(cè)黑客企圖在現(xiàn)有的文件中安裝入侵后門(mén)時(shí)是很有用的。為了安全起見(jiàn),一旦檢測(cè)到這樣的活動(dòng)就應(yīng)該立即將其阻止并發(fā)出報(bào)警信息。
·保護(hù)log文件當(dāng)與log文件和log備份一起使用時(shí)不可變和只添加這兩種文件屬性特別有用。系統(tǒng)管理員應(yīng)該將活動(dòng)的log文件屬性設(shè)置為只添加。當(dāng)log被更新時(shí),新產(chǎn)生的log備份文件屬性應(yīng)該設(shè)置成不可變的,而新的活動(dòng)的log文件屬性又變成了只添加。
在完成Linux系統(tǒng)的安裝以后應(yīng)該對(duì)整個(gè)系統(tǒng)進(jìn)行備份,以后可以根據(jù)這個(gè)備份來(lái)驗(yàn)證系統(tǒng)的完整性,這樣就可以發(fā)現(xiàn)系統(tǒng)文件是否被非法篡改過(guò)。如果發(fā)生系統(tǒng)文件已經(jīng)被破壞的情況,也可以使用系統(tǒng)備份來(lái)恢復(fù)到正常的狀態(tài)。
可以通過(guò)改進(jìn)Linux操作系統(tǒng)的內(nèi)部功能來(lái)防止緩沖區(qū)溢出攻擊這種破壞力極強(qiáng)卻又最難預(yù)防的攻擊方式,雖然這樣的改進(jìn)需要系統(tǒng)管理員具有相當(dāng)豐富的經(jīng)驗(yàn)和技巧,但對(duì)于許多對(duì)安全級(jí)別要求高的Linux系統(tǒng)來(lái)講還是很有必要的。
·Solaris Designer的安全Linux補(bǔ)丁。Solaris Designer用于2.0版內(nèi)核的安全Linux補(bǔ)丁提供了一個(gè)不可執(zhí)行的棧來(lái)減少緩沖區(qū)溢出的威脅,從而大大提高了整個(gè)系統(tǒng)的安全性。
·StackGuard是一個(gè)十分強(qiáng)大的安全補(bǔ)丁工具。你可以使用經(jīng)StackGuard修補(bǔ)過(guò)的gcc版本來(lái)重新編譯和鏈接關(guān)鍵的應(yīng)用。
·增加新的訪(fǎng)問(wèn)控制功能。Linux的2.3版內(nèi)核正試圖在文件系統(tǒng)中實(shí)現(xiàn)一個(gè)訪(fǎng)問(wèn)控制列表,這要可以在原來(lái)的三類(lèi)(owner、group和other)訪(fǎng)問(wèn)控制機(jī)制的基礎(chǔ)上再增加更詳細(xì)的訪(fǎng)問(wèn)控制。
系統(tǒng)主要通過(guò)阻止入侵企圖來(lái)防止入侵,而反攻擊系統(tǒng)則可以反向進(jìn)行端口掃瞄或發(fā)起其它的攻擊,這一招讓入侵者不僅入侵陰謀未能得逞,反而“引狼入室”,招致反攻擊。
有些安全系統(tǒng)如Abacus Sentry具有一定的反攻擊能力。比如有的站點(diǎn)有了防止用戶(hù)通過(guò)telnet進(jìn)行連接,在應(yīng)答telnet連接請(qǐng)求時(shí),系統(tǒng)將返回一些不受歡迎的惡意信息。這只是一種最簡(jiǎn)單也是最輕微的反攻擊措施。
用戶(hù)賬號(hào)有安全等級(jí),這是因?yàn)樵贚inux上每個(gè)賬號(hào)可以被賦予不同的權(quán)限,因此在建立一個(gè)新用戶(hù)ID時(shí),系統(tǒng)管理員應(yīng)該根據(jù)需要賦予該賬號(hào)不同的權(quán)限,并且歸并到不同的用戶(hù)組中。
在Linux系統(tǒng)上的tcpd中,可以設(shè)定允許上機(jī)和不允許上機(jī)人員的名單。其中,允許上機(jī)人員名單在/etc/hosts.allow中設(shè)置,不允許上機(jī)人員名單在/etc/hosts.deny中設(shè)置。設(shè)置完成之后,需要重新啟動(dòng)inetd程序才會(huì)生效。此外,Linux將自動(dòng)把允許進(jìn)入或不允許進(jìn)入的結(jié)果記錄到/rar/log/secure文件中,系統(tǒng)管理員可以據(jù)此查出可疑的進(jìn)入記錄。
每個(gè)賬號(hào)ID應(yīng)該有專(zhuān)人負(fù)責(zé)。在企業(yè)中,如果負(fù)責(zé)某個(gè)ID的職員離職,管理員應(yīng)立即從系統(tǒng)中刪除該賬號(hào)。很多入侵事件都是借用了那些很久不用的賬號(hào)。
root是Linux保護(hù)的重點(diǎn),由于它權(quán)力無(wú)限,因此最好不要輕易將超級(jí)用戶(hù)授權(quán)出去。但是,有些程序的安裝和維護(hù)工作必須要求有超級(jí)用戶(hù)的權(quán)限,在這種情況下,可以利用其他工具讓這類(lèi)用戶(hù)有部分超級(jí)用戶(hù)的權(quán)限。
Linux操作系統(tǒng)是一種公開(kāi)源碼的操作系統(tǒng),因此比較容易受到來(lái)自底層的攻擊,所以一定要有安全防范意識(shí),對(duì)系統(tǒng)采取一定的安全措施,這樣才能提高linux系統(tǒng)的安全性。
[1]王秀平.Linux系統(tǒng)管理與維護(hù)[M].北京:北京大學(xué)出版社,2010.
[2]郇濤,陳萍.Linux網(wǎng)絡(luò)服務(wù)器配置與管理[M].北京.機(jī)械工業(yè)出版社,2010.
(作者單位:天津工程職業(yè)技術(shù)學(xué)院)
(編輯 李艷華)