Fonte: https://pplware.sapo.pt/linux/fail2ban-aprenda-a-prevenir-os-servicos-de-ataques-de-forca-bruta/
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 correcta configuração e também ter mecanismos que garantam toda a segurança do sistema.
Hoje damos a conhecer um projecto que dá pelo nome de Fail2Ban, cujo objectivo é prevenir os serviços de ataques de força bruta.
A ferramenta Fail2Ban pode ser considerada como um agente que monitoriza regularmente os logs dos mais diversos serviços.
No caso de encontrar tentativas de acesso indevidas (verificando um numero 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 é gratuita.
Com instalar o Fail2Ban ni Ubuntu e derivados?
A instalação do fail2ban é bastante simples. Para tal basta executar o seguinte comando:sudo apt-get update && sudo apt-get install fail2ban |
Configurar o Fail2Ban para SSH
Para começar abrimos o ficheiro de configuração num editor (por exemplo o nano):nano /etc/fail2ban/jail.local |
[DEFAULT] # "ignoreip" can be an IP address, a CIDR mask or a DNS host <strong>ignoreip = 127.0.0.1/8 192.168.1.1/24 </strong>[...] <strong>bantime = 3600 </strong>[...] <strong>maxretry = 6</strong> # "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 [...] |
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log |
Demonstração
Depois de realizadas as configurações apresentadas acima, tentamos aceder via uma máquina Windows ao servidor de SSH que estava no Linux. Como se pode ver pelo log ( cat /var/log/fail2ban.log) à sexta tentativa (como definimos) a máquina com o endereço 192.168.1.82 (corresponde à máquina Windows com o nome tiger.lan) foi banida.Como referido, para banir uma comunicação suspeita o Fail2Ban adiciona dinamicamente uma regra ao iptables.
Para quem tem serviços de rede expostos, esta é sem duvida uma ferramenta a ter em conta para a protecção dos mesmos. Como viram é simples de instalar e ainda possui muitas outras opções de configuração (como por exemplo enviar um e-mail a alertar o administrador).