概括linux系統安全設置的方法
學習linux操作系統時,你可能會遇到linux系統安全問題,這里將介紹Linux系統安全問題的解決方法,包含有取消不必要的服務、限制系統的出入等技術。
Linux作為開放式的操作系統受到很多程序員的喜愛,很多高級程序員都喜歡編寫Linux操作系統的相關軟件。這使得Linux操作系統有著豐富的軟件支持,還有無數的技術人員作為技術后盾和技術支持,這使得Linux越來越受到程序員的歡迎。
但這種開放式的操作系統有一個最大的弊端就是每個程序員的水平不等,編寫相關軟件后并未注意自己程序中的漏洞。沒有統一的漏洞檢查,這使得Linux的軟件中會出現很多的漏洞,而軟件開發者卻很難察覺自己編寫程序的漏洞,但黑客們會非常注意這些漏洞,并且會利用這些漏洞來達到自己的目的。那么是不是Linux系統就不安全了呢?其實大可不必擔心,Linux系統的安全性還是比窗口系統要安全的。只要做好下述幾點便可安心的使用Linux系統。去體驗別樣的操作體會。
一、取消不必要的服務
早期的Unix版本中,每一個不同的網絡服務都有一個服務程序在后臺運行,后來的版本用統一的/etc/inetd服務器程序擔此重任。Inetd是Internetdaemon的縮寫,它同時監視多個網絡端口,一旦接收到外界傳來的連接信息,就執行相應的TCP或UDP網絡服務。由于受inetd的統一指揮,因此Linux中的大部分TCP或UDP服務都是在/etc/inetd.conf文件中設定。所以取消不必要服務的第一步就是檢查/etc/inetd.conf文件,在不要的服務前加上“#”號。
一般來說,除了http、smtp、telnet和ftp之外,其他服務都應該取消,諸如簡單文件傳輸協議tftp、網絡郵件存儲及接收所用的imap/ipop傳輸協議、尋找和搜索資料用的gopher以及用于時間同步的daytime和time等。
還有一些報告系統狀態的服務,如finger、efinger、systat和netstat等,雖然對系統查錯和尋找用戶非常有用,但也給黑客提供了方便之門。例如,黑客可以利用finger服務查找用戶的電話、使用目錄以及其他重要信息。因此,很多Linux系統將這些服務全部取消或部分取消,以增強系統的安全性。Inetd除了利用/etc/inetd.conf設置系統服務項之外,還利用/etc/services文件查找各項服務所使用的端口。因此,用戶必須仔細檢查該文件中各端口的設定,以免有安全上的漏洞。
在Linux中有兩種不同的服務型態:一種是僅在有需要時才執行的服務,如finger服務;在Linux中有兩種不同的服務型態:一種是僅在有需要時才執行的服務,這類服務在系統啟動時就開始執行,因此不能靠修改inetd來停止其服務,而只能從修改/etc/rc.d/rc[n].d/文件或用Runleveleditor去修改它。提供文件服務的NFS服務器和提供NNTP新聞服務的news都屬于這類服務,如果沒有必要,最好取消這些服務。
二、限制系統的出入
在進入Linux系統之前,所有用戶都需要登錄,也就是說,用戶需要輸入用戶賬號和密碼,只有它們通過系統驗證之后,用戶才能進入系統。
與其他Unix操作系統一樣,Linux一般將密碼加密之后,存放在/etc/passwd文件中。Linux系統上的所有用戶都可以讀到/etc/passwd文件,雖然文件中保存的密碼已經經過加密,但仍然不太安
全。因為一般的用戶可以利用現成的密碼破譯工具,以窮舉法猜測出密碼。比較安全的方法是設定影子文件/etc/shadow,只允許有特殊權限的用戶閱讀該文件。
三、重新編譯程序
在Linux系統中,如果要采用影子文件,必須將所有的公用程序重新編譯,才能支持影子文件。這種方法比較麻煩,比較簡便的方法是采用插入式驗證模塊(PAM)。很多Linux系統都帶有Linux的工具程序PAM,它是一種身份驗證機制,可以用來動態地改變身份驗證的方法和要求,而不要求重新編譯其他公用程序。這是因為PAM采用封閉包的方式,將所有與身份驗證有關的邏輯全部隱藏在模塊內,因此它是采用影子檔案的最佳幫手。
四、增強安全防護工具
SSH是安全套接層的簡稱,它是可以安全地用來取代rlogin、rsh和rcp等公用程序的一套程序組。SSH采用公開密鑰技術對網絡上兩臺主機之間的通信信息加密,并且用其密鑰充當身份驗證的工具。由于SSH將網絡上的信息加密,因此它可以用來安全地登錄到遠程主機上,并且在兩臺主機之間安全地傳送信息。實際上,SSH不僅可以保障Linux主機之間的安全通信,Windows用戶也可以通過SSH安全地連接到Linux服務器上。
五、限制超級用戶的權力
我們在前面提到,root是Linux保護的重點,由于它權力無限,因此最好不要輕易將超級用戶授權出去。但是,有些程序的安裝和維護工作必須要求有超級用戶的權限,在這種情況下,可以利用其他工具讓這類用戶有部分超級用戶的權限。Sudo就是這樣的工具。Sudo程序允許一般用戶經過組態設定后,以用戶自己的密碼再登錄一次,取得超級用戶的權限,但只能執行有限的幾個指令。
六、設定用戶賬號的安全等級
除密碼之外,用戶賬號也有安全等級,這是因為在Linux上每個賬號可以被賦予不同的權限,因此在建立一個新用戶ID時,系統管理員應該根據需要賦予該賬號不同的權限,并且歸并到不同的用戶組中。
以上給大家講解了保證linux系統安全的六大因素。
【編輯推薦】