Ambiente:
* CentOS 6.5
* Fail2Ban 0.8.14-1
* date produz a data correta
Comportamento:
O Fail2ban é iniciado com êxito, mas não cria blocos do iptables após tentativas de login com SSH incorreto. Estou preocupado apenas com o SSH neste momento. Eu tentei reinstalar usando este guia: link
O Fail2Ban costumava funcionar - mas, por meio de atualizações do sistema, parece que parou de funcionar. Se eu correr
sudo service fail2ban restart
Eu recebo um e-mail dizendo que a prisão parou e outro e-mail dizendo que a prisão foi iniciada, então parece que o fail2ban está funcionando e funcionando.
Meu arquivo /etc/fail2ban/jail.local inclui a entrada:
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH, [email protected], [email protected], sendername="Fail2Ban"]
logpath = /var/log/secure
maxretry = 5
Meu endereço IP não está listado na delcação ignoreip. Estou usando bantime padrão de 600, findtime de 600 e maxretry de 3.
Quando vejo / var / log / secure, vejo muitas tentativas com falha:
Sep 30 00:17:02 nebo unix_chkpwd[3796]: password check failed for user (root)
Sep 30 00:17:02 nebo sshd[3794]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=60.173.26.189 user=root
iptables -L parece reportar que o fail2ban tem uma cadeia:
Chain fail2ban-SSH (2 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Meu melhor convidado atual é que a ação do sshd em actions.d / sshd.conf está usando uma expressão regular para examinar o arquivo de log, mas não corresponde à sintaxe atual do log do CentOS para uma tentativa banida .
O tempo é insync por: Por que as falhas de bloqueio do fail2ban não são?
Ran fail2ban-regex para testar minha teoria e parece que eu posso estar no caminho certo:
[isdept@nebo action.d]$ sudo fail2ban-regex /var/log/secure /etc/fail2ban/filter.d/sshd.conf
Running tests
=============
Use failregex file : /etc/fail2ban/filter.d/sshd.conf
Use log file : /var/log/secure
Results
=======
Failregex: 0 total
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [22655] MONTH Day Hour:Minute:Second
'-
Lines: 22655 lines, 0 ignored, 0 matched, 22655 missed
Missed line(s): too many to print. Use --print-all-missed to print all 22655 lines
Não sei ao certo como modificar os padrões de regex para corrigir isso (se esse for o problema), mas fico surpreso ao descobrir que não encontrei uma correção fácil, já que o CentOS é comum. Eu ficaria feliz em fornecer qualquer informação adicional. Obrigado por qualquer dica ou ponteiros que você possa dar!
Por segurança - estou atualmente desativando o acesso público a esse host.