Действие Fail2ban ufw не запускается при мониторинге, но работает при блокировке вручную

Я использую fail2ban 0.9.3 в Ubuntu 16.04. Мой jail.local выглядит так:

[DEFAULT]

banaction = ufw

[apache-post]
enabled = true
filter = apache-post
port = http,https
logpath  = /var/log/apache2/other_vhosts_access.log
maxretry = 20
bantime = 3600

Я запускаю fail2ban 0.9.3 на ubuntu 16.04.

У меня есть настраиваемое действие ufw , определенное следующим образом:

[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ufw insert 1 deny from <ip>
actionunban = ufw delete deny from <ip>

] (Он отличается от того, что поставляется с fail2ban, поскольку просто блокирует IP на всех портах.)

Действие работает - если я сделаю fail2ban-client, установите apache-post banip 10.0.0.1 , а затем проверьте статус ufw , IP заблокирован:

To                         Action      From
--                         ------      ----
Anywhere                   DENY        10.0.0.1

Но когда сервер затем перезагружается и работает, возникает проблема. fail2ban правильно отслеживает журналы и инициирует бан, но IP-адреса не забанены в ufw. Вот пример журнала:

2018-10-09 14:00:57,679 fail2ban.actions        [31576]: NOTICE  [apache-post] Ban 10.0.5.2
2018-10-09 14:01:02,897 fail2ban.actions        [31576]: NOTICE  [apache-post] 10.0.5.2 already banned
2018-10-09 14:01:07,903 fail2ban.actions        [31576]: NOTICE  [apache-post] 10.0.5.2 already banned
2018-10-09 14:01:12,908 fail2ban.actions        [31576]: NOTICE  [apache-post] 10.0.5.2 already banned
2018-10-09 14:01:17,914 fail2ban.actions        [31576]: NOTICE  [apache-post] 10.0.5.2 already banned

Если я проверю статус ufw , то IP не был забанен -поэтому очевидно, что действие на самом деле не было выполнено, но fail2ban считает, что да.

Если я перезапущу сервер fail2ban на этом этапе, он проверит последние журналы и успешно заблокирует IP - т.е. , когда он выполняет действия при перезапуске, действие ufw выполняется правильно. Точно так же, если я вручную запустил команду banip , тогда IP будет правильно заблокирован. Но запреты на мониторинг журналов не работают.

Я не понимаю, почему это работает вручную, а не в обычном режиме. Как мне отладить это?

UFW запущен:

> sudo ufw status
Status: active

И проверка статуса тюрьмы показывает, что она активна и считает, что она заблокировала IP-адреса:

Status for the jail: apache-post
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     643
|  `- File list:        /var/log/apache2/other_vhosts_access.log
`- Actions
   |- Currently banned: 9
   |- Total banned:     11
   `- Banned IP list:   10.0.5.2 (and more)
2
задан 3 November 2018 в 10:38
1 ответ

Вы подтвердили, что ufw действительно работает? Например. в моих установках Ubuntu для этого требуется установка «enabled = YES» в /etc/ufw/ufw.conf , чтобы ufw запускался при загрузке. В Ubuntu 16.04 он выключен по умолчанию.

Я так понимаю, вы говорите, что вы заменили стандартный /etc/fail2ban/action.d/ufw.conf ? Почему? Ваш рецепт работает с исходной версией?

Что показывает статус fail2ban ?

0
ответ дан 3 December 2019 в 13:54

Теги

Похожие вопросы