Я новичок в fail2ban, но мне удалось настроить новый фильтр my-botsearch
(из https://github.com/fail2ban/fail2ban/blob/master/config/filter.d/apache-badbots.conf)
Я немного адаптировал регулярное выражение, чтобы соответствовать моим файлам журнала json из контейнера докеров, и успешно протестировал его с помощью fail2ban-regex
.
Для дальнейшего тестирования я вошел в VPN, скажем, мой новый IP 1.2.3.4
, отправил запрос GET на мой сервер, а также, как и ожидалось, в файлах журнала.
Бег fail2ban-client status my-botsearch
Я предполагаю, что fail2ban меня забанил:
|- Filter
| |- Currently failed: 1
| |- Total failed: 3
| `- File list: /var/log/docker-proxy.log
`- Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: 1.2.3.4
Действие должно быть мультипортом по умолчанию:
fail2ban-client get my-botsearch actions
The jail my-botsearch has the following actions:
iptables-multiport
Я все еще могу зайти на сайт с IP 1.2.3.4
. Что я делаю не так?
Бег iptables -L f2b-my-botsearch
я получаю следующие результаты:
Chain f2b-my-botsearch (0 references)
target prot opt source destination
RETURN all -- anywhere anywhere
RETURN all -- anywhere anywhere
RETURN all -- anywhere anywhere
tail -f /var/log/fail2ban.log
показывает следующие записи, пока я отправляю свои запросы:
[time],593 fail2ban.filter [4584]: INFO [my-botsearch] Found 1.2.3.4 - 2020-05-07 23:36:56
[time],869 fail2ban.actions [4584]: NOTICE [my-botsearch] Ban 1.2.3.4
[...]
[time],739 fail2ban.filter [4584]: INFO [my-botsearch] Found 1.2.3.4 - 2020-05-07 23:40:46
[time],746 fail2ban.filter [4584]: INFO [my-botsearch] Found 1.2.3.4 - 2020-05-07 23:40:54
[time],098 fail2ban.actions [4584]: WARNING [my-botsearch] 1.2.3.4 already banned
[time],856 fail2ban.filter [4584]: INFO [my-botsearch] Found 1.2.3.4 - 2020-05-07 23:41:03