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