Linux不論在功能上、價格上或性能上都有很多優點,然而,作為開放式操作系統,它不可避免地存在一些安全隱患。關于如何解決這些隱患,為應用提供一個安全的操作平臺,本文會告訴你一些最基本、最常用,同時也是最有效的招數。
Linux是一種類Unix的操作系統。從理論上講,Unix本身的設計并沒有什么重大的安全缺陷。多年來,絕大多數在Unix操作系統上發現的安全問題主要存在于個別程序中,所以大部分Unix廠商都聲稱有能力解決這些問題,提供安全的Unix操作系統。但Linux有些不同,因為它不屬于某一家廠商,沒有廠商宣稱對它提供安全保證,因此用戶只有自己解決安全問題。
Linux是一個開放式系統,可以在網絡上找到許多現成的程序和工具,這既方便了用戶,也方便了黑客,因為他們也能很容易地找到程序和工具來潛入Linux系統,或者盜取Linux系統上的重要信息。不過,只要我們仔細地設定Linux的各種系統功能,并且加上必要的安全措施,就能讓黑客們無機可乘。
一般來說,對Linux系統的安全設定包括取消不必要的服務、限制遠程存取、隱藏重要資料、修補安全漏洞、采用安全工具以及經常性的安全檢查等。本文教你十種提高Linux系統安全性的招數。雖然招數不大,但招招奏效,你不妨一試。
第1招:取消不必要的服務
早期的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服務;另一種是一直在執行的永不停頓的服務。這類服務在系統啟動時就開始執行,因此不能靠修改inetd來停止其服務,而只能從修改/etc/rc.d/rc[n].d/文件或用Runleveleditor去修改它。提供文件服務的NFS服務器和提供NNTP新聞服務的news都屬于這類服務,如果沒有必要,最好取消這些服務。