端口問(wèn)題,是用戶在端口上所用技術(shù)的問(wèn)題,還是攻擊者所用技術(shù)的問(wèn)題?
通過(guò)TCP或UDP協(xié)議,數(shù)據(jù)包在與特定IP地址和終端相關(guān)聯(lián)的編號(hào)網(wǎng)絡(luò)端口上穿梭。所有端口都面臨被攻擊的風(fēng)險(xiǎn),沒(méi)有任何端口是天生安全的。
RedTeam Security 首席安全顧問(wèn)科特·穆爾稱:“每個(gè)端口及其底層服務(wù)都有各自的風(fēng)險(xiǎn)。風(fēng)險(xiǎn)來(lái)自于服務(wù)版本、配置方式、口令有無(wú)及口令強(qiáng)度。還有很多因素決定著端口或服務(wù)的安全性。”這其他因素包括,端口是否被攻擊者選中發(fā)起攻擊或投送惡意軟件,以及用戶是否開放了端口。
基于相關(guān)應(yīng)用、漏洞和攻擊對(duì)風(fēng)險(xiǎn)網(wǎng)絡(luò)端口進(jìn)行分析,可以得出保護(hù)企業(yè)免受惡意黑客對(duì)開放端口濫用的方法。
是什么讓這些端口面臨風(fēng)險(xiǎn)?
TCP端口65535個(gè),UDP端口65535個(gè),我們只需要注意最危險(xiǎn)的那幾個(gè)。
首當(dāng)其沖就是 TCP 21 端口。該端口承載FTP連接控制任務(wù)。FTP服務(wù)器漏洞滿滿,隨便點(diǎn)點(diǎn)都有一堆,比如匿名身份驗(yàn)證、目錄瀏覽、跨站腳本,簡(jiǎn)直是超級(jí)理想的攻擊目標(biāo)。
有些服務(wù)的漏洞好歹還是陸續(xù)出現(xiàn)的,TCP 23 端口的Telnet之類遺留服務(wù),卻是從一開始就不安全。帶寬確實(shí)很小,一次僅幾個(gè)字節(jié),但人家是完全不遮掩的明文傳輸。攻擊者可以監(jiān)聽Telnet流量,查找其中憑證信息,通過(guò)中間人攻擊注入指令,最終執(zhí)行遠(yuǎn)程代碼。
有用于切入的網(wǎng)絡(luò)端口,就有用于出站的網(wǎng)絡(luò)端口。域名解析服務(wù)所用的 TCP/UDP 53 端口,就是個(gè)很好的出站策略。一旦網(wǎng)絡(luò)內(nèi)的犯罪黑客拿到了所需的數(shù)據(jù),他們需要做的,就是利用將數(shù)據(jù)轉(zhuǎn)換成DNS流量的軟件,來(lái)將戰(zhàn)利品投遞出門。DNS流量極少被監(jiān)測(cè),更少被過(guò)濾。只要攻擊者將數(shù)據(jù)安全護(hù)送出企業(yè),就可以通過(guò)他們的DNS 服務(wù)器將數(shù)據(jù)轉(zhuǎn)譯成原始格式發(fā)送。
端口越常用,就越容易被用來(lái)偷渡攻擊數(shù)據(jù)包。用于HTTP協(xié)議的 TCP 80 端口,支持瀏覽器接收的網(wǎng)頁(yè)流量。通過(guò)80端口對(duì)Web客戶端發(fā)起的攻擊包括:SQL注入、跨站請(qǐng)求偽造、跨站腳本和緩沖區(qū)溢出。
網(wǎng)絡(luò)罪犯會(huì)在各個(gè)端口上設(shè)置他們自己的服務(wù)。TCP 1080 端口是業(yè)界指定的套接字安全“SOCKS”代理,被攻擊者用以支持惡意軟件和行為。計(jì)算機(jī)木馬和蠕蟲,比如Mydoom和Bugbear,就一直用1080端口進(jìn)行攻擊。如果網(wǎng)絡(luò)管理員沒(méi)有設(shè)置SOCKS代理,其存在就可能意味著網(wǎng)絡(luò)中有惡意活動(dòng)。
黑客犯懶的時(shí)候,往往會(huì)用些容易記住的端口號(hào),比如234或6789之類數(shù)列,或者一些重復(fù)的數(shù)字,比如666或888。有些后門和木馬軟件會(huì)打開 TCP 4444 端口,行監(jiān)聽、通信、轉(zhuǎn)發(fā)外部惡意流量和發(fā)送惡意載荷之事。使用該端口的一些惡意軟件包括:Prosiak、Swift Remote 和CrackDown。
Web流量不僅僅使用80端口。HTTP流量也使用 TCP 8080 端口。連接這些端口的服務(wù)器大多是無(wú)人管控的遺留主機(jī),隨時(shí)間流逝漏洞越積越多。開放了這些端口的服務(wù)器也有可能是HTTP代理,如果網(wǎng)絡(luò)管理員沒(méi)有安裝過(guò),那就可能代表著系統(tǒng)中有需要關(guān)注的安全問(wèn)題了。
據(jù)傳高級(jí)攻擊者將TCP和 UDP 31337 端口,用作著名的 Back Orifice 后門和其他一些惡意軟件的通信端口。TCP 31337 端口的例子有:Sockdmini、Back Fire、icmp_pipe.c、Back Orifice Russian、Freak88、Baron Night 和BO客戶端。UDP 31337 上的例子則包含有 Deep BO。在使用字母和數(shù)字的黑客文中,31337被拼成“eleet”,意思為“精英(elite)”。
弱口令可致SSH和22端口成為唾手可得的目標(biāo)。22端口指定為SSH端口,可以訪問(wèn)物理服務(wù)器硬件的遠(yuǎn)程shell,當(dāng)憑證中包含默認(rèn)或易猜用戶名及口令時(shí),該端口也就不安全了。利用熟悉的短語(yǔ),少于8字符的短口令,以及純數(shù)字序列口令,對(duì)攻擊者來(lái)說(shuō)真是太好猜了。
6660到6669端口上跑的IRC,也依然是犯罪黑客的攻擊目標(biāo)。IRC漏洞很多,比如可讓攻擊者遠(yuǎn)程執(zhí)行程序的 Unreal IRCD。
有些端口和協(xié)議可讓攻擊者橫向拓展。比如引無(wú)數(shù)黑客垂涎的 UDP 161 端口,因?yàn)槌休d著簡(jiǎn)單網(wǎng)絡(luò)管理(SNMP)協(xié)議,能夠讓攻擊者通過(guò)該端口管理聯(lián)網(wǎng)主機(jī)、查詢信息、發(fā)送流量。SNMP可以查詢服務(wù)器,找出用戶名、網(wǎng)絡(luò)共享和其他信息。SNMP通常都用缺省口令。
端口、服務(wù)保衛(wèi)戰(zhàn)
企業(yè)可以通過(guò)SSH公鑰驗(yàn)證、root登錄禁用,以及將SSH挪到更高端口號(hào)讓攻擊者不那么容易找到,來(lái)保護(hù)SSH。如果用戶用25000之類高端口號(hào)連接SSH,攻擊者就難以定位SSH服務(wù)的攻擊界面了。
如果公司運(yùn)營(yíng)有IRC,用防火墻圍住它。別讓網(wǎng)絡(luò)外面的任何流量接觸到IRC服務(wù)。要使用IRC的用戶必須通過(guò)VPN連入網(wǎng)絡(luò)。
重復(fù)數(shù)字端口和特別長(zhǎng)的數(shù)字序列端口,往往不是合法端口。如果看到此類端口,請(qǐng)確保它們是真實(shí)的。DNS流量也需要被監(jiān)視和過(guò)濾,以防數(shù)據(jù)滲漏。Telnet服務(wù)和23端口還是關(guān)了吧。
所有網(wǎng)絡(luò)端口都應(yīng)該采用深度防御的安全方法。關(guān)閉所有不用的端口,在每臺(tái)主機(jī)上使用基于主機(jī)的防火墻,對(duì)網(wǎng)絡(luò)應(yīng)用基于網(wǎng)絡(luò)的下一代防火墻,監(jiān)視并過(guò)濾端口流量。定期端口掃描應(yīng)作為滲透測(cè)試的一部分,確保這些端口上都沒(méi)有未經(jīng)檢查的漏洞。要特別注意SOCKS代理或其他任何你并未設(shè)置的服務(wù)。連接到端口的每一個(gè)設(shè)備、軟件或服務(wù)都要保持更新,隨時(shí)處于完美防御狀態(tài)。保持積極主動(dòng),因?yàn)樾屡f軟件中總會(huì)出現(xiàn)可供攻擊者通過(guò)網(wǎng)絡(luò)端口進(jìn)行利用的漏洞。
采用支持服務(wù)的最新版本,對(duì)服務(wù)進(jìn)行正確配置,使用強(qiáng)口令;訪問(wèn)控制列表可助你限制連接端口和服務(wù)的人員。經(jīng)常測(cè)試端口和服務(wù)。如果環(huán)境中有諸如HTTP和HTTPS之類可定制的服務(wù),很容易就會(huì)錯(cuò)誤配置,意外引入漏洞。另外,缺省SNMP用戶名和口令字符串一定要記得改掉。
端口大全
根據(jù)端口所關(guān)聯(lián)威脅的類型和嚴(yán)重性,或給定端口服務(wù)漏洞的等級(jí)之類各種不同的標(biāo)準(zhǔn),專家們給出了多張具有重大風(fēng)險(xiǎn)的端口列表。沒(méi)有哪張列表能列全的。不過(guò),你可以從下面這三張表開始: