與(yǔ)黑客說“不” 防範Linux安(ān)全11條措施(shī)
由於Linux操作(zuò)係統(tǒng)良好的(de)網絡功能(néng),因此在(zài)因特網中大部分(fèn)網站服務器(qì)都是使(shǐ)用的Linux作(zuò)為主操作(zuò)係統的。但(dàn)由於該操作係(xì)統是一個(gè)多(duō)用戶操作係統,黑(hēi)客(kè)們為了在攻擊中隱藏自己,往往會選擇Linux作為首(shǒu)先(xiān)攻(gōng)擊的對象。那麽(me),作為(wéi)一名Linux用戶,我們該如何通過合理的方(fāng)法來防範Linux的安全呢?下麵筆(bǐ)者搜集和整理了一些防(fáng)範Linux安(ān)全(quán)的幾則措施,現在把它們貢獻出來,懇請各位網友能不斷補(bǔ)充和完善。
1、禁(jìn)止使用ping命令(lìng)
ping命令是計(jì)算機之間進行相(xiàng)互檢測(cè)線路完好(hǎo)的一個應用程序,計算機間交(jiāo)流(liú)數據(jù)的傳輸沒有經過(guò)任何(hé)的加密處(chù)理,因此(cǐ)我們在(zài)用ping命令來檢測某一個服務器時,可能在因特網上存在(zài)某個非法分子(zǐ),通過專門的黑(hēi)客程序把在網絡線路上傳(chuán)輸的信息中途(tú)竊取,並利(lì)用偷盜過來的信息對(duì)指定的服務器或者係統進行攻擊(jī),為此我們有(yǒu)必要在Linux係統中禁止使用Linux命令。在linux裏,如(rú)果要想(xiǎng)使ping沒反應也就是(shì)用來忽(hū)略icmp包(bāo),因此(cǐ)我們(men)可以在Linux的命(mìng)令行中輸入如下(xià)命令:echo 1 /proc/sys/net/ipv4/icmp_echo_igore_all ;如(rú)果(guǒ)想(xiǎng)恢複使用ping命令,就可(kě)以輸入echo 0 /proc/sys/net/ipv4/icmp_echo_igore_all命令(lìng)。
2、注意對(duì)係統及時備份
為了防止(zhǐ)係統(tǒng)在使用的過程中發生以外(wài)情況而難以正常運行,我(wǒ)們應該對Linux完好的係統(tǒng)進行備份,最好是在一完成(chéng)Linux係統的安裝(zhuāng)任務後(hòu)就對整個(gè)係統進行(háng)備份,以後可以根據這(zhè)個備份(fèn)來(lái)驗證係統的(de)完整性,這樣就可以發(fā)現係(xì)統文(wén)件是否(fǒu)被非法(fǎ)修改過。如(rú)果(guǒ)發生係(xì)統文件已經被破(pò)壞的(de)情況,也可(kě)以使用係統(tǒng)備份來恢複到正常的狀態。備份信息時,我們可以把完好的係(xì)統信息備份在CD-ROM光盤(pán)上,以後(hòu)可(kě)以定期將係統與光盤內容進(jìn)行比(bǐ)較以驗證係統的完整(zhěng)性是否遭到破壞。如果(guǒ)對安全級別的要求特別(bié)高,那(nà)麽(me)可以將光盤設置(zhì)為可(kě)啟動的(de)並且將驗證工作作為(wéi)係統啟動過程的一部(bù)分。這(zhè)樣隻要可以通過光盤啟動,就(jiù)說明(míng)係統尚未被破壞過。
3、改(gǎi)進登錄服務(wù)器
將係(xì)統(tǒng)的登錄服(fú)務(wù)器移到一個單獨的機器中會增加係統的安(ān)全級別,使用(yòng)一個更安全(quán)的登錄服務器(qì)來取代Linux自身的登錄工具也可以進一(yī)步提高安全(quán)。在大的Linux網(wǎng)絡中,最好使用(yòng)一個單獨(dú)的登錄服務器(qì)用(yòng)於syslog服務。它必劇情網須是一個能(néng)夠滿足所(suǒ)有係統登(dēng)錄需求並(bìng)且擁有足夠的磁盤空(kōng)間的服務器係統,在這個(gè)係統上應該(gāi)沒有其它的(de)服務(wù)運(yùn)行。更安全的登錄服務器會大大削(xuē)弱入侵(qīn)者透(tòu)過登錄係(xì)統(tǒng)竄改(gǎi)日誌文件的能力(lì)。
4、取消(xiāo)root命(mìng)令曆史記(jì)錄(lù)
在linux下,係(xì)統會(huì)自動記(jì)錄用戶輸(shū)入過的命令,而root用戶發出的命令往往具有敏感的信息,為了保證安全性(xìng),一般應該不記錄或(huò)者少記(jì)錄root的命令曆史(shǐ)記錄。為了設置(zhì)係(xì)統不記錄每個(gè)人執行過的命令,我們可以在linux的(de)命令行下,首先用(yòng)cd命令(lìng)進入到/etc命令,然後用編輯命令(lìng)來打開該目錄下麵的profile文件,並在其中輸入(rù)如下內(nèi)容:
HISTFILESIZE=0
HISTSIZE=0
當然,我們也可以(yǐ)直接在命令行中輸入如下命令:ln -s /dev/null ~/.bash_history 。
5、為(wéi)關(guān)鍵分區建立隻讀(dú)屬性
Linux的文件係統可以分成幾個主要的分區,每個分區(qū)分別進行不同(tóng)的配置和(hé)安裝,一般(bān)情況下(xià)至少要建立(lì)/、/usr/local、/var和/home等(děng)分(fèn)區。/usr可(kě)以安裝成隻讀並且可以被認為是(shì)不可修改的。如果/usr中有任何文件發生了改變,那麽係統將立(lì)即(jí)發出安全報警。當然這不包(bāo)括(kuò)用戶(hù)自己改變/usr中的內容。/lib、/boot和/sbin的安裝和設置也(yě)一樣。在安裝時應該盡量(liàng)將它們(men)設置為隻(zhī)讀,並且(qiě)對它們的文件、目(mù)錄和屬性進行(háng)的任何修改都(dōu)會導(dǎo)致係(xì)統報警。
當(dāng)然將所有主要的分區(qū)都設置為隻讀是不可能的,有的分區(qū)如/var等,其自身的(de)性(xìng)質就決(jué)定了不能將它們(men)設置為隻(zhī)讀,但應該(gāi)不允(yǔn)許它具有執行權限。
6、殺掉攻擊者的(de)所(suǒ)有進程
假設我們從係(xì)統的日誌文件中發現了一個用(yòng)戶從我們未知的(de)主機登錄(lù),而且(qiě)我們確定該用戶在(zài)這台主機上沒(méi)有相應的(de)帳(zhàng)號,這表明(míng)此時我們正(zhèng)在受到攻(gōng)擊。為了保證係統的(de)安全被進一步破壞,我們應該馬上鎖住(zhù)指(zhǐ)定的帳號,如果攻擊者(zhě)已經登錄到指定的係統,我們(men)應該馬上斷開主機與(yǔ)網絡的物(wù)理(lǐ)連接。如有可能,我們還要進一步查看此用戶的曆(lì)史記錄,再仔細查看一(yī)下其(qí)他用戶是(shì)否(fǒu)也(yě)已經被假冒,攻(gōng)擊(jī)者(zhě)是否(fǒu)擁有有限權限;最後應該殺掉此用戶(hù)的所有進程,並把此主(zhǔ)機(jī)的IP地(dì)址掩碼加(jiā)入到文件hosts.deny中。
7、改進係統內部(bù)安全機製(zhì)
我們可以通(tōng)過改進Linux操作(zuò)係(xì)統的內部(bù)功(gōng)能來防止緩衝區溢出(chū),從而(ér)達到增強Linux係統內部安全機製的目的,大大(dà)提高了整個係統的安全性(xìng)。但(dàn)緩衝區溢出實施起來是相當困難(nán)的,因為入侵者必(bì)須能夠判斷潛在的緩衝區溢出(chū)何時(shí)會出(chū)現以及它在內存中的什麽位置出現。緩衝區溢(yì)出(chū)預防起來也十(shí)分困(kùn)難,係(xì)統管理員必須(xū)完(wán)全去掉緩衝區(qū)溢出存在的(de)條件才能防止這種(zhǒng)方式的(de)攻擊。正(zhèng)因為如此(cǐ),許多人(rén)甚至包括Linux Torvalds本人也認為這個安全Linux補丁十分重要,因為它防(fáng)止了所有(yǒu)使用緩衝區溢出的攻擊。但是(shì)需要引起注(zhù)意的是,這些(xiē)補丁也會導致對執行棧的某些(xiē)程序和(hé)庫的依(yī)賴問題,這些問題也給係統管(guǎn)理(lǐ)員帶(dài)來(lái)的(de)新的挑戰。
8、對係統(tǒng)進行跟蹤(zōng)記(jì)錄
為了能(néng)密切地監視黑客的攻(gōng)擊活動(dòng),我們應該啟(qǐ)動日(rì)誌文件,來記錄係(xì)統的運行情況,當黑客在攻(gōng)擊係統(tǒng)時,它的蛛絲馬(mǎ)跡都(dōu)會(huì)被記錄在日誌文(wén)件中(zhōng)的,因此有許多黑(hēi)客在開始(shǐ)攻擊係統時,往往首(shǒu)先通過修改係統(tǒng)的日誌文件,來隱藏自己(jǐ)的行蹤,為此我們必須限製(zhì)對/var/log文件的訪問,禁止一般權限的(de)用(yòng)戶去查(chá)看日(rì)誌文件。當(dāng)然,係統中(zhōng)內置的日(rì)誌管理程序功(gōng)能可能不是(shì)太強,我們應該采用(yòng)專門的日誌程(chéng)序,來(lái)觀察那些可疑的多次連接嚐試。另外,我們還要小心(xīn)保護好具有根權限的密碼和(hé)用戶,因為黑客一旦知道了(le)這(zhè)些具有根權限的帳號後(hòu),他們就(jiù)可以(yǐ)修改(gǎi)日(rì)誌(zhì)文件(jiàn)來隱藏其蹤跡了。
9、使用專(zhuān)用程序來防範安全
有時(shí),我們(men)通過人工的方法來監視係統的安(ān)全比較麻煩,或者是不周密,因此我們還(hái)可以通過專業程(chéng)序來(lái)防(fáng)範係統(tǒng)的安(ān)全,目(mù)前最典型的方法為設置(zhì)陷井(jǐng)和設置(zhì)蜜罐兩種方法(fǎ)。所謂陷井就是激(jī)活時能夠觸發報(bào)警事件的軟件,而蜜罐(honey pot)程(chéng)序是(shì)指設計來引誘有入侵企圖(tú)者觸(chù)發(fā)專門的(de)報警的陷(xiàn)井程序(xù)。通過設置陷(xiàn)井和蜜罐程序,一旦出現入侵事件係統(tǒng)可(kě)以很快發出報(bào)警。在許多大的網絡(luò)中,一般都設計有專(zhuān)門(mén)的陷井程序。陷井程序一般分為兩種:一種是隻發現入侵者而不對其(qí)采取(qǔ)報複行動(dòng),另一種是同(tóng)時采取報複行動。
10、將入侵(qīn)消滅在萌芽(yá)狀(zhuàng)態
入侵者進行攻擊之前最(zuì)常做的一件(jiàn)事情就(jiù)是端號掃瞄,如(rú)果能夠及時發現(xiàn)和(hé)阻止入侵者(zhě)的(de)端號(hào)掃(sǎo)瞄行為,那麽可以(yǐ)大(dà)大減少入侵事件的發生(shēng)率。反應(yīng)係(xì)統可(kě)以是一個簡單的(de)狀態檢查包(bāo)過濾器,也可以是(shì)一個(gè)複雜的入侵檢測係統(tǒng)或(huò)可配(pèi)置的(de)防火牆。我們可以采用(yòng)諸如Abacus Port Sentry這樣專業(yè)的工(gōng)具(jù),來監視網絡接口並且與防火牆交互操作,最終(zhōng)達到關(guān)閉端口掃瞄攻擊的目的。當發生正在進(jìn)行的端口掃瞄時,Abacus Sentry可以(yǐ)迅速(sù)阻止它繼續執行。但是如(rú)果配置不當,它也(yě)可能允許敵意的外部者在你的係統中安(ān)裝拒絕服務攻(gōng)擊。正確地(dì)使用這個軟件將能夠有效地防止對端號(hào)大量的並行掃(sǎo)瞄並且阻止所有這(zhè)樣的入侵者。
11、嚴(yán)格管理好口令
前麵我們也曾經說(shuō)到過,黑客一旦獲取具(jù)有(yǒu)根權限的帳號(hào)時,就(jiù)可以(yǐ)對係統進行任意的破壞和攻擊,因此我們必須保護好係統的(de)操作口令。通常用戶的口令是保存在文件/etc/passwd文件(jiàn)中(zhōng)的(de),盡管/etc/passwd是(shì)一個經過加密的文件,但黑客們(men)可以通過許多專(zhuān)用的(de)搜索方(fāng)法來查找口令,如果我們(men)的口令選擇不當,就很容易被黑客搜索到(dào)。因此(cǐ),我們一定要選擇一個確保不容易被搜索的口令。另外,我們最好能安(ān)裝一個口令過濾工具,並借用該工(gōng)具(jù)來幫物料管(guǎn)理(lǐ)流程助自己檢查設置的口令是否耐得(dé)住攻擊。
關鍵詞:Linux安全(quán)
閱讀本文後您有什麽感想? 已有 人(rén)給出評價!
- 0
- 1
- 0
- 0
- 0
- 0