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