Como instalar e configurar o fail2ban para obter ainda mais segurança SSH
Se você deseja adicionar uma camada extra de segurança ao seu desktop ou servidor Linux, o fail2ban é uma ótima opção para ajudar a evitar logins SSH indesejados.
SSH é essencial para muitos usuários Linux, pois permite fazer login em servidores e desktops remotos para realizar várias tarefas administrativas. E embora o SSH seja consideravelmente mais seguro do que o que substituiu (Telnet), não é uma garantia por si só.
Por exemplo, um ataque de força bruta irá atacar sua máquina com tentativas de login até que as credenciais de login sejam corretas. Você não quer que isso aconteça.
Felizmente, existe um software que pode ajudar a prevenir esses problemas. O software em questão é chamado fail2ban e pode bloquear automaticamente endereços IP usados para tentativas de login indesejadas.
Deixe-me orientar você no processo de instalação e configuração do fail2ban.
Como instalar o fail2ban
O que você precisa: vou demonstrar isso em um desktop baseado em Ubuntu. Se você estiver usando um desktop baseado no Fedora, você precisará apenas alterar o comando de instalação (mudando de apt-get para dnf).
Portanto, você precisará de uma instância em execução de qualquer distribuição baseada no Ubuntu e de um usuário com privilégios sudo. Isso é tudo. Vamos para a instalação.
1. Abra uma janela de terminal
Fail2ban deve ser instalado através da janela do terminal, então abra seu aplicativo de janela de terminal favorito e prepare-se para instalar.
2. Instale o aplicativo
Para instalar o fail2ban, emita o comando:
sudo apt-get install fail2ban -y
3. Inicie o serviço
Com a instalação concluída, inicie e habilite o serviço fail2ban com o comando:
sudo systemctl enable --now fail2ban
Configurando fail2ban
Vamos criar um novo arquivo de configuração, específico para SSH, que definirá a porta, filtro, logpath, o número de tentativas fracassadas permitidas antes que um endereço IP seja bloqueado (maxretry), a quantidade de tempo entre tentativas falhadas de login ( findtime), o número de segundos durante os quais um endereço IP é banido (bantime) e um endereço IP (o endereço de loopback - que é 127.0.0.1) que o fail2ban irá ignorar.
Crie o arquivo com o comando:
sudo nano /etc/fail2ban/jail.local
Nesse arquivo, cole o seguinte:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 300
bantime = 28800
ignoreip = 127.0.0.1
Salve e feche o arquivo. Em seguida, reinicie o serviço fail2ban com:
sudo systemctl restart fail2ban
Onde IP é o endereço IP banido. Para descansar o fail2ban, vá para uma máquina diferente em nossa rede e tente fazer login na máquina que executa o fail2ban. Digite a senha errada três vezes e o endereço IP dessa máquina será bloqueado. Se você tentar um quarto login, ele falhará.
Você pode cancelar o banimento desse endereço IP (da máquina em que você fez login originalmente) com o comando:
sudo fail2ban-client set sshd unbanip IP
E isso é tudo para adicionar outra camada de segurança ao seu sistema. Agora você pode confiar que logins SSH indesejados serão bloqueados e os endereços IP ofensivos banidos.