BrunoCaires

Site pessoal com anotações e nerdices

Fail2ban no Ubuntu Server

Written on

Fail2ban {#fail2ban style="text-align: left;"} ========

Fail2ban tenta prevenir ataques de força bruta através de análise de logs e tomando alguma atitudes como criação de regras no iptables e envio de alertas ao administrador.

Instalação

    apt-get install fail2ban

Arquivos importantes são:

  • /etc/fail2ban/fail2ban.conf (com configurações básicas)
  • /etc/fail2ban/jail.conf (onde configura os serviços monitorados)
  • /etc/fail2ban/action.d/ (diretório onde ficam as regras de ações a serem tomadas)
  • /etc/fail2ban/filter.d/ (diretório as expressões para detectar os ataques)

Configuração

O principal arquivo de configuração é o jail.conf.

Na seção DEFAULT temos:

  • ignoreip: 127.0.0.1 e podemos colocar outras ip confiáveis
  • bantime: 600 tempo em segundos que o ip ficará banido após ter sido pego em alguma regra.
  • banaction: iptables-multiport que é a regra padrão de ação de banimento
  • mta: mailé o meio pelo qual será enviado e-mail ao administrador com avisos, quando usado o mail no ubuntu é
    necessário instalar o pacote mail-utils , pode ser usado também o sendmail que na realidade é o padrão.
  • action: %(action_mwl)s ação padrão tomada no banimento, nesse caso foi escolhido o banimento e envio de e-mail com informações de log.

    Jail

    Nesta seção do arquivo são incluídos os jails ou seja o que será monitorado o único que vem habilitado por padrão é o
    SSH e tem as configurações a seguir:

  • enable: true está habilitando o jail.

  • port: ssh porta que o serviço escuta e pode ser alterada para qualquer outra exemplo 22000.
  • filter: sshdé o filtro na pasta filter.d utilizado para analisar os logs.
  • logpath: /var/log/autharquivo de log analisado para identificar ataques.
  • maxretry: 3 número máximo de tentativas falhas antes do banimento.As outras ações não especificadas aqui são pegas da seção DEFAULT.

    Notificação

    As notificações enviadas por e-mail podem ser editadas na pasta action.d, no caso acima estamos utilizando a ação mail-whois-lines.conf é só editá -lo.

    Comandos

  • Iniciando: 

service fail2ban start

`

  • Desbloqueando ip:

iptables -D fail2ban-<CHAIN_NAME> -s <IP> -j DROP

`

  • Verificando Log:*

tail /var/log/fail2ban.log

`

  • Checando status de serviços:

fail2ban-client status ssh

`

  • Checando filtro (regex):

fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf

`

FREEBSD

Para instalar no Freebsd

cd /usr/ports/security/py-fail2ban/

make -DNO_STAGE install

Para Bloquear as tentativas de invasão pode ser usado o ipfw criando uma regra no inicio do script:

actionban = actionunban = ipfw table 1 add &lt;ip&

gt;

actionunban = actionunban = ipfw table 1 delete &lt;ip&gt;

Para Desbloquear um IP manualmente basta executar o comando

ipfw table 1 delete &lt;ip-desejado&gt;

Para verificar se ip está mesmo bloqueado

ipfw table 1 list