Tente instalar o fail2ban
de EPEL . É empacotado para o CentOS 7 e você receberá atualizações assim que forem lançadas. Instalar o rpm
form outro repo pode funcionar (neste caso, sim), mas não é a melhor maneira de fazer as coisas.
Primeiro, instale o repositório EPEL emitindo o seguinte (como root):
yum install epel-release
Os itens acima devem instalar o EPEL e dar acesso a muitos novos pacotes . Um desses pacotes é fail2ban
, portanto, instale-o executando:
yum install fail2ban
Por padrão, não há jails configurados, portanto, para configurar uma% básicasshd
jail:
Crie / edite o arquivo /etc/fail2ban/jail.local
e adicione:
[sshd]
enabled = true
Comece com:
systemctl start fail2ban
Faça isso no momento da inicialização:
systemctl enable fail2ban
Costumava haver um bug conhecido onde o SELinux bloquearia fail2ban
de acessar os arquivos de log precisava fazer o seu trabalho. Isto parece ser corrigido na versão mais recente do CentOS 7; você não precisa fazer as alterações abaixo.
Se você tiver esse problema, os sintomas são nada aparecendo nos logs e nada aparece como falha ou bloqueado na saída de fail2ban-client status sshd
.
Para verificar o erro do SELinux, leia os diários com:
journalctl -lfu fail2ban
Assista a mensagens como:
SELinux is preventing /usr/bin/python2.7 from getattr access on the file .
***** Plugin catchall (100. confidence) suggests **************************
If you believe that python2.7 should be allowed getattr access on the file by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# grep fail2ban-server /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp
Portanto, faça como sugerido e execute:
grep fail2ban-server /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp
Então, por segurança, reinicie o fail2ban
:
systemctl restart fail2ban
Você pode até ter que repetir o processo acima até que mais nenhuma mensagem de erro apareça no log.
Se o seu servidor estiver na internet, monitore fail2ban-client status sshd
. Em breve, ele começará a mostrar contagens falhadas e banidas se você detectar todos os problemas do SELinux.
Note que você terá que ficar de olho nas atualizações de políticas do SELinux. Se aparecer uma atualização do pacote selinux-policy
, pode sobrescrever o que precede e talvez seja necessário executar novamente os comandos acima. Você saberá se esse é o caso, pois fail2ban
parará de funcionar novamente!