Instalando fail2ban no CentOS 7

15

Estou usando a resposta do @GarethTheRed para esta pergunta para instalar o fail2ban em um servidor CentOS 7 remoto. Consigo concluir todas as etapas até o momento tail -f /var/log/fail2ban.logem que obtenho resultados diferentes do que ele obtém em sua resposta.

Aqui estão os resultados que estou obtendo nesta etapa:

[[email protected] ~]# tail -f /var/log/fail2ban.log
2014-12-02 16:55:53,548 fail2ban.server.server[6667]: INFO    Changed logging target to /var/log/fail2ban.log for Fail2ban v0.9.0
2014-12-02 16:55:53,550 fail2ban.server.database[6667]: INFO    Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3'
2014-12-02 16:55:54,239 fail2ban.server.database[6667]: WARNING New database created. Version '2'  

Após a última linha, recebo apenas um cursor, mas nenhum prompt de comando, a menos que digite Ctrl-C.

Quando digito systemctl status fail2ban, ele diz que fail2banestá ativo. Quando efetuo logoff do sistema e logon mais tarde, sshdinforma que houve muitas tentativas falhas de logon desde o meu último logon. Portanto, deve haver fail2banlogs. Mas não consigo encontrá-los.

Alguém pode me mostrar como configurar isso para fail2bangerar logs que eu possa rastrear?

CodeMed
fonte
Você verificou as permissões do arquivo? Eu perdi tempo mais de uma vez apenas para descobrir que as permissões eram o problema.
Codewaggle
1
fail2banestá agora no repo da EPEL. Tente instalá-lo a partir daí. Desinstale a versão atual e verifique se não há arquivos de configuração residuais etc. Em seguida, instale no EPEL. Eu tenho que rodar em uma máquina CentOS 7 sem problemas.
precisa saber é o seguinte
Eu contei uma pequena mentira no último comentário - eu esqueci que tinha que corrigi-lo há um tempo atrás. Resposta longa abaixo ...
garethTheRed

Respostas:

32

Tente instalar a fail2banpartir do EPEL . É empacotado para o CentOS 7 e você receberá atualizações assim que forem lançadas. Instalar o rpmformulário em outro repositório pode funcionar (funcionou nesse caso), mas não é a melhor maneira de fazer as coisas.

Antes de tudo, instale o repositório EPEL emitindo o seguinte (como root):

yum install epel-release

O acima deve 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á cadeias configuradas, portanto, para configurar uma sshdprisão básica :

Crie / edite o arquivo /etc/fail2ban/jail.locale adicione:

[sshd]
enabled = true

Comece com:

systemctl start fail2ban

Faça com que comece no momento da inicialização:

systemctl enable fail2ban

Costumava haver um bug conhecido em que o SELinux impedia fail2bande acessar os arquivos de log necessários para realizar seu trabalho. Isso parece estar 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 não aparecerão nos logs e nada parecerá com falha ou bloqueado na saída de fail2ban-client status sshd.

Para verificar se há erro no SELinux, leia os diários com:

journalctl -lfu fail2ban

Assista-os para 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 o que é sugerido e execute:

grep fail2ban-server /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp

Para estar seguro, reinicie fail2ban:

systemctl restart fail2ban

Talvez você precise repetir o processo acima até que não apareçam mais mensagens de erro no log.

Se o seu servidor estiver na internet, monitore fail2ban-client status sshd. Em breve, começará a mostrar contagens com falha e banidas se você tiver detectado todos os problemas do SELinux.

Observe que você terá que ficar de olho nas atualizações de políticas do SELinux. Se uma selinux-policyatualização do pacote aparecer, ela poderá sobrescrever as instruções acima e talvez seja necessário executar os comandos acima novamente. Você saberá se esse for o caso, pois fail2banirá parar de funcionar novamente!

garethTheRed
fonte
Muito obrigado. Devo tomar medidas específicas para desinstalar o fail2ban primeiro? Ou isso é tratado automaticamente nas etapas fornecidas acima?
CodeMed
Eu desinstalaria a versão do Fedora 20 primeiro e certifique-se de que o diretório /etc/fail2banseja excluído.
garethTheRed
Essa enabled = trueparte funcionou. Eu li em todos os lugares que o ssh está configurado e ativado por padrão, mas isso não era verdade.
Rahil Wazir