由於Linux操作系統具有突出的功能和可靠的穩定性,現在有越來越多的用戶開始學習和使用Linux了。在學習和使用Linux的過程中,筆者也搜集和整理了一些安全管理Linux的小訣竅,現在把它們貢獻出來,懇請各位網友能不斷補充和完善。
1、對系統進行完整備份
為了防止系統在使用的過程中發生以外情況而難以正常運行,我們應該對Linux完好的系統進行備份,最好是在一完成Linux系統的安裝任務後就對整個系統進行備份,以後可以根據這個備份來驗證系統的完整性,這樣就可以發現系統文件是否被非法修改過。如果發生系統文件已經被破壞的情況,也可以使用系統備份來恢復到正常的狀態。備份信息時,我們可以把完好的系統信息備份在CD-ROM光盤上,以後可以定期將系統與光盤內容進行比較以驗證系統的完整性是否遭到破壞。如果對安全級別的要求特別高,那麼可以將光盤設置為可啟動的並且將驗證工作作為系統啟動過程的一部分。這樣只要可以通過光盤啟動,就說明系統尚未被破壞過。
2、改進登錄服務器
將系統的登錄服務器移到一個單獨的機器中會增加系統的安全級別,使用一個更安全的登錄服務器來取代Linux自身的登錄工具也可以進一步提高安全。在大的Linux網絡中,最好使用一個單獨的登錄服務器用於syslog服務。它必須是一個能夠滿足所有系統登錄需求並且擁有足夠的磁盤空間的服務器系統,在這個系統上應該沒有其它的服務運行。更安全的登錄服務器會大大削弱入侵者透過登錄系統竄改日志文件的能力。
3、為關鍵分區建立只讀屬性
Linux的文件系統可以分成幾個主要的分區,每個分區分別進行不同的配置和安裝,一般情況下至少要建立/、/usr/local、/var和/home等分區。/usr可以安裝成只讀並且可以被認為是不可修改的。如果/usr中有任何文件發生了改變,那麼系統將立即發出安全報警。當然這不包括用戶自己改變/usr中的內容。/lib、/boot和/sbin的安裝和設置也一樣。在安裝時應該盡量將它們設置為只讀,並且對它們的文件、目錄和屬性進行的任何修改都會導致系統報警。
當然將所有主要的分區都設置為只讀是不可能的,有的分區如/var等,其自身的性質就決定了不能將它們設置為只讀,但應該不允許它具有執行權限。
4、改進系統內部安全機制
我們可以通過改進Linux操作系統的內部功能來防止緩沖區溢出,從而達到增強Linux系統內部安全機制的目的,大大提高了整個系統的安全性。但緩沖區溢出實施起來是相當困難的,因為入侵者必須能夠判斷潛在的緩沖區溢出何時會出現以及它在內存中的什麼位置出現。緩沖區溢出預防起來也十分困難,系統管理員必須完全去掉緩沖區溢出存在的條件才能防止這種方式的攻擊。正因為如此,許多人甚至包括Linux Torvalds本人也認為這個安全Linux補丁十分重要,因為它防止了所有使用緩沖區溢出的攻擊。但是需要引起注意的是,這些補丁也會導致對執行棧的某些程序和庫的依賴問題,這些問題也給系統管理員帶來的新的挑戰。
5、設置陷井和蜜罐
所謂陷井就是激活時能夠觸發報警事件的軟件,而蜜罐(honey pot)程序是指設計來引誘有入侵企圖者觸發專門的報警的陷井程序。通過設置陷井和蜜罐程序,一旦出現入侵事件系統可以很快發出報警。在許多大的網絡中,一般都設計有專門的陷井程序。陷井程序一般分為兩種:一種是只發現入侵者而不對其采取報復行動,另一種是同時采取報復行動。
6、將入侵消滅在萌芽狀態
入侵者進行攻擊之前最常做的一件事情就是端號掃瞄,如果能夠及時發現和阻止入侵者的端號掃瞄行為,那麼可以大大減少入侵事件的發生率。反應系統可以是一個簡單的狀態檢查包過濾器,也可以是一個復雜的入侵檢測系統或可配置的防火牆。我們可以采用諸如Abacus Port Sentry這樣專業的工具,來監視網絡接口並且與防火牆交互操作,最終達到關閉端口掃瞄攻擊的目的。當發生正在進行的端口掃瞄時,Abacus Sentry可以迅速阻止它繼續執行。但是如果配置不當,它也可能允許敵意的外部者在你的系統中安裝拒絕服務攻擊。正確地使用這個軟件將能夠有效地防止對端號大量的並行掃瞄並且阻止所有這樣的入侵者。