A ação fail2ban ufw não é executada durante o monitoramento, mas funciona para proibição manual

2

Estou usando o fail2ban 0.9.3 no Ubuntu 16.04. Meu jail.local é assim:

[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

Estou executando o fail2ban 0.9.3 no Ubuntu 16.04.

Eu tenho uma ação ufw personalizada definida da seguinte forma:

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

(Isso é diferente daquele que vem com o fail2ban, que apenas bloqueia o IP em todas as portas).

A ação funciona - se eu fizer fail2ban-client set apache-post banip 10.0.0.1 e, em seguida, verificar ufw status , o IP será banido:

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

Mas quando o servidor é reiniciado e executado, há um problema. O fail2ban está monitorando corretamente os logs e iniciando as proibições, mas os IPs não estão sendo banidos no ufw. Aqui está um exemplo de registro:

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

Se eu verificar ufw status , então o IP não foi banido - então, claramente, a ação não foi realmente executada, mas o fail2ban acha que foi.

Se eu reiniciar o servidor fail2ban neste ponto, ele verificará os logs recentes e com êxito banirá o IP - ou seja, quando executar ações na reinicialização, a ação ufw será executada corretamente . Da mesma forma, se eu executar manualmente um comando banip , o IP será banido corretamente. Mas as proibições de monitoramento de registros não funcionam.

Estou perplexo sobre por que funciona manualmente, mas não em operação normal. Como depuro isso?

O UFW está em execução:

> sudo ufw status
Status: active

E verificar o status da prisão mostra que ela está ativa e acha que proibiu os IPs:

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)
    
por solarissmoke 10.10.2018 / 06:59

1 resposta

0

Você confirmou que o ufw está de fato em execução? Por exemplo. nas minhas instalações do Ubuntu, isso requer a configuração 'enabled = YES' em /etc/ufw/ufw.conf para que o ufw comece na inicialização. No Ubuntu 16.04 está desativado por padrão.

Eu entendo que você está dizendo que você substituiu o padrão /etc/fail2ban/action.d/ufw.conf ? Por quê? Sua receita funciona com a versão original?

O que fail2ban status <JAIL> mostra para você?

    
por 03.11.2018 / 08:58

Tags