🛡️ Linux 防火牆與入侵防護:結合 Firewalld、Fail2Ban 與 Systemd 安全策略實作
Linux 系統安全的核心在於「多層防禦」。 本文帶你一步步結合 Firewalld、Fail2Ban 與 Systemd, 建立自動化防護機制,讓伺服器在偵測異常登入時即時封鎖惡意來源。
一、檢查與啟用 Firewalld
# 安裝與啟動
sudo apt install firewalld -y
sudo systemctl enable --now firewalld
# 檢視狀態
sudo firewall-cmd --state
sudo firewall-cmd --list-all
二、設定防火牆區域與服務
# 將 SSH 加入 public 區域
sudo firewall-cmd --permanent --zone=public --add-service=ssh
sudo firewall-cmd --reload
# 新增自訂區域(例如內部 LAN)
sudo firewall-cmd --permanent --new-zone=internal
sudo firewall-cmd --permanent --zone=internal --add-source=192.168.0.0/24
三、整合 Fail2Ban 入侵防護
# 安裝
sudo apt install fail2ban -y
# 建立覆寫設定
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo vi /etc/fail2ban/jail.local
設定範例:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
bantime = 600
maxretry = 5
action = firewallcmd-ipset
四、Systemd 自動化啟動與監控
# 啟動與檢查服務
sudo systemctl enable --now fail2ban
sudo systemctl status fail2ban
# 查看封鎖名單
sudo fail2ban-client status sshd
五、安全強化建議
- 🔐 關閉 root 遠端登入:
PermitRootLogin no - 🧱 使用非預設埠號(如 2222)
- 🧩 啟用 SELinux / AppArmor 強化層
- 📈 使用 systemd-analyze 確認啟動耗時
📘 結語
透過 Firewalld、Fail2Ban 與 Systemd 的組合, 你能快速打造兼具「彈性、穩定與自動化」的防禦架構。 對於中小型伺服器或雲端主機而言,這是最簡潔有效的安全起點。
🔗 延伸閱讀
— WWFandy・系統與網路筆記
沒有留言: