Fail2ban com firewalld

1

Estou tentando configurar o fail2ban para bloquear o ssh de hosts locais. O Fail2ban é instalado no CentOS 7 com firewall (Linux 3.10.0-229.4.2.el7.x86_64 x86_64). Eu copiei o jail.conf para jail.local eu mudei os seguintes parâmetros em jail.local:

banaction = firewallcmd-new
[sshd]
enabled = true
maxretry = 5
port = ssh
logpath = /var/log/secure
action = firewallcmd-ipset

E eu não tenho resultados. Alguma idéia?

Algumas informações de registro:

2ban.filter         [2489]: INFO    Added logfile = /var/log/secure
2015-06-23 07:21:33,439 fail2ban.filter         [2489]: INFO    Set maxRetry = 3
2015-06-23 07:21:33,440 fail2ban.filter         [2489]: INFO    Set jail log file encoding to UTF-8
2015-06-23 07:21:33,441 fail2ban.actions        [2489]: INFO    Set banTime = 86400
2015-06-23 07:21:33,442 fail2ban.filter         [2489]: INFO    Set findtime = 600
2015-06-23 07:21:33,442 fail2ban.filter         [2489]: INFO    Set maxlines = 10
2015-06-23 07:21:33,501 fail2ban.server         [2489]: INFO    Jail sshd is not a JournalFilter instance
2015-06-23 07:21:33,599 fail2ban.jail           [2489]: INFO    Jail 'sshd' started

E o SELinux está desativado.

arquivo action.d / firewallcmd-ipset.conf

[INCLUDES]

before = iptables-common.conf

[Definition]

actionstart = ipset create fail2ban-<name> hash:ip timeout <bantime>
              firewall-cmd --direct --add-rule ipv4 filter <chain> 0 -p <protocol> -m multiport --dports <port> -m set --match-set fail2ban-<name> src -j <blocktype>

actionstop = firewall-cmd --direct --remove-rule ipv4 filter <chain> 0 -p <protocol> -m multiport --dports <port> -m set --match-set fail2ban-<name> src -j <blocktype>
             ipset flush fail2ban-<name>
             ipset destroy fail2ban-<name>

actionban = ipset add fail2ban-<name> <ip> timeout <bantime> -exist

actionunban = ipset del fail2ban-<name> <ip> -exist

[Init]

# Option:  chain
# Notes    specifies the iptables chain to which the fail2ban rules should be
#          added
# Values:  [ STRING ]
#
chain = INPUT_direct

# Option: bantime
# Notes:  specifies the bantime in seconds (handled internally rather than by fail2ban)
# Values:  [ NUM ]  Default: 600

bantime = 600


# DEV NOTES:
#
# Author: Edgar Hoch and Daniel Black
# firewallcmd-new / iptables-ipset-proto6 combined for maximium goodness
    
por user3523605 24.06.2015 / 13:51

1 resposta

0

Eu estou supondo aqui um pouco porque não tenho informações suficientes para saber o que está acontecendo. Mas eu tentaria algo assim:

fail2ban-regex --print-all-missed /var/log/secure /etc/fail2ban/filter.d/sshd.conf

para ver se ele encontra algo ou quais linhas ele pode estar faltando. Estou assumindo que / var / log / secure é onde o sshd está imprimindo suas falhas de login. É /var/log/auth.log no meu sistema baseado no debian.

Também tenho um bantime e findtime na minha cadeia.local

bantime  = 86400
findtime = 86400

Talvez você não esteja conseguindo nada porque não contou a janela de tempo para procurar?

    
por 25.06.2015 / 00:19