摘要:入侵偵測、阻擋網路掃描免費工具: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