如何提高Linux系統的安全性
Linux系統不論在功能上、價(jià)格上或性能上都有很多優(yōu)點(diǎn),然而,作為開(kāi)放式操作系統,它不可避免地存在一些安全隱患。關(guān)于如何解決這些隱患,為應用提供一個(gè)安全的操作平臺,本文會(huì )告訴你一些最基本、最常用,同時(shí)也是最有效的招數。
本文引用地址:http://dyxdggzs.com/article/201610/306049.htmLinux是一種類(lèi)Unix的操作系統。從理論上講,Unix本身的設計并沒(méi)有什么重大的安全缺陷。多年來(lái),絕大多數在Unix操作系統上發(fā)現的安 全問(wèn)題主要存在于個(gè)別程序中,所以大部分Unix廠(chǎng)商都聲稱(chēng)有能力解決這些問(wèn)題,提供安全的Unix操作系統。但Linux有些不同,因為它不屬于某一家 廠(chǎng)商,沒(méi)有廠(chǎng)商宣稱(chēng)對它提供安全保證,因此用戶(hù)只有自己解決安全問(wèn)題。
Linux是一個(gè)開(kāi)放式系統,可以在網(wǎng)絡(luò )上找到許多現成的程序和工具,這既方便了用戶(hù),也方便了黑客,因為他們也能很容易地找到程序和工具來(lái)潛入 Linux系統,或者盜取Linux系統上的重要信息。不過(guò),只要我們仔細地設定Linux的各種系統功能,并且加上必要的安全措施,就能讓黑客們無(wú)機可乘。
一般來(lái)說(shuō),對Linux系統的安全設定包括取消不必要的服務(wù)、限制遠程存取、隱藏重要資料、修補安全漏洞、采用安全工具以及經(jīng)常性的安全檢查等。本文教你十種提高Linux系統安全性的招數。雖然招數不大,但招招奏效,你不妨一試。
第1招:取消不必要的服務(wù)
早期的Unix版本中,每一個(gè)不同的網(wǎng)絡(luò )服務(wù)都有一個(gè)服務(wù)程序在后臺運行,后來(lái)的版本用統一的/etc/inetd服務(wù)器程序擔此重任。 Inetd是Internetdaemon的縮寫(xiě),它同時(shí)監視多個(gè)網(wǎng)絡(luò )端口,一旦接收到外界傳來(lái)的連接信息,就執行相應的TCP或UDP網(wǎng)絡(luò )服務(wù)。
由于受inetd的統一指揮,因此Linux中的大部分TCP或UDP服務(wù)都是在/etc/inetd.conf文件中設定。所以取消不必要服務(wù)的第一步就是檢查/etc/inetd.conf文件,在不要的服務(wù)前加上“#”號。
一般來(lái)說(shuō),除了http、smtp、telnet和ftp之外,其他服務(wù)都應該取消,諸如簡(jiǎn)單文件傳輸協(xié)議tftp、網(wǎng)絡(luò )郵件存儲及接收所用的imap/ipop傳輸協(xié)議、尋找和搜索資料用的gopher以及用于時(shí)間同步的daytime和time等。
還有一些報告系統狀態(tài)的服務(wù),如finger、efinger、systat和netstat等,雖然對系統查錯和尋找用戶(hù)非常有用,但也給黑客提 供了方便之門(mén)。例如,黑客可以利用finger服務(wù)查找用戶(hù)的電話(huà)、使用目錄以及其他重要信息。因此,很多Linux系統將這些服務(wù)全部取消或部分取消, 以增強系統的安全性。
Inetd除了利用/etc/inetd.conf設置系統服務(wù)項之外,還利用/etc/services文件查找各項服務(wù)所使用的端口。因此,用戶(hù)必須仔細檢查該文件中各端口的設定,以免有安全上的漏洞。
在Linux中有兩種不同的服務(wù)型態(tài):一種是僅在有需要時(shí)才執行的服務(wù),如finger服務(wù);另一種是一直在執行的永不停頓的服務(wù)。這類(lèi)服務(wù)在系統啟動(dòng)時(shí)就開(kāi)始執行,因此不能靠修改inetd來(lái)停止其服務(wù),而只能從修改/etc/rc.d/rc[n].d/文件或用 Run level editor去修改它。提供文件服務(wù)的NFS服務(wù)器和提供NNTP新聞服務(wù)的news都屬于這類(lèi)服務(wù),如果沒(méi)有必要,最好取消這些服務(wù)。
第2招:限制系統的出入
在進(jìn)入Linux系統之前,所有用戶(hù)都需要登錄,也就是說(shuō),用戶(hù)需要輸入用戶(hù)賬號和密碼,只有它們通過(guò)系統驗證之后,用戶(hù)才能進(jìn)入系統。與其他 Unix操作系統一樣,Linux一般將密碼加密之后,存放在/etc/passwd文件中。Linux系統上的所有用戶(hù)都可以讀到/etc /passwd文件,雖然文件中保存的密碼已經(jīng)經(jīng)過(guò)加密,但仍然不太安全。因為一般的用戶(hù)可以利用現成的密碼破譯工具,以窮舉法猜測出密碼。比較安全的方法是設定影子文件/etc/shadow,只允許有特殊權限的用戶(hù)閱讀該文件。
在Linux系統中,如果要采用影子文件,必須將所有的公用程序重新編譯,才能支持影子文件。這種方法比較麻煩,比較簡(jiǎn)便的方法是采用插入式驗證模 塊(PAM)。很多Linux系統都帶有Linux的工具程序PAM,它是一種身份驗證機制,可以用來(lái)動(dòng)態(tài)地改變身份驗證的方法和要求,而不要求重新編譯 其他公用程序。這是因為PAM采用封閉包的方式,將所有與身份驗證有關(guān)的邏輯全部隱藏在模塊內,因此它是采用影子檔案的最佳幫手。
此外,PAM還有很多安全功能:它可以將傳統的DES加密方法改寫(xiě)為其他功能更強的加密方法,以確保用戶(hù)密碼不會(huì )輕易地遭人破譯;它可以設定每個(gè)用 戶(hù)使用電腦資源的上限;它甚至可以設定用戶(hù)的上機時(shí)間和地點(diǎn)。Linux系統管理人員只需花費幾小時(shí)去安裝和設定PAM,就能大大提高Linux系統的安 全性,把很多攻擊阻擋在系統之外。
第3招:保持最新的系統核心
由于Linux流通渠道很多,而且經(jīng)常有更新的程序和系統補丁出現,因此,為了加強系統安全,一定要經(jīng)常更新系統內核。Kernel是 Linux操作系統的核心,它常駐內存,用于加載操作系統的其他部分,并實(shí)現操作系統的基本功能。由于Kernel控制計算機和網(wǎng)絡(luò )的各種功能,因此,它的安全性對整個(gè)系統安全至關(guān)重要。
早期的Kernel版本存在許多眾所周知的安全漏洞,而且也不太穩定,只有2.0.x以上的版本才比較穩定和安全,新版本的運行效率也有很大改觀(guān)。 在設定Kernel的功能時(shí),只選擇必要的功能,千萬(wàn)不要所有功能照單全收,否則會(huì )使Kernel變得很大,既占用系統資源,也給黑客留下可乘之機。在 Internet上常常有最新的安全修補程序,Linux系統管理員應該消息靈通,經(jīng)常光顧安全新聞組,查閱新的修補程序。
第4招:檢查登錄密碼
設定登錄密碼是一項非常重要的安全措施,如果用戶(hù)的密碼設定不合適,就很容易被破譯,尤其是擁有超級用戶(hù)使用權限的用戶(hù),如果沒(méi)有良好的密碼,將給系統造成很大的安全漏洞。
在多用戶(hù)系統中,如果強迫每個(gè)用戶(hù)選擇不易猜出的密碼,將大大提高系統的安全性。但如果passwd程序無(wú)法強迫每個(gè)上機用戶(hù)使用恰當的密碼,要確保密碼的安全度,就只能依靠密碼破解程序了。
實(shí)際上,密碼破解程序是黑客工具箱中的一種工具,它將常用的密碼或者是英文字典中所有可能用來(lái)作密碼的字都用程序加密成密碼字,然后將其與 Linux系統的/etc/passwd密碼文件或/etc/shadow影子文件相比較,如果發(fā)現有吻合的密碼,就可以求得明碼了。
在網(wǎng)絡(luò )上可以找到很多密碼破解程序,比較有名的程序是crack.用戶(hù)可以自己先執行密碼破解程序,找出容易被黑客破解的密碼,先行改正總比被黑客破解要有利。
評論