本文將向你解釋你在防火墻的記錄(Log)中看到了什么?尤其是那些端口是什么意思?你將能利用這些信息做出判斷:我是否受到了Hacker的攻擊?他/她到底想要干什么?本文既適用于維護(hù)企業(yè)級防火墻的安全專家,又適用于使用個人防火墻的家庭用戶。
現(xiàn)在個人防火墻開始流行起來,很多網(wǎng)友一旦看到報警就以為受到某種攻擊,其實大多數(shù)情況并非如此。
所有穿過防火墻的通訊都是連接的一個部分。一個連接包含一對相互“交談”的IP地址以及一對與IP地址對應(yīng)的端口。目標(biāo)端口通常意味著正被連接的某種服務(wù)。當(dāng)防火墻阻擋(block)某個連接時,它會將目標(biāo)端口“記錄在案”(logfile)。這節(jié)將描述這些端口的意義。
端口可分為3大類:
1) 公認(rèn)端口(Well Known Ports):從0到1023,它們緊密綁定于一些服務(wù)。通常這些端口的通訊明確表明了某種服務(wù)的協(xié)議。例如:80端口實際上總是HTTP通訊。
2) 注冊端口(Registered Ports):從1024到49151。它們松散地綁定于一些服務(wù)。也就是說有許多服務(wù)綁定于這些端口,這些端口同樣用于許多其它目的。例如:許多系統(tǒng)處理動態(tài)端口從1024左右開始。
3) 動態(tài)和/或私有端口(Dynamic and/or Private Ports):從49152到65535。理論上,不應(yīng)為服務(wù)分配這些端口。實際上,機(jī)器通常從1024起分配動態(tài)端口。但也有例外:SUN的RPC端口從32768開始。
的許多攻擊腳本將安裝一個后門Shell于這個端口(尤其是那些針對Sun系統(tǒng)中Sendmail和RPC服務(wù)漏洞的腳本,如statd, ttdbserver和cmsd)。如果你剛剛安裝了你的防火墻就看到在這個端口上的連接企圖,很可能是上述原因。你可以試試Telnet到你的機(jī)器上的這個端口,看看它是否會給你一個Shell。連接到600/pcserver也存在這個問題。
作者發(fā)現(xiàn)一種對于同一系列端口的掃描來自于Internet上變化很大的源地址這通常是由于“誘騙”掃描(decoy scan),如nmap。其中一個是攻擊者,其它的則不是。利用防火墻規(guī)則和協(xié)議分析我們可以追蹤他們是誰?例如:如果你ping每個系統(tǒng),你就可以將獲得的TTL與那些連接企圖相匹配。這樣你至少可以哪一個是“誘騙”掃描(TTL應(yīng)該匹配,如果不匹配則他們是被“誘騙”了)。不過,新版本的掃描器會將攻擊者自身的TTL隨機(jī)化,這樣要找出他們回更困難。你可以進(jìn)一步研究你的防火墻記錄,尋找在同一子網(wǎng)中被誘騙的地址(人)。你通常會發(fā)現(xiàn)攻擊者剛剛試圖對你連接,而被誘騙者不會。
最流行的聊天方式之一是IRC。這種聊天程序的特點之一就是它能告訴你正在和你聊天的人的IP地址。聊天室的問題之一是:人們匿名登陸并四處閑逛,往往會遭遇跑題的評論、粗魯?shù)脑捳Z、被打斷談話、被服務(wù)器“沖洗”或被其它客戶踢下線。因此,服務(wù)器端和客戶端都默認(rèn)禁止在聊天室內(nèi)使用匿名登陸。特別需要指出的是,當(dāng)有人進(jìn)入聊天室時要檢查他們是否通過其它代理服務(wù)器連接。最常見的這種掃描是SOCKS。假設(shè)你來的那個地方支持SOCKS,那么你完全有可能有一臺完全獨立的機(jī)器,你試圖通過明處的代理服務(wù)器隱藏你在暗處的真實身份。
TCP和UDP能承載數(shù)據(jù),但I(xiàn)CMP僅包含控制信息。因此,ICMP信息不能真正用于入侵其它機(jī)器。Hacker們使用ICMP通常是為了掃描網(wǎng)絡(luò),發(fā)動DoS攻擊,重定向網(wǎng)絡(luò)交通。(這個觀點似乎不正確,可參考shotgun關(guān)于木馬的文章,譯者注)一些防火墻將ICMP類型錯誤標(biāo)記成端口。要記住,ICMP不象TCP或UDP有端口,但它確實含有兩個域:類型(type)和代碼(code)。而且這些域的作用和端口也完全不同,也許正因為有兩個域所以防火墻常錯誤地標(biāo)記了他們。更多關(guān)于ICMP的知識請參考Infosec Lexicon entry on ICMP。