Ubuntu防火墻(如UFW)本身主要負責訪問控制(允許/拒絕流量),而入侵檢測需通過專門的工具實現。兩者的結合能提升系統安全性:防火墻限制不必要的流量,入侵檢測系統(IDS)監控流量中的異常行為,及時發出警報或采取阻斷措施。
在部署入侵檢測前,需先通過UFW限制不必要的入站/出站流量,減少攻擊面:
sudo apt install ufw # 安裝UFW
sudo ufw enable # 啟用防火墻
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh # 允許SSH(默認端口22)
sudo ufw allow https # 允許HTTPS(端口443)
sudo ufw status verbose # 查看當前規則及狀態
Fail2Ban通過監控系統日志(如/var/log/auth.log),自動檢測多次失敗的登錄嘗試(如SSH暴力破解),并臨時封鎖惡意IP地址。
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
找到[sshd]部分,修改以下參數:enabled = true # 啟用SSH防護
maxretry = 3 # 允許的最大失敗次數
bantime = 600 # 封鎖時間(秒,此處為10分鐘)
findtime = 600 # 檢測時間窗口(秒)
sudo systemctl enable --now fail2ban
sudo tail -f /var/log/fail2ban.log # 實時查看攔截記錄
Suricata是一款開源的IDS/IPS(入侵檢測/防御系統),支持實時流量分析、協議檢測、惡意行為識別(如SQL注入、DDoS)。
sudo add-apt-repository ppa:oisf/suricata-stable
sudo apt update
sudo apt install suricata
/etc/suricata/suricata.yaml:
ip a命令查看,如eth0):af-packet:
- interface: eth0
HOME_NET,如192.168.1.0/24):HOME_NET: "[192.168.1.0/24]"
detect-engine:
- rule-reload: true
Emerging Threats或Snort規則),可通過以下命令更新:sudo suricata-update
sudo suricata -T -c /etc/suricata/suricata.yaml -v
若輸出“Configuration validated”則表示配置成功。sudo systemctl enable --now suricata
/var/log/suricata/fast.log,可通過以下命令實時查看:sudo tail -f /var/log/suricata/fast.log
Logwatch是一款日志分析工具,可自動生成每日/每周報告,幫助識別可疑活動(如多次失敗的登錄、異常文件訪問)。
sudo apt install logwatch
/usr/share/logwatch/default.conf/services/sshd.conf,啟用詳細日志分析:Title = "SSH Daemon"
LogLevel = High
logwatch --service sshd --output stdout
可設置每天定時發送報告到郵箱(需配置郵件服務)。/var/log/auth.log(SSH日志)、/var/log/suricata/fast.log(Suricata警報)等日志文件,及時發現異常。/etc/ufw/)、IDS(/etc/suricata/、/etc/fail2ban/)的配置文件,避免誤操作導致配置丟失。nmap掃描端口、curl訪問測試URL)模擬攻擊,驗證防火墻與IDS是否能正確攔截。通過以上步驟,Ubuntu防火墻可與入侵檢測工具協同工作,實現對系統流量的有效監控與異常行為的及時響應,提升系統安全性。