全面講述Linux端口安全的處理
Linux系統(tǒng)安全是有很多方面來保證的,這里主要介紹Linux端口安全的知識,這里涉及有關(guān)Linux端口的設(shè)置,這里有些東西是從網(wǎng)上總結(jié)出來的,現(xiàn)在拿出來跟大家分享一下。這里一般要注意主機(jī)的包漏洞修補(bǔ),放火墻的設(shè)置,關(guān)閉危險(xiǎn)服務(wù)(端口)以及每日的日志分析.
什么是端口
一臺主機(jī)的端口可以分為監(jiān)聽端口與隨機(jī)取用的高級端口.所謂監(jiān)聽端口就是主機(jī)開啟了哪些服務(wù),那么這個服務(wù)會在Linux系統(tǒng)里啟用一個端口來監(jiān)聽客戶端的請求.例如FTP服務(wù)器,就會開放21號端口,這個端口會一直啟用,直到FTP服務(wù)關(guān)閉為止.所謂隨機(jī)取用的高級端口就是Linux要向某個主機(jī)請求服務(wù)時,Linux主機(jī)需要啟用一個端口來對外連接,那么端口號是多少?Linux會隨機(jī)取用一個未被使用且端口號大于1024的端口進(jìn)行連接.
所以server/Client之間的數(shù)據(jù)傳送其實(shí)就是端口與端口之間的傳送.
總共有多少端口,哪些是保留端口
端口編號是由1-65535組成,所以會有65535個端口.一般而言,只有root才可以開啟1-1023一內(nèi)的端口,這些端口就是特殊摶口,用于保留給系統(tǒng)使用.至于大于1024的端口,除了給系統(tǒng)隨機(jī)取用作為連接需求之外,也可以用來服務(wù)的監(jiān)聽之用.
如果1-1023的端口的程序被入侵,那將表示入侵者擁有root的權(quán)限,是因?yàn)橹挥衦oot才可以開啟1-1023一內(nèi)的端口.這個時候就要注意主機(jī)的安全了.
在Linux中保留端口與它所對應(yīng)的服務(wù)其實(shí)已經(jīng)有了一個對照表,那就是/etc/services文件,可以使用netstat -n以數(shù)值方式顯示連接狀態(tài),使用netatst -tl可以顯示當(dāng)前正在監(jiān)聽的服務(wù)名稱. /etc/services文件也是某些端口啟動時設(shè)置端口的重要依據(jù).
要了解所謂的端口與服務(wù)對于安全的關(guān)系:真正影響面安全的并不是端口,而是啟動端口的服務(wù).
所以真正的危害是某些不安全的服務(wù)而不是開放的端口.基本上,如果沒有必要,就關(guān)掉一些用不到的端口,而且服務(wù)的版本要持續(xù)更新.
如何查看端口
1.需要知道主機(jī)當(dāng)前開了多少端口?
2.了解服務(wù)跟端口對應(yīng)的文件是那一個?/etc/services
介紹查看主機(jī)端口最常用的命令:
netstat:在本機(jī)上檢查自己的程序檢測端口,沒有危險(xiǎn)
nmap:在本機(jī)上以特殊的檢測程序檢測自己,可能會違法
關(guān)閉或啟動一個端口
要開或關(guān)閉一個端口,只需要開啟或關(guān)閉一個服務(wù)即可.所以,當(dāng)檢測完端口后,接下來就是要找出端口所對應(yīng)的服務(wù),將該服務(wù)關(guān)掉,就會把端口關(guān)掉.
設(shè)置開機(jī)時啟動服務(wù)的方法
如果以文字方式登錄,文字界面的run-level為3,所以就在/etc/rc.d/rc3.d里可以找到服務(wù)的啟動參數(shù),就是以S開頭的文件.如果不要啟動一些服務(wù),就將服務(wù)對應(yīng)的文件(以S開頭的文件)刪除即可.
一般情況下不需要手工刪除文件,Linux一般為我們提供了程序可以完成:
ntsysv
setup
是不是要將所有的Linux默認(rèn)的服務(wù)關(guān)閉?因?yàn)橄到y(tǒng)有很多服務(wù)是一定要啟動的,否則反而變的不安全.
以下列出一些完全沒有對外開放端口,但卻是系統(tǒng)必須的服務(wù),這些服務(wù)不要關(guān)閉.
atd:在例行命令里提到的,只執(zhí)行一次的預(yù)約執(zhí)行任務(wù),務(wù)必啟動
cron:在例行命令里提到的,循環(huán)執(zhí)行的命令,務(wù)必啟動
iptables:防火墻,無論如何,先啟動它
keytables:設(shè)置鍵盤上的字母格式,當(dāng)然需要讀入,否則如何控制
network:網(wǎng)絡(luò)功能
random:快速使系統(tǒng)在隨即時間內(nèi)保存到映象文件,對系統(tǒng)相當(dāng)重要,因?yàn)樵陂_機(jī)之后,系統(tǒng)回迅速回復(fù)到關(guān)機(jī)之前的狀態(tài)
syslog:在系統(tǒng)日志文件提過,是相當(dāng)重要的文件,務(wù)必啟動
xinetd:服務(wù)器面理器super deamon,是必須啟動的服務(wù)之一
xfs:如果使用run-level的圖形界面,這個必須啟動
關(guān)閉所有對外開放的端口
在裝完Linux后,就要將不必要的程序或服務(wù)關(guān)閉,最重要的是將對外開放的端口先關(guān)閉,需要的時候在開啟.如果要假設(shè)服務(wù)器,可以逐個開啟這些端口.
1.使用ntsysv設(shè)置開機(jī)時啟動哪些服務(wù)
一般只選擇:atd,cron,iptables,keytables,network,random,syslog,xinetd,xfs(如有圖形界面)
2.重新啟動
reboot
3.查看當(dāng)前開啟了多少端口
netstat -an
這里就說明了Linux端口安全的所有相關(guān)知識。
【編輯推薦】