入侵偵測、阻擋網路掃描免費工具:PortSentry 1.2

摘要:入侵偵測、阻擋網路掃描免費工具:PortSentry 1.2

 

一、簡介

 1. 配置最簡單,效果最直接的工具之一。

 2. 支援大多數Unix系統:Solaris、HPUNIX、FreeBSD、AIX、SCO、Linux...等。

 3. 可即時偵測幾乎所有類型的網路掃描,並對其行為做出反應,如重導向虛假的路由、阻擋IP之類的。

 4. 若發現可疑行為,會採取下列特定措施來加強防範:

  4.1. 可對掃描動作產生詳細的紀錄,包括掃描的主機名、時間、端口等。

  4.2. 在Linux System下可捕捉SYN/half-open、FIN、NULL、X-Mas等許多Stealth模式

  4.3. 可有效捕捉非連續隨機掃描,通過可記憶的內置引擎,既使掃描是隨機的,也可立刻辨別並迅速加以阻擋。

  4.4. 可與TCP_Wrappers結合,將掃描的主機寫入TCP_Wrappers的『/etc/hosts.deny』中。

  4.5. 可根據設置,自動將掃描的主機指向虛假的路由,阻斷連接功能。

  4.6. 可利用Netfilter機制,封包過濾程序,如:『iptables』和『ipchain』,將所有非法封包過濾掉。

 5. 因已被Cisco收購,所以最後版本為1.2。

 

二、測試系統規格

 1. OS:CentOS 6.2 release x86_64 Final (VMWare)

 2. CPU:Core i5 1.60 GHz 1 Processor

 2. HDD:40 GB

 3. RAM:1 GB

 

三、安裝與設置

 1. 安裝

  1.1. wget http://nchc.dl.sourceforge.net/sourceforge/sentrytools/portsentry-1.2.tar.gz

  1.2. tar zxvf portsentry-1.2.tar.gz

  1.3. cd portsentry_beta

  1.4. vim portsentry.c:將第『1584』與『1585』兩行合為一行(白框處),否則會無法安裝。

  1.5. make linux:因為支援大多的Unix系統,所以必須指定『SYSTYPE』。

     註:其『warning』訊息,我也不知道是否正常,有興趣研究的,可以之後告訴我,謝謝。

  1.6. make install:出現紅框內訊息表示成功安裝

 

 2. 編輯『portsentry.conf』

  2.1. /usr/local/psionic/portsentry

  2.2. 端口設置:此部份可使用設定檔內預設或依照實際狀況進行編輯

  2.3. Advanced Stealth Scan Detection Options:高級秘密掃描偵測選項

  2.4. Configuration Files

   2.4.1. IGNORE_FILE:此文件記錄允許合法掃描伺服器的主機IP。

   2.4.2. HISTORY_FILE:此文件中保留了以往所有入侵主機的IP歷史紀錄。

   2.4.3. BLOCKED_FILE:此文建中是已經被阻止連接的主機IP記錄。

  2.5. Misc. Configuration Options

   2.5.1. RESOLVE_HOST:預設為『1』,設定是否解析Domain Name;『0』為不解析,速度較快。

  2.6. Dropping Routes:依系統對應

   2.6.1. Route:設置虛假的路由記錄,將其導向,使之無法獲得訊息。

     註:無法與其他『KILL_ROUTE』並存,如:『Generic BSD』、『Generic Sun』等

   2.6.2. IPFWADM

     註:無法與其他『KILL_ROUTE』並存,如:『IPCHAINS』、『IPTABLES』等

   2.6.3. IPCHAINS

     註:無法與其他『KILL_ROUTE』並存,如:『IPFWADM』、『IPTABLES』等

   2.6.4. IPTABLES

     註:無法與其他『KILL_ROUTE』並存,如:『IPFWADM』、『IPCHAINS』等

  2.7. TCP_Wrappers:加入封鎖清單至『/etc/hosts.deny』。

  2.8. Scan Trigger Value:觸發機制,可設定觸發次數而封鎖,預設為『0』,表示一被偵測到即封鎖。

  2.9. Port Banner Section警告訊息,可輸入要傳給掃描者的警告訊息。

  2.10. External Command:其他選項,可在此調整設定

 

 3. 編輯『portsentry.ignore』

     註:編輯完後更改文件的權限

 

 4. 啟動偵測模式

     PortSentry對應TCP和UDP兩種協議(Protocol),有三種啟動模式:基本、秘密、高級秘密。

     建議使用『秘密掃描偵測模式(Stealth Scan Detection Mode)』或

     『高級秘密掃描偵測模式(Advanced Stealth Scan Detection Mode)』。

     而『高級秘密掃描偵測模式(Advanced Stealth Scan Detection Mode)』,PortSentry會自動檢查伺服器上

     正在運作的端口,然後把這些端口從設置文件中移去,只監控其他的端口,可加快對端口掃描的反應速度。

     註:記得加入到『/etc/rc.d/rc.local』中

  4.1. portsentry -tcp / -udp:TCP/UDP基本端口綁定模式(Port Bind Mode)

  4.2. portsentry -stcp / -sudp:TCP/UDP秘密掃描偵測模式(Stealth Scan Detection Mode)

  4.3. portsentry -atcp / -udp:TCP/UDP高級秘密掃描偵測模式(Advanced Stealth Scan Detection Mode)

 

四、測試

 1. 啟動:TCP/UDP高級秘密掃描偵測模式(Advanced Stealth Scan Detection Mode)

 

 2. nmap -sS 192.168.244.137:找台測試機來掃描看看,也可以用『telnet』的方式。

 

 3. Log與Block

  3.1. /var/log/messages

  3.2. hosts.deny

  3.3. portsentry.blocked.atcp

  3.4. portsentry.history

 

五、誤判

 1. 刪除『/etc/hosts.deny』

 2. 移除Route中的設定(如果有的話)

 3. 移除IPTABLES/IPCHAINS的設定(如果有的話)

 4. 將允許的伺服器IP加入到『portsentry.ignore』

 

六、參考資料

 1. http://andrewyu.blog.51cto.com/1604432/602015

 2. http://jamyy.dyndns.org/blog/2006/03/207.html

 3. http://forum.ipb.tw/index.php?showtopic=23479

 4. http://fanqiang.chinaunix.net/a5/b6/20010927/1200011361_b.html

 5. http://www.bozhiw.com/doc-view-62681.html