Como instalar Fail2ban no Rocky Linux e Almalinux

Como instalar Fail2ban no Rocky Linux e Almalinux

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 
Verifique o status do firewalld

Além disso, você pode confirmar todo o Firewalld Regras atualmente sendo aplicadas usando o comando:

$ sudo firewall-cmd-list-all 
Listar as regras do firewalld

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 
Instale o EPEL no Rocky Linux

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.

Instale Fail2ban no Rocky Linux

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.

Verifique o status Fail2ban

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'.

Verifique o status da prisão falha2ban

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.

Teste Fail2ban no Linux

Para reunir informações sobre os sistemas clientes bloqueados, verifique o status da prisão.

$ sudo falhas status de client sshd 
Verifique o status do bloco falhado2ban

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 
Verifique a lista de blocos Fail2ban

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.