Purger la base Fail2ban
Ce qui devait m’arriver m’arriva : j’ai réussi à m’interdire la connexion à mon serveur du fait d’une mauvaise configuration de Fail2ban. Ça m’a profondément agacé ! Heureusement, j’avais une connexion SSH en cours.
Rétablir la connexion temporairement
Ça se passe avec iptables. Listez les règles associés à votre chaîne définie dans le fichier jail (apache.conf dans mon cas) stocké dans le dossier /etc/fail2ban/jail.d/ sur Fedora :
iptables -n -L f2b-apache --line-numbers Chain f2b-apache (1 references) num target prot opt source destination 1 DROP all -- 192.240.198.165 0.0.0.0/0 2 DROP all -- 192.95.53.109 0.0.0.0/0 3 DROP all -- 173.0.54.168 0.0.0.0/0 4 DROP all -- 69.12.73.133 0.0.0.0/0 5 DROP all -- 5.196.5.116 0.0.0.0/0 6 DROP all -- 23.89.160.37 0.0.0.0/0 7 RETURN all -- 0.0.0.0/0 0.0.0.0/0
Ensuite, il suffit d’effacer la règle numérotée ( 5 dans l’exemple ci-dessous) à l’aide de la commande suivante :
iptables -D f2b-apache 5
Si vous souhaitez purger toutes les règles associées à votre jail Fail2ban, alors tapez :
iptables -F f2b-apache
Seul souci : si vous redémarrez votre service, Fail2ban recrée la règle iptables que vous avez effacé ! Mauvaise pioche.
Purger Fail2ban
Fail2ban stocke les bannissements dans un fichier Sqlite accessible à partir de /var/lib/fail2ban/fail2ban.sqlite3 sur Fedora. La 1ère instruction DELETE efface les bannissements pour les adresses ip commençant par 90. La 2e instruction DELETE nettoie tous les bannissements.
sqlite3 fail2ban.sqlite3 SQLite version 3.8.5 2014-06-04 14:06:34 Enter ".help" for usage hints. sqlite> .tables bans fail2banDb jails logs sqlite> .schema bans CREATE TABLE bans(jail TEXT NOT NULL, ip TEXT, timeofban INTEGER NOT NULL, data JSON, FOREIGN KEY(jail) REFERENCES jails(name) ); CREATE INDEX bans_jail_timeofban_ip ON bans(jail, timeofban); CREATE INDEX bans_jail_ip ON bans(jail, ip); CREATE INDEX bans_ip ON bans(ip); sqlite> DELETE FROM bans WHERE ip LIKE '90.%'; sqlite> DELETE FROM bans ; sqlite> .quit