2 votes

Fail2Ban ajoute des règles iptable mais elles ne fonctionnent pas ?

Fail2Ban vient de bloquer mon IP pour 3 tentatives de SSH. Il a ajouté la règle iptables et je peux la voir en utilisant la commande "sudo iptables -L -n". Mais je peux toujours accéder au site et me connecter via SSH ! Quel pourrait être le problème ? Est-ce parce que j'utilise CloudFlare ? J'ai configuré Nginx pour qu'il écrive les IP réelles dans les journaux d'accès au lieu de l'IP de Cloud Flare. N'est-ce pas suffisant ?

Chain fail2ban-ssh (1 references)
 target     prot opt source               destination         
 DROP       all  --  119.235.14.8         0.0.0.0/0           
 RETURN     all  --  0.0.0.0/0            0.0.0.0/0  

La chaîne d'entrée :

Chain INPUT (policy DROP)

    target     prot opt source               destination         
    fail2ban-NoAuthFailures  tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80
    fail2ban-nginx-dos  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80,8090
    fail2ban-postfix  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 25,465
    fail2ban-ssh-ddos  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 22
    fail2ban-ssh  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 22
    ufw-before-logging-input  all  --  0.0.0.0/0            0.0.0.0/0           
    ufw-before-input  all  --  0.0.0.0/0            0.0.0.0/0           
    ufw-after-input  all  --  0.0.0.0/0            0.0.0.0/0           
    ufw-after-logging-input  all  --  0.0.0.0/0            0.0.0.0/0           
    ufw-reject-input  all  --  0.0.0.0/0            0.0.0.0/0           
    ufw-track-input  all  --  0.0.0.0/0            0.0.0.0/0           
    LOG        all  --  0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 4

0 votes

Montrez-nous votre iptables -L -n ?

0 votes

@quanta a ajouté les résultats

0 votes

Montrez-nous aussi la chaîne d'ENTRÉE - c'est important.

4voto

Charles Chou Points 86

MISE À JOUR 2019 : l'utilisation de l'API dans la réponse sur l'origine a été dépréciée en faveur de l'API v4, utilisez la nouvelle version à la place. L'action de débannement de Fail2ban échoue avec Cloudflare merci @baptx a commenté

iptables ne peut pas obtenir l'IP réelle, vous devez donc utiliser l'api de cloudflare pour blacklister l'IP sur le cloud.

Voici mon fichier de configuration des actions

# Fail2Ban configuration file
#
# Author: Charles Chou
# Modified: Norman Yee 
#           fix original cloudflare-blacklist.conf

# $Revision$
#

[Definition]

# Option:  actionstart
# Notes.:  command executed once at the start of Fail2Ban.
# Values:  CMD
#
actionstart =

# Option:  actionstop
# Notes.:  command executed once at the end of Fail2Ban
# Values:  CMD
#
actionstop =

# Option:  actioncheck
# Notes.:  command executed once before each actionban command
# Values:  CMD
#
actioncheck =

# Option:  actionban
# Notes.:  command executed when banning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    <ip>  IP address
#          <failures>  number of failures
#          <time>  unix timestamp of the ban time
# Values:  CMD
#
actionban = curl -s "https://www.cloudflare.com/api.html?a=ban&key=<ip>&u=<account>&tkn=<token>"

# Option:  actionunban
# Notes.:  command executed when unbanning an IP. Take care that the
#          command is executed with Fail2Ban user rights.
# Tags:    <ip>  IP address
#          <failures>  number of failures
#          <time>  unix timestamp of the ban time
# Values:  CMD
#
actionunban = curl -s "https://www.cloudflare.com/api.html?a=nul&key=<ip>&u=<account>&tkn=<token>"

[Init]

# Option:  account
# Notes.:  In the actionban and actionunban sections,replace CLOUDFLARE_LOGIN with your CloudFlare login email
# Values:  your CloudFlare account
#
account = example@example.com

# Option:  token
# Notes.:  In the actionban and actionunban sections, replace CLOUDFLARE_API_TOKEN with your API key
# Values:  Your CloudFlare API key 
#
token = Your API key here

0 votes

Selon support.cloudflare.com/hc/en-us/articles/ il devrait suffire de rétablir l'IP originale du visiteur dans les journaux du serveur (par exemple avec mod_clouflare si nous utilisons un serveur web Apache). N'est-ce pas correct ?

0 votes

À propos, voici une solution fonctionnelle pour l'API Cloudflare v4 : technicalramblings.com/blog/ En se basant sur cette question : serverfault.com/questions/910940/

0 votes

Il est également possible de faire fonctionner la commande unban en utilisant le fichier de configuration original /etc/fail2ban/action.d/cloudflare.conf et en ajoutant | tr -d '\n' avant la commande de coupe. Un correctif officiel sera publié dans fail2ban : github.com/fail2ban/fail2ban/pull/2656

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X