Linux不論在功能上、價(jià)格上或性能上都有很多優(yōu)點(diǎn),然而,作為開放式操作系統(tǒng),它不可避免地存在一些安全隱患。關(guān)于如何解決這些隱患,為應(yīng)用提供一個(gè)安全的操作平臺,本文會(huì)告訴你一些最基本、最常用,同時(shí)也是最有效的招數(shù)。
Linux是一種類Unix的操作系統(tǒng)。從理論上講,Unix本身的設(shè)計(jì)并沒有什么重大的安全缺陷。多年來,絕大多數(shù)在Unix操作系統(tǒng)上發(fā)現(xiàn)的安全問題主要存在于個(gè)別程序中,所以大部分Unix廠商都聲稱有能力解決這些問題,提供安全的Unix操作系統(tǒng)。但Linux有些不同,因?yàn)樗粚儆谀骋患覐S商,沒有廠商宣稱對它提供安全保證,因此用戶只有自己解決安全問題。
Linux是一個(gè)開放式系統(tǒng),可以在網(wǎng)絡(luò)上找到許多現(xiàn)成的程序和工具,這既方便了用戶,也方便了黑客,因?yàn)樗麄円材芎苋菀椎卣业匠绦蚝凸ぞ邅頋撊隠inux系統(tǒng),或者盜取Linux系統(tǒng)上的重要信息。不過,只要我們仔細(xì)地設(shè)定Linux的各種系統(tǒng)功能,并且加上必要的安全措施,就能讓黑客們無機(jī)可乘。
一般來說,對Linux系統(tǒng)的安全設(shè)定包括取消不必要的服務(wù)、限制遠(yuǎn)程存取、隱藏重要資料、修補(bǔ)安全漏洞、采用安全工具以及經(jīng)常性的安全檢查等。本文教你十種提高Linux系統(tǒng)安全性的招數(shù)。雖然招數(shù)不大,但招招奏效,你不妨一試。
第1招:取消不必要的服務(wù)
早期的Unix版本中,每一個(gè)不同的網(wǎng)絡(luò)服務(wù)都有一個(gè)服務(wù)程序在后臺運(yùn)行,后來的版本用統(tǒng)一的/etc/inetd服務(wù)器程序擔(dān)此重任。Inetd是Internetdaemon的縮寫,它同時(shí)監(jiān)視多個(gè)網(wǎng)絡(luò)端口,一旦接收到外界傳來的連接信息,就執(zhí)行相應(yīng)的TCP或UDP網(wǎng)絡(luò)服務(wù)。
由于受inetd的統(tǒng)一指揮,因此Linux中的大部分TCP或UDP服務(wù)都是在/etc/inetd.conf文件中設(shè)定。所以取消不必要服務(wù)的第一步就是檢查/etc/inetd.conf文件,在不要的服務(wù)前加上“!碧。
一般來說,除了http、smtp、telnet和ftp之外,其他服務(wù)都應(yīng)該取消,諸如簡單文件傳輸協(xié)議tftp、網(wǎng)絡(luò)郵件存儲及接收所用的imap/ipop傳輸協(xié)議、尋找和搜索資料用的gopher以及用于時(shí)間同步的daytime和time等。
還有一些報(bào)告系統(tǒng)狀態(tài)的服務(wù),如finger、efinger、systat和netstat等,雖然對系統(tǒng)查錯(cuò)和尋找用戶非常有用,但也給黑客提供了方便之門。例如,黑客可以利用finger服務(wù)查找用戶的電話、使用目錄以及其他重要信息。因此,很多Linux系統(tǒng)將這些服務(wù)全部取消或部分取消,以增強(qiáng)系統(tǒng)的安全性。
Inetd除了利用/etc/inetd.conf設(shè)置系統(tǒng)服務(wù)項(xiàng)之外,還利用/etc/services文件查找各項(xiàng)服務(wù)所使用的端口。因此,用戶必須仔細(xì)檢查該文件中各端口的設(shè)定,以免有安全上的漏洞。
在Linux中有兩種不同的服務(wù)型態(tài):一種是僅在有需要時(shí)才執(zhí)行的服務(wù),如finger服務(wù);另一種是一直在執(zhí)行的永不停頓的服務(wù)。這類服務(wù)在系統(tǒng)啟動(dòng)時(shí)就開始執(zhí)行,因此不能靠修改inetd來停止其服務(wù),而只能從修改/etc/rc.d/rc[n].d/文件或用Runleveleditor去修改它。提供文件服務(wù)的NFS服務(wù)器和提供NNTP新聞服務(wù)的news都屬于這類服務(wù),如果沒有必要,最好取消這些服務(wù)。