Fail2Ban: Acabaram-se os ataques de força bruta no seu Linux CentOS 7
A segurança é um requisito fundamental para o bom funcionamento dos serviços online. Além da sua instalação, os administradores devem proceder à sua correta configuração e também ter mecanismos que garantam toda a segurança do sistema.
Já conhece a ferramenta Fail2Ban? Acabaram-se os ataques de força bruta no seu Linux CentOS 7.
Depois de publicarmos aqui o tutorial para o Ubuntu, vamos mostrar como podem configurar a ferramenta no Linux CentOS 7.
Fail2Ban - o seu agente de segurança
Fail2Ban pode ser considerada uma ferramenta que funciona como agente que monitoriza regularmente os logs dos mais diversos serviços.
No caso de encontrar tentativas de acesso indevidas (verificando um número elevado de tentativas de autenticação falhadas) a um dado serviço (ex. ssh, pam, xinetd, apache, vsftpd, proftpd, wuftpd, postfix, couriersmtp, courierauth, sasl e named) o Fail2Ban adiciona dinamicamente uma regra na firewall do sistema que bloqueia de imediato as sessões/comunicações do suposto atacante. Esta ferramenta foi desenvolvida em Phyton e é totalmente gratuita.
Com instalar o Fail2Ban no CentOS 7?
A instalação do fail2ban é bastante simples. Para começar, devem instalar o repositório EPEL (Extra Packages for Enterprise Linux) que contém pacotes adicionais. Depois é só instalar o fail2ban.
yum install epel-release yum install fail2ban fail2ban-systemd |
Se tiver o SELinux, façam atualização às políticas com o seguinte comando:
yum update -y selinux-policy* |
Configurar o Fail2Ban para SSH no Linux
Para começar, abrimos o ficheiro de configuração num editor (por exemplo o nano). Não se esqueçam de fazer sempre uma cópia do ficheiro:
cp -pf /etc/fail2ban/jail.conf /etc/fail2ban/jail.local nano /etc/fail2ban/jail.local |
Em seguida vamos à secção [Default] onde podemos fazer algumas configurações. Para este exemplo vamos considerar que devem ser ignorados os endereços IP 127.0.0.1/8 e 192.168.1.1/24 , que o número de segundos que uma máquina deve ficar banida deve ser de 3600 e que o fail2ban apenas atua após 6 tentativas falhadas de autenticação.
[DEFAULT] # "ignoreip" can be an IP address, a CIDR mask or a DNS host ignoreip = 127.0.0.1/8 192.168.1.1/24 [...] bantime = 3600 [...] maxretry = 6 # "backend" specifies the backend used to get files modification. Available # options are "gamin", "polling" and "auto". # yoh: For some reason Debian shipped python-gamin didn't work as expected # This issue left ToDo, so polling is default backend for now [...] backend = auto # # Destination email address used solely for the interpolations in # jail.{conf,local} configuration files. destemail = root@localhost [...] |
Feita a configuração geral, vamos agora indicar o serviço. O Fail2Ban tem já alguns filtros pré-definidos para vários serviços. Assim basta fazer algumas adaptações. Aqui vai um exemplo:
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log |
Nota: Não se esqueçam de indicar o caminho correto do log do SSH do vosso sistema.
Para ativarem o serviço no boot do sistema e reiniciar devem executar os seguintes comandos:
[sshd] systemctl enable firewalld systemctl start firewalld |
Para fazerem o tracking dos pedidos barrados, podem executar consultar o log do SSH da seguinte forma:
cat /var/log/secure | grep 'Failed password' |
Para saber quais os endereços "banidos" pelo Fail2Ban, executem o comando:
iptables -L -n |
Por fim, se pretenderem "desbloquear" algum endereço que tenha sido banido pelo Fail2Ban basta executar:
fail2ban-client set sshd unbanip ENDERECO_IP |
Podem ver aqui uma demonstração que fizemos com o Linux Ubuntu.
Leia também...
Este artigo tem mais de um ano
Imagem: makeuseof.com
Muito bom artigo!
Obrigado PP! 😉
Sempre às ordens.
E se o atacante usar a rede TOR para esconder a identidade? Este programa deixa de ser útil.
É como tudo nao?
porquê? liga-se sem IP?
já conhecia e uso à bastante tempo
Qual a melhor alternativa para Windows 10 ou Windows Server 2016?
Ótimo artigo uso esta ferramenta há muito tempo, e tenho conseguido bons resultados com ela. Meus parabéns quando tiver uma oportunidade fala um pouco mais sobre o fail2ban tipo ele umas jails sobre outros serviços como Apache2, nginx, recidive etc.