Como instalar Fail2ban no Rocky Linux e Almalinux

- 3704
- 384
- Howard Fritsch
Escrito em Pitão, Fail2ban é uma fonte livre e aberta Sistema de prevenção de intrusões (IPS) que protege o servidor contra ataques de força bruta.
Após um número especificado de tentativas de senha incorreta, o endereço IP do cliente é proibido de acessar o sistema por um período especificado ou até que o administrador do sistema o desbloqueie. Dessa forma, o sistema é protegido de repetidos ataques de força bruta de um único host.
[Você também pode gostar: como proteger e endurecer o servidor OpenSsh]
Fail2ban é altamente configurável e pode ser configurado para garantir uma infinidade de serviços como Ssh, vsftpd, Apache, e Webmin.
Neste guia, nos concentramos em como você pode instalar e configurar Fail2ban sobre Rocky Linux e Almalinux.
Etapa 1: verifique se o firewalld está funcionando
Por padrão, Rochoso Vem com o Firewalld Running. No entanto, se esse não for o caso do seu sistema, inicie Firewalld executando:
$ sudo systemctl start firewalld
Em seguida, ative -o para iniciar o tempo de inicialização:
$ sudo systemctl Ativar firewalld
Em seguida, verifique o status do firewalld
$ sudo systemctl status firewalld

Além disso, você pode confirmar todo o Firewalld Regras atualmente sendo aplicadas usando o comando:
$ sudo firewall-cmd-list-all

Etapa 2: Instale o EPEL no Rocky Linux
Como um requisito para a instalação de Fail2ban e outros pacotes necessários, você precisa instalar o EPEL Repositório que fornece pacotes adicionais de alta qualidade para distribuições baseadas em RHEL.
$ sudo dnf install-libelease

Etapa 3: Instale Fail2ban no Rocky Linux
Com EPEL instalado, prosseguir e instalar Fail2ban e a Fail2ban-Firwalld pacote.
$ sudo dnf install fall2ban fail2ban-firewalld
Isso instala o servidor Fail2ban e o componente firewalld junto com outras dependências.

Com a instalação do Fail2ban Complete, inicie o serviço Fail2ban.
$ sudo systemctl start frily2ban
E permita que ele comece no tempo de inicialização.
$ sudo systemctl atabille fail2ban
Você pode verificar o status do serviço Fail2ban executando o comando:
$ sudo status systemctl falha2ban
A saída é uma confirmação de que Fail2ban está em execução como esperávamos.

Etapa 4: Configurando Fail2ban no Rocky Linux
Seguindo em frente, precisamos configurar Fail2ban para que ele funcione como pretendido. Idealmente, editaríamos o arquivo de configuração principal - /etc/falha2ban/prisão.conf. No entanto, isso é desanimado. Como uma solução alternativa copiará o conteúdo da prisão.Configuration File to cadeia.local arquivo.
$ sudo cp/etc/fail2ban/prisão.conf/etc/fail2ban/prisão.local
Agora, abra o cadeia.local Arquivo usando seu editor preferido.
$ sudo vim/etc/fail2ban/prisão.local
Debaixo de [PADRÃO] Seção, verifique se você tem as seguintes configurações à medida que aparecem.
Bantime = 1h FindTime = 1H maxretry = 5
Vamos definir os atributos:
- O Bantime Diretiva Especifica a duração do tempo em que um cliente será banido após tentativas de autenticação fracassada.
- O Encontre tempo Diretiva é a duração ou período em que o Fail2Ban considerará ao considerar repetidas tentativas de senha incorreta.
- O Maxretry O parâmetro é o número máximo de tentativas de senha incorreta antes que o cliente remoto seja impedido de acessar o servidor. Aqui, o cliente será bloqueado após 5 falhas de autenticação.
Por padrão, Fail2ban trabalha com iptables. No entanto, isso foi precedido em favor do firewalld. Precisamos configurar o Fail2ban para trabalhar ao lado do firewalld em vez de iptables.
Então, corra com o comando:
$ sudo mv/etc/fail2ban/prisão.D/00-FIREWALLD.conf/etc/fail2ban/prisão.D/00-FIREWALLD.local
Para aplicar as alterações, reinicie Fail2ban:
$ sudo systemctl reiniciar falha2ban
Etapa 5: protegendo o serviço SSH com Fail2ban
Por padrão, Fail2Ban não bloqueia nenhum host remoto até que você habilite a configuração da prisão para um serviço que deseja proteger. A configuração da prisão é especificada no /etc/falha2ban/prisão.d caminho e substituirá a configuração especificada na prisão.arquivo local.
Neste exemplo, criaremos um arquivo de configuração da prisão para proteger o serviço SSH. Portanto, crie o arquivo de prisão ssh.
$ sudo vim/etc/fail2ban/prisão.d/sshd.local
Em seguida, cole as seguintes linhas:
[sshd] habilitado = true # Substituir a configuração global padrão # para prisão específica sshd bantime = 1d maxretry = 3
Na configuração acima, um host remoto será proibido de acessar o sistema por 1 dia após 3 tentativas de login do SSH fracassadas. Salve as mudanças e reinicie o serviço Fail2ban.
$ sudo systemctl reiniciar falha2ban
Em seguida, verifique o status de configuração da prisão usando o Fail2ban-client utilitário de linha de comando.
$ sudo falhas status-client
Da produção, podemos ver que temos 1 prisão configurada para um serviço chamado 'sshd'.

Além disso, você pode confirmar o Maxretry valor da prisão sshd usando a opção Get.
$ sudo fail2ban-client get sshd maxretry 3
O valor impresso 3 deve corresponder ao que você especificou no sshd.local arquivo.
Etapa 6: Teste Fail2ban Configuração
Depois de configurar Fail2ban e criar um arquivo de configuração da prisão para o serviço SSH, vamos executar uma execução de teste e simular 3 logins com falha especificando uma senha incorreta para cada prompt de senha.
Portanto, vá para um sistema Linux remoto e tente fazer login usando a senha errada. Após 3 tentativas fracassadas, a conexão será descartada e qualquer tentativa subsequente de reconectar será bloqueada até que a duração da proibição lapses.

Para reunir informações sobre os sistemas clientes bloqueados, verifique o status da prisão.
$ sudo falhas status de client sshd

Para Unban ou remover o cliente da prisão, execute o comando:
$ sudo fracas.168.2.102
Mais uma vez, verifique o status da prisão para garantir que o cliente não esteja incluído na lista IP proibida.
$ sudo falhas status de client sshd

Como nós vimos, Fail2ban é uma ferramenta muito útil para afastar os intrusos que buscam violar seu sistema Linux. Funciona em conjunto com o Firewalld para proibir sistemas clientes por uma duração especificada após um número específico de tentativas de login com falha. Ao fazer isso, ele fornece uma camada extra de proteção para o seu servidor Linux.
- « Como instalar a pilha de lâmpadas em Almalinux 8.4
- 10 Exemplos de comando SFTP para transferir arquivos em servidores remotos no Linux »