fail2ban 設定與操作
Fail2ban
關於 Fail2ban
安裝 Fail2ban
設定 Fail2ban
啟動 Fail2ban
測試 Fail2ban
檢視 Fail2ban 狀態
- 通用檢查
service fail2ban status
Fail2ban (pid 1060) is running... (表示運行中)
Status
|- Number of jail: 1 (規則 1 條)
`- Jail list: apache-tcpwrapper (規則名稱) - 檢查特定規則
語法: fail2ban-client status 規則名稱
例如: fail2ban-client status apache-tcpwrapper
測試 Fail2ban regex 規則是否有效
語法 : fail2ban-regex "要檢查的檔案路徑、名稱" "規則來源"例如: fail2ban-regex /var/log/httpd/error_log /etc/fail2ban/filter.d/apache-tcpwrapper.conf
Running tests
=============
Use regex file : /etc/fail2ban/filter.d/apache-tcpwrapper.conf
Use log file : /var/log/httpd/error_log
Results
=======
Failregex
|- Regular expressions:
| [1] [[]client <HOST>[]] (File does not exist|script not found or unable to stat): /\S*
|
`- Number of matches:
[1] 296 match(es) (有 296條符合)
Ignoreregex
|- Regular expressions:
|
`- Number of matches:
== 2015/06/24 補充 ==
- 如果出現 Lines: 2320 lines, 0 ignored, 2209 matched, 111 missed
表示有 111 行類似但不完全符合規則,這時可以加上 --print-all-missed
來顯示錯過那幾行內容,藉此觀察特徵來調整規則。
ex. : fail2ban-regex /var/log/httpd/error_log /etc/fail2ban/filter.d/apache-tcpwrapper.conf --print-all-missed - fail2ban 更新之後,重新啟動時出現 WARNING 'ignoreregex' not defined
就要檢查以下幾個設定中是否有加上 ignoreregex 這個設定。- fail2ban.conf
- jail.conf
- filter.d/ 目錄底下有用到的設定檔。
==== 2024/12/29 補充 ====
使用 fail2ban-regex 測試 fail2ban 檢測規則時,若想要查看匹配的紀錄可再加上加參數
--print-all-matched
接續上面例子
fail2ban-regex /var/log/httpd/error_log /etc/fail2ban/filter.d/apache-tcpwrapper.conf --print-all-matched
用法: fail2ban-regex [紀錄檔路徑] [過濾規則檔案路徑] --print-all-matched (顯示所有匹配紀錄)