Como instalar o Fail2ban no Ubuntu Server 18.04
Melhorar Segurança do Ubuntu Server através da adição de um sistema de detecção de intrusão. Para isso, você provavelmente desejará Fail2ban. Fail2ban monitora arquivos de log específicos (encontrados dentro do /var/log diretório) para tentativas de login malsucedidas ou ataques automatizados. Quando o Fail2ban detecta uma tentativa de comprometimento de um endereço IP, ele bloqueia o endereço IP (adicionando uma nova cadeia ao sistema de segurança iptables) de obter entrada no servidor.
Para instalar o Fail2ban, você precisa de acesso ao shell em qualquer versão compatível do Ubuntu Server, com uma conta que tenha privilégios sudo permitindo a instalação de novos pacotes de software.

Como instalar o Fail2ban
Instale o Fail2ban usando o Apt. É melhor executar a instalação em uma plataforma de servidor recém-atualizada e, se a versão do kernel for atualizada, reinicie o servidor antes de instalar o Fail2ban.
Após a conclusão da instalação, inicie e ative o Fail2ban com os dois comandos a seguir:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban.
O Fail2ban agora está em execução no sistema e pronto para ser configurado.
Configurar Fail2ban
Fail2ban é configurado usando jails. Uma prisão define como um serviço monitora e com que rapidez tomar medidas contra os ataques.
Fora da caixa, o sistema já está seguro. No entanto, também é altamente flexível. O arquivo de configuração principal é /etc/fail2ban/jail.conf. Não edite esse arquivo. Em vez disso, crie um novo arquivo com a extensão de arquivo .local. O Fail2ban sempre lê os arquivos .conf primeiro e depois os arquivos .locais. Qualquer configuração lida no arquivo .local sobrescreverá configurações semelhantes no arquivo .conf.
Configuração de exemplo
Digamos que você queira criar uma jaula personalizada para o daemon Secure Shell que irá:
- Monitore /var/log/auth.log.
- Use o filtro sshd fail2ban padrão.
- Defina a porta SSH como 22.
- Defina a tentativa máxima para 3.
As personalizações ssh no .local jail substituirão qualquer configuração semelhante encontrada no arquivo de configuração principal, jail.conf (por exemplo, a repetição máxima padrão em jail.conf é definida como 5). Com esta prisão no lugar, se uma pessoa (ou bot) falhar em um Login SSH tentativa três vezes, a origem endereço de IP será banido.
Para configurar isso, emita o comando:
sudo nano /etc/fail2ban/jail.local.
Nesse novo arquivo, cole o seguinte conteúdo:
[sshd]
ativado = verdadeiro
porta = 22
filtro = sshd
logpath = /var/log/auth.log
maxretria = 3.
Salve e feche o arquivo e reinicie o Fail2ban com o comando:
sudo systemctl restart fail2ban.
Teste Fail2ban
Para testar o Fail2ban, vá para outra máquina com um endereço IP diferente e inicie uma sessão Secure Shell no servidor, cada vez digitando a senha do usuário incorretamente. Após o terceiro login com falha, essa conta de usuário é banida.

Mesmo se você tentar fazer o SSH de volta ao servidor a partir do mesmo endereço IP, o acesso ainda será negado.
Desbloquear um endereço IP
Cancele o banimento de um IP com o comando fail2ban-client (que é instalado junto com fail2ban) assim:
sudo fail2ban-client set sshd unbanip 192.168.1.100.