企業(yè)端口掃描策略
1、端口掃描的目的 對(duì)于位于網(wǎng)絡(luò)中的計(jì)算機(jī)系統(tǒng)來(lái)說(shuō),一個(gè)端口就是一個(gè)潛在的通信通道,也就是一個(gè)入侵通道。對(duì)目標(biāo)計(jì)算機(jī)進(jìn)行端口掃描,能得到許多有用的信息從而發(fā)現(xiàn)系統(tǒng)的安全漏洞。通過(guò)其可以使系統(tǒng)用戶了解系統(tǒng)目前向外界提供了哪些服務(wù),從而為系統(tǒng)用戶管理網(wǎng)絡(luò)提供了一種參考的手段。
從技術(shù)原理上來(lái)說(shuō),端口掃描向目標(biāo)主機(jī)的TCP/UDP服務(wù)端口發(fā)送探測(cè)數(shù)據(jù)包,并記錄目標(biāo)主機(jī)的響應(yīng)。通過(guò)分析響應(yīng)來(lái)判斷服務(wù)端口是打開還是關(guān)閉,就可以得知端口提供的服務(wù)或信息。
端口掃描也可以通過(guò)捕獲本地主機(jī)或服務(wù)器的流入流出IP數(shù)據(jù)包來(lái)監(jiān)視本地主機(jī)的運(yùn)行情況,不僅能對(duì)接收到的數(shù)據(jù)進(jìn)行分析,而且能夠幫助用戶發(fā)現(xiàn)目標(biāo)主機(jī)的某些內(nèi)在的弱點(diǎn),而不會(huì)提供進(jìn)入一個(gè)系統(tǒng)的詳細(xì)步驟。一般說(shuō)來(lái),端口掃描的目的通常是如下的一項(xiàng)或者多項(xiàng):
(1)發(fā)現(xiàn)開放端口:發(fā)現(xiàn)目標(biāo)系統(tǒng)上開放的TCP或UDP端口;
(2)了解主機(jī)操作系統(tǒng)信息:端口掃描可以通過(guò)操作系統(tǒng)的“指紋”來(lái)推測(cè)被掃描操作系統(tǒng)或者應(yīng)用程序的版本等信息;
(3)了解軟件或者服務(wù)版本:軟件或服務(wù)版本可以通過(guò)“標(biāo)志獲取”或者應(yīng)用程序的指紋來(lái)識(shí)別獲得;
(4)發(fā)現(xiàn)脆弱的軟件版本:識(shí)別軟件和服務(wù)的缺陷,從而有助于發(fā)起針對(duì)漏洞的攻擊。
端口掃描主要有經(jīng)典的掃描器(全連接)以及所謂的SYN(半連接)掃描器。此外還有間接掃描和秘密掃描等。TCP掃描方式是通過(guò)與被掃描主機(jī)建立標(biāo)準(zhǔn)的TCP連接,因此這種方式最準(zhǔn)確,很少漏報(bào)、誤報(bào),但是容易被目標(biāo)主機(jī)察覺(jué)、記錄。SYN方式是通過(guò)與目標(biāo)主機(jī)建立半打開連接,這樣就不容易被目標(biāo)主機(jī)記錄,但是掃描結(jié)果會(huì)出現(xiàn)漏報(bào),在網(wǎng)絡(luò)狀況不好的情況下這種漏報(bào)是嚴(yán)重的。
2、快速安裝nmap進(jìn)行企業(yè)端口掃描 nmap是一個(gè)網(wǎng)絡(luò)探測(cè)和安全掃描程序,系統(tǒng)管理者和個(gè)人可以使用這個(gè)軟件掃描大型的網(wǎng)絡(luò),獲取那臺(tái)主機(jī)正在運(yùn)行以及提供什么服務(wù)等信息。nmap支持很多掃描技術(shù),例如:UDP、TCP connect()、TCP SYN(半開掃描)、ftp代理(bounce攻擊)、反向標(biāo)志、ICMP、FIN、ACK掃描、圣誕樹(Xmas Tree)、SYN掃描和null掃描。
nmap還提供了一些高級(jí)的特征,例如:通過(guò)TCP/IP協(xié)議棧特征探測(cè)操作系統(tǒng)類型,秘密掃描,動(dòng)態(tài)延時(shí)和重傳計(jì)算,并行掃描,通過(guò)并行ping掃描探測(cè)關(guān)閉的主機(jī),誘餌掃描,避開端口過(guò)濾檢測(cè),直接RPC掃描(無(wú)須端口影射),碎片掃描,以及靈活的目標(biāo)和端口設(shè)定。
為了提高nmap在non-root狀態(tài)下的性能,軟件的設(shè)計(jì)者付出了很大的努力。很不幸,一些內(nèi)核界面(例如raw socket)需要在root狀態(tài)下使用。所以應(yīng)該盡可能在root使用nmap。
nmap運(yùn)行通常會(huì)得到被掃描主機(jī)端口的列表。nmap總會(huì)給出well known端口的服務(wù)名(如果可能)、端口號(hào)、狀態(tài)和協(xié)議等信息。每個(gè)端口的狀態(tài)有:open、filtered、unfiltered。
open狀態(tài)意味著目標(biāo)主機(jī)能夠在這個(gè)端口使用accept()系統(tǒng)調(diào)用接受連接;
filtered狀態(tài)表示防火墻、包過(guò)濾和其它的網(wǎng)絡(luò)安全軟件掩蓋了這個(gè)端口,禁止 nmap探測(cè)其是否打開。
unfiltered表示這個(gè)端口關(guān)閉,并且沒(méi)有防火墻/包過(guò)濾軟件來(lái)隔離nmap的探測(cè)企圖。通常情況下,端口的狀態(tài)基本都是unfiltered狀態(tài),只有在大多數(shù)被掃描的端口處于filtered狀態(tài)下,才會(huì)顯示處于unfiltered狀態(tài)的端口。
根據(jù)使用的功能選項(xiàng),nmap也可以報(bào)告遠(yuǎn)程主機(jī)的下列特征:使用的操作系統(tǒng)、TCP序列、運(yùn)行綁定到每個(gè)端口上的應(yīng)用程序的用戶名、DNS名、主機(jī)地址是否是欺騙地址、以及其它一些東西。
在使用之前,我們需要下載該軟件的源碼包進(jìn)行安裝。下載完成后,以作者下載到的版本為例:nmap-5.00.tgz,用戶執(zhí)行如下安裝命令即可:
●(1)解壓縮軟件包
#tar –xzvf nmap-5.00.tgz
●(2)切換到安裝目錄
#cd nmap-5.00
●(3)使用configure命令生成make文件
#./configure
●(4)編譯源代碼
#make
●(5)安裝相關(guān)模塊
#make install
3、四步驟使用nmap確定企業(yè)網(wǎng)絡(luò)開放端口 (1)掃描實(shí)施第一步:發(fā)現(xiàn)活動(dòng)主機(jī)
使用nmap掃描整個(gè)網(wǎng)絡(luò)尋找目標(biāo),已確定目標(biāo)機(jī)是否處于連通狀態(tài)。通過(guò)使用“-sP”命令,進(jìn)行ping掃描。缺省情況下,nmap給每個(gè)掃描到的主機(jī)發(fā)送一個(gè)ICMP echo和一個(gè)TCP ACK,主機(jī)對(duì)任何一種的響應(yīng)都會(huì)被nmap得到,掃描速度非???,在很短的時(shí)間內(nèi)可以掃描一個(gè)很大的網(wǎng)絡(luò)。該命令使用如下所示:
[root@localhost ~]# nmap -sP 10.1.4.0/24
Nmap finished: 256 IP addresses (125 hosts up) scanned in 7.852 seconds