web-dev-qa-db-fra.com

fail2ban: Création d'une action personnalisée qui donne des paramètres au script

J'ai quelques problèmes pour comprendre le flux de travail de fail2ban.

Mon objectif est l'action suivante:

nom: pamysql
l'habitude de: commande exec avec <name>, <failures>, <ip>, ... comme paramètres

J'ai créé action.d/pamysql.conf avec:

actionban = wget -q -O /dev/null server.de/fail2ban/ajax.php?action=ban&jail=<name>&ip=<ip>&failures=<failures>&time=<time>&logpath=<logpath>

L'appel wget fonctionne, mais les paramètres tels que <name> et ainsi de suite ne fonctionnent pas.

Mon jail.conf ressemble à ceci:

mta = sendmail
banaction = iptables-multiport
action_mwl = %(banaction)s[name=%(__name__)s, port="%(port)s", ...]
             %(mta)s-whois-lines[name=%(__name__)s, ...]
             pamysql[name=%(__name__)s, port="%(port)s", logpath=%(logpath)s]
action = %(action_mwl)s

Quelqu'un peut-il expliquer pourquoi les paramètres ne fonctionnent pas dans pamysql.conf?

1
PKeidel

Je l'ai trouvé. La solution était très simple: l'URL de l'appel wget doit être entre guillemets.

Alors
actionban = wget -q -O /dev/null server.de/fail2ban/ajax.php?action=ban&jail=<name>&ip=<ip>&failures=<failures>&time=<time>&logpath=<logpath>
devient
actionban = wget -q -O /dev/null "server.de/fail2ban/ajax.php?action=ban&jail=<name>&ip=<ip>&failures=<failures>&time=<time>&logpath=<logpath>"

1
PKeidel