Proteção utilizando fail2ban contra ataques do tipo

O fail2ban pode monitorar a tentativa de login nos serviços ssh, pam, xinetd, apache, vsftpd, proftpd, wuftpd, postfix, couriersmtp, courierauth, sasl e named, e em uma ação pró-ativa bloquear o possível ataque, adicionando uma regra no firewall.

[ Hits: 76.681 ]

Por: Ricardo Brito do Nascimento em 30/08/2011 | Blog: http://brito.blog.incolume.com.br


Configuração para fail2ban



Após a instalação o fail2ban disponibilizará o diretório de configuração "/etc/fail2ban".

# ls /etc/fail2ban/
action.d    fail2ban.conf    filter.d    jail.conf

Os arquivos interessantes para configuração são os "fail2ban.conf" e "jail.conf", vejamos primeiro o fail2ban.conf.

...
[Definition]

# Option:  loglevel
# Notes.:  Set the log level output.
#          1 = ERROR
#          2 = WARN
#          3 = INFO
#          4 = DEBUG
# Values:  NUM  Default:  3
#
loglevel = 3

# Option:  logtarget
# Notes.:  Set the log target. This could be a file, SYSLOG, STDERR or STDOUT.
#          Only one log target can be specified.
# Values:  STDOUT STDERR SYSLOG file  Default:  /var/log/fail2ban.log
#
logtarget = /var/log/fail2ban.log

As linhas importantes deste arquivo são a "loglevel = 3" e "logtarget = /var/log/fail2ban.log", que definem o nível de informação no log e o arquivo de log do fail2ban, para acompanhamento e possíveis correções.

Já no arquivo "/etc/jail.conf", é onde tem-se a maior parte da configuração.

...
[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1
bantime  = 600
maxretry = 3
...

Nas diretivas:
  • ignoreip : É listado os endereços de IP (ex.: 127.0.0.1), ou Mascara CIDR-Classless Inter Domain Routing (ex.: 192.168.12.0/23, onde 192.168.12.0/23 = 192.168.12.0/24 + 192.168.13.0/24), ou DNS host (ex.: perfumes.incolume.com.br ou brito.blog.incolume.com.br), que deverão ser ignorados pelo fail2ban;
  • bantime : É definido o tempo em segundos, que o IP ofensor ficará banido e/ou bloqueado para o serviço;
  • maxretry : É definido a quantidade máxima de tentativas de acesso.
...
# Destination email address used solely for the interpolations in
# jail.{conf,local} configuration files.
destemail = root@localhost

#
...

  • destemail : Define o email que receberá as notificações, claro, que somente, se o smtp estiver configurado.
...
# Default banning action (e.g. iptables, iptables-new,
# iptables-multiport, shorewall, etc) It is used to define
# action_* variables. Can be overriden globally or per
# section within jail.local file
banaction = iptables-multiport
...

  • banaction : Define qual a ação de banimento será executada, se o firewall for iptables, não modifique.
...
[ssh]

enabled = true
port    = ssh
filter  = sshd
logpath  = /var/log/auth.log
maxretry = 6
sendmail-whois[name=SSH, dest=brito@incolume.com.br, sender=perfumes@incolume.com.br]
...

Finalmente a definição de segurança para os serviços, os quais estão destacados entre colchetes como no fragmento acima, [ssh], [pam-generic], e assim sucessivamente. Estre trecho conterá as mesmas diretivas, para qualquer serviço configurado.
  • enabled : habilita ou desabilita a verificação do serviço;
  • port : a porta na qual o serviço esculta;
  • filter : padrão que será utilizada para identificação do filtro;
  • logpath : arquivo de log com caminho completo;
  • maxretry : quantidade máxima de tentativas de acesso;
  • sendmail-whois : a configuração de notificação por email, sender=remetente, dest = destinatário e name = Assunto.
Página anterior     Próxima página

Páginas do artigo
   1. Introdução e Instalação do fail2ban
   2. Configuração para fail2ban
   3. Exemplos e Referências
Outros artigos deste autor

Gerenciando certificados A1 fornecidos pelo ICB-Brasil no navegador Chrome sobre Linux

Configurando Subversion

Instalação Plone 2.5.5 com módulos customizados

Encapsulamento de Apache com chroot

Formatando exibição de datas no Linux

Leitura recomendada

Instalação do Nessus 3.0

OSSEC HIDS - Instalação e configuração no CentOS 6.5

Explorando celulares Android via Web com airbase-ng

Integrando ModSecurity ao NGINX e Apache

Arpwatch - Detecte em sua rede ataques de Arp Spoofing/Arp Poisoning

  
Comentários
[1] Comentário enviado por removido em 30/08/2011 - 15:01h

Muito bom !

[2] Comentário enviado por rbn_jesus em 19/10/2011 - 10:04h

obrigado Thalysson!

[3] Comentário enviado por alex.oliver em 28/09/2012 - 09:14h

Olá Ricardo!

Sensacional o artigo, estou iniciando um trabalho com essa ferramenta, e tenho uma dúvida... na opção "enable = false", esta estaria ativando a monitoração desejada ou estaria stopando-a?
Fiquei em dúvida, porque estou usando o arquivo jail.* como a extensão .local, teria algo a ver ou viajei muito?!

Abraços!

[4] Comentário enviado por sylviomgs em 28/06/2016 - 13:31h

Boa tarde, Ótimo artigo, gostaria de saber onde visualizo a blacklist q o fail2ban cria...

[5] Comentário enviado por davidfagundes em 08/12/2017 - 15:16h

muito bom o artigo, tenho uma pergunta, consigo bloquear ao invés do IP o MAC ??


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts