Linux系統上廣泛使用的入侵防禦工具- fail2ban

 


fail2ban是Linux系統上廣泛使用的入侵防禦工具。它可以監視系統日誌文件,如果發現有太多的密碼嘗試失敗(可能是暴力破解攻擊),就會透過防火牆攔截來自該IP位址的訪問,從而保護系統的安全。

以下是在CentOS/RHEL系統上使用fail2ban的步驟:

  1. 安裝失敗2ban

sudo yum install fail2ban
  1. 複製設定檔

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

這樣可以在jail.local中修改配置,而不影響原始的jail.conf檔案。

  1. 編輯jail.local配置文件

使用您熟悉的文字編輯器編輯/etc/fail2ban/jail.local文件。常見設定包括:

  • ignoreip- 忽略某些IP,例如本機位址127.0.0.1
  • bantime- 阻止的時間,單位是秒,例如3600代表1小時
  • findtime- 偵測時間範圍,單位是秒,如果在該時段出現過多失敗,則停止
  • maxretry- 在findtime期限內,最大失敗嘗試次數
  1. 啟用需要防護的服務

取消對應服務的註釋,例如:

[sshd] enabled = true

這使得SSH服務啟用保護,監視/var/log/secure日誌檔案。

  1. 啟動fail2ban服務

sudo systemctl start fail2ban sudo systemctl enable fail2ban # 开机自启
  1. 查看狀態和日誌

sudo fail2ban-client status # 查看状态 sudo fail2ban-client status sshd # 查看sshd服务状态 sudo cat /var/log/fail2ban.log # 查看日志

實際應用場景:

  • SSH遠端登入保護-防止暴力SSH破解密碼
  • Web服務保護- 防禦暴力破解網站後台、WordPress等CMS管理員密碼
  • 郵件服務保護- 防禦猜想郵件信箱密碼

fail2ban是一個簡單但非常有用的入侵防禦工具,透過正確的配置,能有效防禦各種常見的暴力破解攻擊,值得在生產環境中廣泛使用。


/etc/fail2ban/jail.local配置文件的一些常見選項和範例配置,並做詳細說明:

.ini

# 全局配置 [DEFAULT] ignoreip = 127.0.0.1/8 ::1 # 忽略本地地址 bantime = 3600 # 阻止时间为1小时 findtime = 600 # 检测时间范围为10分钟 maxretry = 5 # 在10分钟内最多允许5次失败 # SSH服务配置 [sshd] enabled = true port = ssh # 监视的SSH端口 filter = sshd # 使用的过滤器文件名 logpath = /var/log/secure # 监视的日志文件路径 maxretry = 5 # 覆盖全局的最大重试次数 # Apache服务配置 [apache] enabled = true port = http,https filter = apache-auth logpath = /var/log/apache*/*error.log maxretry = 6 # MySQL服务配置 [mysql-iptables] enabled = true filter = mysql action = iptables-multiport[...] logpath = /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log maxretry = 3 bantime = 600 # 阻止10分钟 # 邮件服务配置 [postfix-sasl] enabled = true filter = postfix[mode=auth] logpath = /var/log/mail.log

說明:

  • [DEFAULT]中的選項會作為全域預設值,可以被其他服務配置覆蓋。
  • ignoreip指定需要忽略的 IP 位址,可以是單一位址或使用遮罩。
  • bantime指定阻止的時間,單位為秒。3600代表1小時。
  • findtime指定偵測時間範圍,單位為秒。如果在此期限內失敗次數超過maxretry,將觸發阻止。
  • maxretry指定允許的最大重試次數。
  • 對於每個服務的配置,均需啟用enabled = true
  • port指定該服務要監視的端口,可以使用服務名或端口號。
  • filter指定使用的過濾器檔案名,該檔案位於/etc/fail2ban/filter.d/目錄下。
  • logpath指定要監視的日誌檔案路徑,可以使用相對路徑,也可以是多個檔案路徑。

以上就是
的fail2ban配置選項,可以根據實際需求進行調整。更高級的選項可以查看官方文件。正確配置fail2ban,可以很好地保護系統工作站設備破解攻擊。

留言

這個網誌中的熱門文章

windows server 「虛擬化型保護的程式碼完整性」(Virtualization Based Protection of Code Integrity,VBS) 功能說明與設定

linux server - 檢查nvidia driver 異常並自動重新開機

Docker 應用: 再以建置好container狀況下 如何透過json設定檔設定 在修改 Working Directory 和 Restart Policy 設定