Ferramentas de Usuário

Ferramentas de Site


pt:etch:security:brute_force_attack:fail2ban

Página desactualizada Esta página contém uma versão anterior deste guia que pode estar desatualizada. Para a consultar a versão mais recente clique aqui.

7.1.1 Fail2Ban

Objectivo

O Fail2Ban é uma aplicação que analisa continuamente os ficheiros log e bloqueia os endereços Internet de onde originaram várias tentativas falhadas de acesso com senha inválida.

O Fail2Ban é extremamente eficaz na prevenção de ataques de força bruta e de negação de serviço (DoS).

Instalação

server:~# apt-get install fail2ban

Configuração

: Nota: : A configuração activada durante a instalação activa o fail2ban para a porta ssh. No entanto outras portas podem ser monitorizadas e protegidas.

A documentação do Fail2Ban aconselha a que toda a configuração seja feita em ficheiros com a extensão .local. Estes podem ser criados copiando o ficheiro de configuração original, com a extensão .conf:

server:~# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Numa primeira fase, definimos os endereços que não estão sujeitos a restrições (endereço local e rede local), durante quanto tempo os endereços atacantes serão banidos (1800 segundos (30 minutos)) e após quantas tentativas (3 tentativas permitidas). Essa configuração deve ser efectuada no ficheiro /etc/fail2ban/jail.local:

# [...]
[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1 192.168.1.0/24
bantime  = 1800
maxretry = 3

# [...]

Em seguida, é configurada a acção a realizar quando é detectado um possível ataque. Neste caso, o endereço IP do atacante é banido e um email é enviado ao administrador do sistema. A configuração é efectuada no ficheiro /etc/fail2ban/jail.local:

# [...]

#
# Destination email address used solely for the interpolations in
# jail.{conf,local} configuration files.
destemail = root@localhost

# Default action to take: ban only
# action = iptables[name=%(__name__)s, port=%(port)s]

# Following actions can be chosen as an alternatives to the above action.
# To activate, just copy/paste+uncomment chosen 2 (excluding comments) lines
# into jail.local

# Default action to take: ban & send an e-mail with whois report
# to the destemail.
# action = iptables[name=%(__name__)s, port=%(port)s]
#          mail-whois[name=%(__name__)s, dest=%(destemail)s]

# Default action to take: ban & send an e-mail with whois report
# and relevant log lines to the destemail.
action = iptables[name=%(__name__)s, port=%(port)s]
         mail-whois-lines[name=%(__name__)s, dest=%(destemail)s, logpath=%(logpath)s]

# [...]

Por último, são definidos os parâmetros do serviço que se pretende proteger, mais uma vez editando o ficheiro /etc/fail2ban/jail.local:

# [...]

[ssh]

enabled = true
port    = ssh
filter  = sshd
logpath  = /var/log/auth.log
maxretry = 3

# [...]

Finalmente, reiniciar o serviço fail2ban:

server:~# /etc/init.d/fail2ban restart

Verificação

A cada (re)início do serviço fail2ban um email de notificação será enviado ao administrador do sistema:

To: root@localhost
Subject: [Fail2Ban] ssh: started
Date: Mon, 27 Aug 2007 10:13:52 +0100 (WEST)
From: [email protected] (root)

Hi,

The jail ssh has been started successfuly.

Regards,

Fail2Ban

E a cada ataque que despolete uma acção defensiva, o administrador será também notificado:

To: root@localhost
Subject: [Fail2Ban] ssh: banned 80.24.137.218
Date: Mon, 27 Aug 2007 10:50:44 +0100 (WEST)
From: [email protected] (root)

Hi,

The IP 80.24.137.218 has just been banned by Fail2Ban after
3 attempts against ssh.

Here are more information about 80.24.137.218:

Lines containing IP:80.24.137.218 in /var/log/auth.log

Aug 27 10:46:43 nslu2 sshd[22241]: Did not receive identification string from 80.24.137.218
Aug 27 10:50:30 nslu2 sshd[22627]: Invalid user webmaster from 80.24.137.218
Aug 27 10:50:33 nslu2 sshd[22627]: Failed password for invalid user webmaster from 80.24.137.218 port 37223 ssh2
Aug 27 10:50:43 nslu2 sshd[22637]: Failed password for root from 80.24.137.218 port 37473 ssh2

Regards,

Fail2Ban
: NOTA: : O pacote Fail2Ban pode ser utilizado para proteger servidores de e-mail, ftp, web, etc, bastando para tal editar o ficheiro /etc/fail2ban/jail.local para configurar os vários serviços que se pretendem proteger.
pt/etch/security/brute_force_attack/fail2ban.txt · Última modificação em: 2024-02-15 01:05 por 127.0.0.1