J'ai créé une prison et une action dans le but de prendre des "attaques DDoS", cependant les fichiers de journal montrent des erreurs pour cette prison chaque fois que je redémarre Fail2Ban. La prison et le filtre semblent assez simples, et reproduits dans plusieurs blogs, mais celui que j'ai utilisé pour comparaison se trouve ici.
Voici la prison:
[http-get-dos]
enabled = true
filter = http-get-dos
action = iptables[name=Http-Get-Dos, port="http,https"]
logpath = %(apache_access_log)s
maxretry = 300
findtime = 300
bantime = 300
et voici le filtre:
# Fichier de configuration Fail2Ban
#
[Definition]
# Option: failregex
# Remarque: Cette regex correspondra à toute entrée GET dans vos journaux
# Vous devriez configurer dans le fichier jail.conf, le maxretry et findtime avec soin
failregex = ^ -.*"(GET|POST).*
# Option: ignoreregex
# Remarque.: regex à ignorer. Si cette regex correspond, la ligne est ignorée.
# Valeurs.: TEXTE
#
Tout cela semble simple, mais pour une raison quelconque, si je redémarre le service après avoir activé cette prison, je vois les erreurs suivantes dans le journal de Fail2Ban:
2017-11-04 12:48:13,296 fail2ban.jail [1460]: INFO Création d'une nouvelle prison 'http-get-dos'
2017-11-04 12:48:13,298 fail2ban.jail [1460]: INFO La prison 'http-get-dos' utilise un poller
2017-11-04 12:48:13,300 fail2ban.filter [1460]: INFO Définir l'encodage du fichier journal de la prison sur UTF-8
2017-11-04 12:48:13,300 fail2ban.jail [1460]: INFO Initialisé le backend 'polling'
2017-11-04 12:48:13,303 fail2ban.actions [1460]: INFO Définir banTime = 300
2017-11-04 12:48:13,304 fail2ban.filter [1460]: INFO Définir findtime = 300
2017-11-04 12:48:13,306 fail2ban.filter [1460]: INFO Ajouté fichier journal = /var/log/apache2/access.log
2017-11-04 12:48:13,308 fail2ban.filter [1460]: INFO Ajouté fichier journal = /var/log/apache2/other_vhosts_access.log
2017-11-04 12:48:13,309 fail2ban.filter [1460]: INFO Définir l'encodage du fichier journal de la prison sur UTF-8
2017-11-04 12:48:13,310 fail2ban.filter [1460]: INFO Définir maxRetry = 300
2017-11-04 12:48:14,411 fail2ban.action [1460]: ERROR iptables -w -N f2b-Http-Get-Dos
iptables -w -A f2b-Http-Get-Dos -j RETURN
iptables -w -I INPUT -p tcp --dport http,https -j f2b-Http-Get-Dos -- stdout: b''
2017-11-04 12:48:14,441 fail2ban.action [1460]: ERROR iptables -w -N f2b-Http-Get-Dos
iptables -w -A f2b-Http-Get-Dos -j RETURN
iptables -w -I INPUT -p tcp --dport http,https -j f2b-Http-Get-Dos -- stderr: b"iptables v1.6.0: invalid port/service `http,https' specified\nTry `iptables -h' or 'iptables --help' for more information.\n"
2017-11-04 12:48:14,458 fail2ban.action [1460]: ERROR iptables -w -N f2b-Http-Get-Dos
iptables -w -A f2b-Http-Get-Dos -j RETURN
iptables -w -I INPUT -p tcp --dport http,https -j f2b-Http-Get-Dos -- returned 2
2017-11-04 12:48:14,463 fail2ban.actions [1460]: ERROR Impossible de démarrer la prison 'http-get-dos' action 'iptables': Erreur de démarrage
2017-11-04 12:48:20,150 fail2ban.jail [1460]: INFO La prison 'http-get-dos' a démarré
Il semble que la partie action de la prison pose problème, cependant je ne comprends pas pourquoi. L'action est similaire à celle utilisée par d'autres prisons.
Avez-vous des idées sur la façon dont je peux résoudre ce problème pour faire fonctionner correctement la prison ?