分層防禦策略:結合網路與主機層 IDS
單一工具無法完整防禦,建議採用分層架構:
- 網路層: Snort (封包分析/入侵偵測) + PSAD (掃描偵測/自動封鎖) + iptables (防火牆/日誌來源)。
- 主機層: chkrootkit / rkhunter (Rootkit 掃描) + Tripwire (檔案完整性監控) + SELinux/AppArmor (強制存取控制)。
1. PSAD - 端口掃描攻擊偵測器 (Port Scan Attack Detector)
定位: 即時分析 iptables/Snort 日誌,偵測 Nmap 等掃描行為、異常連線模式。
特色:
- 整合 Snort 規則,可深入應用層內容分析。
- 支援自動封鎖可疑 IP (配合 iptables/ipset)。
- 資料可匯出至 AfterGlow / Gnuplot 視覺化攻擊來源分布。
部署建議: 邊界防火牆或關鍵伺服器前端,啟用 iptables LOG 規則餵送 PSAD。
2. Snort - 輕量級網路入侵偵測標準
定位: 即時封包檢查、規則比對、警報產生。
關鍵設定:
- 精簡規則集:僅啟用環境相關規則 (如 Web、Mail、DNS),避免效能拖垮與誤報。
- 隱蔽模式運作:監聽介面不綁定 IP (
ifconfig eth0 up,snort -i eth0),避免被偵測。
- 關閉 NetworkManager 等自動配置服務防止干擾。
- 前端分析:搭配 BASE (Basic Analysis and Security Engine) 視覺化警報。
3. chkrootkit / rkhunter - Rootkit 掃描經典雙雄
定位: 掃描已知 Rootkit、後門、本地提權漏洞利用程式、可疑檔案/程序。
最佳實務:
- 從唯讀媒體 (Live CD、寫保護 USB/SD 卡) 執行,避免掃描器本身被植入惡意代碼。
- 定期排程掃描 (cron) 並郵件通報異常。
- 非網路層工具,適合單機快速體檢。
4. Tripwire - 檔案完整性監控與變更稽核
定位: 建立基準資料庫 (資料庫簽章),定期比對關鍵系統檔案、配置檔是否被竄改。
三大版本選擇:
- Open Source Tripwire: 少量伺服器、無需集中報表。
- Tripwire for Servers: 需詳細報表、集中管理的 Linux/UNIX/Windows 環境。
- Tripwire Enterprise: 跨平台 (伺服器、資料庫、網路設備、桌面、目錄服務) 合規稽核。
操作流程: 初始化建立資料庫 → 定期排程檢查 → 異常警報 → 調查確認 → 更新資料庫 (授權變更) 或還原檔案 (惡意竄改)。
總結:工具組合建議
| 層級 | 主要工具 | 輔助工具 | 核心價值 |
| 網路即時偵測 | Snort | PSAD, BASE | 封包級攻擊識別、規則擴展性 |
| 掃描/暴力破解偵測 | PSAD | iptables LOG, fwsnort | 自動封鎖、視覺化攻擊地圖 |
| 主機 Rootkit 掃描 | chkrootkit / rkhunter | 唯讀媒體啟動 | 已知惡意代碼特徵掃描 |
| 檔案完整性稽核 | Tripwire | AIDE (開源替代) | 關鍵檔案竄改偵測、合規證據 |
部署 IDS 非一次完成,需持續調整規則、審核日誌、演練應變流程,才能發揮最大防護效益。