Como instalar e configurar Fail2ban no CentOS 8

Como instalar e configurar Fail2ban no CentOS 8

Este tutorial ajudará você a instalar e configurar o Fail2Ban em seus CentOS e Rhel 8 e Fedora Systems. Neste artigo, você também aprenderá como adicionar qualquer serviço específico para monitorar em Fail2ban.

Etapa 1 - Instale Fail2ban no CentOS 8

Primeiro de tudo, instale EPEL-RELEASE Pacote para configurar o repositório EPEL YUM em seu sistema CentOS 8. Depois disso, instale o pacote Fail2ban RPM usando os seguintes comandos.

SUDO DNF Instale o epel-lançamento sudo dnf instalação falha2ban 

Etapa 2 - Configurar Fail2ban

Fail2ban mantém arquivos de configuração em /etc/fail2ban diretório. Mas precisamos criar uma cópia deste arquivo como cadeia.local.

sudo cp/etc/fail2ban/prisão.conf/etc/fail2ban/prisão.sudo vi/etc/falha2ban/prisão.local 

Agora precisamos fazer as mudanças necessárias em cadeia.local arquivo para criar regras de proibição. Edite este arquivo em seu editor favorito e faça alterações em [PADRÃO] seção.

[Padrão] # "ignoreip" pode ser uma lista de endereços IP, máscaras CIDR ou hosts DNS. Fail2ban # não banirá um host que corresponda a um endereço nesta lista. Vários endereços # podem ser definidos usando o separador de espaço (e/ou vírgula). ignoreip = 127.0.0.1/8 192.168.1.0/24 # "Bantime" é o número de segundos em que um host é banido. Bantime = 60m # Um host é banido se tiver gerado "maxretry" durante o último "Findtime" segundos. De acordo com as configurações abaixo #, 2 minutos findTime = 5m # "maxretry" é o número de falhas antes de um host ser banido. maxretry = 5
12345678910111213141516[Padrão] # "ignoreip" pode ser uma lista de endereços IP, máscaras CIDR ou hosts DNS. Fail2ban# não banirá um host que corresponda a um endereço nesta lista. Vários endereços# podem ser definidos usando o separador de espaço (e/ou vírgula).ignoreip = 127.0.0.1/8 192.168.1.0/24 # "Bantime" é o número de segundos em que um host é banido.Bantime = 60m # Um host é banido se tiver gerado "maxretry" durante o último "Findtime" segundos. De acordo com as configurações abaixo #, 2 minutosfindTime = 5m # "maxretry" é o número de falhas antes de um host ser banido.maxretry = 5

Etapa 3 - Proteger SSH/SFTP

Depois de concluir a configuração padrão, desça na mesma prisão de arquivo.local e atualização [ssh-itables] seção como abaixo.

[ssh-itables] habilitado = true filtro = sshd ação = iptables [name = ssh, porta = 22, protocolo = tcp] sendmail-whois [name = ssh, dest = root, [email protegido], sendername = "fail2ban"] logPath =/var/log/seguro maxretry = 3 

Etapa 4 - Proteger FTP

Vamos proteger seu servidor FTP (VSFTPD), encontre a entrada abaixo de [vsftpd-iptables] seção e faça alterações abaixo. Se você não estiver usando o vsftpd, pode pular esta seção.

[vsftpd-iptables] habilitado = true filtro = vsftpd ação = iptables [nome = vsftpd, porta = 21, protocolo = tcp] sendmail-whois [nome = vsftpd, [email protegido]] logPath =/var/log/vsftpd.log maxretry = 5 bantime = 1800 

Etapa 5 - Reinicie o serviço e o teste

Depois de fazer todas as alterações, salve seu arquivo e reinicie o serviço Fail2ban usando o seguinte comando.

sudo systemctl start fall2ban.Serviço sudo systemctl atabille fail2ban.serviço 

Para fins de teste, tentei SSH com as credenciais erradas de uma máquina diferente. Após três tentativas erradas, Fail2ban bloqueou esse IP via iptables com rejeitar o ICMP. Você pode ver as regras em iptables depois de bloquear o endereço IP como abaixo. Para sistemas apenas SSH, certifique -se de ter acesso SSH de outro IP antes de fazer esses testes.