Fail2ban

fail2ban 過濾器不匹配 - 是正則表達式還是其他

  • May 2, 2019

我有一個網站,其中包含允許不經常呼叫的 php 腳本。一些煩人的使用者每隔幾秒鐘就會點擊我的腳本,我需要禁止他們。我已經設置了 failban,但他們沒有被抓住。我已經閱讀了 wiki 並根據範例對我的設置進行了建模。有人能告訴我這裡有什麼不對嗎?

首先是我的監獄:

[my-checkversion]
enabled  = true
filter   = checkversion
logpath  = /data/logs/mydomain.com-access_log
findtime = 60
bantime = 86400
maxretry = 6
action = iptables[name=HTTP, port=http, protocol=tcp]

接下來我的過濾器:

[INCLUDES]
before = apache-common.conf
[Definition]
# Example
# 144.217.80.24 - - [02/May/2019:07:02:00 -0500] "POST /hidden/readversion.php HTTP/1.1" 200 -
failregex = ^<HOST> - - \[.*\] "POST <checkversion_url> HTTP/1\.[01]" 200 .*$
ignoreregex =
[Init]
checkversion_url = /hidden/readversion.php

我從 apache 訪問文件中放置了 1 行摘錄,顯示使用者在正則表達式行上方的評論中點擊了有問題的 URL。

有人可以告訴我有什麼問題嗎?是正則表達式嗎?由於變數替換,線上正則表達式編輯器無濟於事……所以這是最好的努力

fail2ban 有一個選項可以強制它查看文件以嘗試您的規則,並列印出它是否有效。

你看過fail2ban-regex <logfile> <fail2ban rule .conf>嗎?

引用自:https://serverfault.com/questions/965571