fail2ban faz nc falhar

1

Eu tenho um problema com fail2ban aqui. (Configs veja abaixo)

Antes eu tinha usado

nc -4 -d -n -z -w 1 <SERVER IP> 22

do meu PC em um script para verificar se o servidor está acessível no SSH (deve retornar 1 ).

Com o fail2ban ativado, ele retorna 0 , embora eu possa conectar por ssh <USER>@<SERVER IP> , da mesma forma que o esperado - Eu uso os pares de chaves para autenticação.

Eu tenho um firewall iptables baseado em este tutorial que se parece com isto:

-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-N ICMP
-N TCP
-N UDP
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
-A ICMP -p icmp -j ACCEPT
-A TCP -p tcp -m tcp --dport 22 -j ACCEPT
-A TCP -p tcp -m tcp --dport 80 -j ACCEPT
-A TCP -p tcp -m tcp --dport 433 -j ACCEPT
-A TCP -p tcp -m tcp --dport 10000 -j ACCEPT

Ter fail2ban instalado e ativado com a configuração abaixo do meu iptables se parece com isso

-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-N ICMP
-N TCP
-N UDP
-N f2b-recidive
-N f2b-sshd
-N f2b-sshd-ddos
-N f2b-webmin-auth
-A INPUT -p tcp -j f2b-recidive
-A INPUT -p tcp -m multiport --dports 10000 -j f2b-webmin-auth
-A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd-ddos
-A INPUT -p tcp -m multiport --dports 22 -j f2b-sshd
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
-A ICMP -p icmp -j ACCEPT
-A TCP -p tcp -m tcp --dport 22 -j ACCEPT
-A TCP -p tcp -m tcp --dport 80 -j ACCEPT
-A TCP -p tcp -m tcp --dport 433 -j ACCEPT
-A TCP -p tcp -m tcp --dport 10000 -j ACCEPT
-A f2b-recidive -j RETURN
-A f2b-sshd -j RETURN
-A f2b-sshd-ddos -j RETURN
-A f2b-webmin-auth -j RETURN

Qual é o problema aqui?

Meu primeiro palpite seria um chainlink errado no iptables, mas como eu posso me conectar normalmente, estou completamente desamparado aqui.

Eu instalei fail2ban por

sudo apt install fail2ban

e tem basicamente a configuração padrão. Adicionamos apenas esses dois arquivos:% /etc/fail2ban/jail.d/defaults.local

[DEFAULT]

ignoreip = 127.0.0.1/8 <MY PC'S IP>/32
bantime  = 3600
findtime  = 600
maxretry = 3

#
# ACTIONS
#

destemail = <MY MAIL ADDRESS>
sender = <SENDER ADDRESS>
mta = sendmail
action = %(action_mwl)s

Eu já adicionei MY PC'S IP aqui porque ele foi bloqueado usando o comando nc pela primeira vez.

/etc/fail2ban/jail.d/jail.local

[sshd]
enabled = true

[sshd-ddos]
enabled = true

[webmin-auth]
enabled = true

[recidive]
enabled = true
logpath  = /var/log/fail2ban.log
banaction = iptables-allports
bantime  = 604800  ; 1 week
findtime = 86400   ; 1 day
maxretry = 5
    
por derHugo 09.11.2017 / 09:26

1 resposta

0

Eu apenas resolvi meu problema: achei errado / fiquei confuso.

nc retorna 0 no sucesso sem falha! Meu script funciona bem agora e encontrei a pista aqui = > No bash 0 significa verdadeiro e 1 significa falso.

    
por derHugo 09.11.2017 / 10:58