Ajout section bug dbpurgeage
This commit is contained in:
parent
204891c9ba
commit
c364047ac0
|
@ -103,20 +103,6 @@ Pour dumper la configuration courante :
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
|
||||||
### Durée de conservation des ban dans la base de données
|
|
||||||
|
|
||||||
|
|
||||||
L'option `dbpurgeage` permet de régler la durée de conservation des données dans `/etc/fail2ban/fail2ban.conf`.
|
|
||||||
C'est utile notamment si la base de données (par défaut `/var/lib/fail2ban/fail2ban.sqlite3`) prend trop de place.
|
|
||||||
|
|
||||||
Par exemple :
|
|
||||||
|
|
||||||
~~~
|
|
||||||
dbpurgeage = 12h
|
|
||||||
dbpurgeage = 1d
|
|
||||||
~~~
|
|
||||||
|
|
||||||
|
|
||||||
## Administration
|
## Administration
|
||||||
|
|
||||||
Fail2Ban est un démon en Python, on peut s'assurer qu'il tourne bien sur un système :
|
Fail2Ban est un démon en Python, on peut s'assurer qu'il tourne bien sur un système :
|
||||||
|
@ -808,6 +794,7 @@ Ou à chaud :
|
||||||
fail2ban-client set JAIL banip IP
|
fail2ban-client set JAIL banip IP
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
|
||||||
### Erreur "fail2ban.actions.action: ERROR" avec jail au nom trop long
|
### Erreur "fail2ban.actions.action: ERROR" avec jail au nom trop long
|
||||||
|
|
||||||
Si le nom de votre jail dépasse 20 caractères, vous obtiendrez des erreurs du type :
|
Si le nom de votre jail dépasse 20 caractères, vous obtiendrez des erreurs du type :
|
||||||
|
@ -823,3 +810,27 @@ la raison est que Fail2Ban utilise le nom de la jail pour ajouter une chaîne IP
|
||||||
22:52 < reg> iptables v1.4.14: chain name `fail2ban-accesslog-custom-12345' too long (must be under 29 chars)
|
22:52 < reg> iptables v1.4.14: chain name `fail2ban-accesslog-custom-12345' too long (must be under 29 chars)
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
|
||||||
|
### Taille de la base de données SQLite et durée de conservation des bans
|
||||||
|
|
||||||
|
[Un bug](https://github.com/fail2ban/fail2ban/issues/1267#issuecomment-323336619) affecte les versions antérieures à 0.11.
|
||||||
|
La base de données `/var/lib/fail2ban/fail2ban.sqlite3` n'est jamais purgée, malgré l'option `dbpurgeage` dans `/etc/fail2ban/fail2ban.conf` (par défaut à un jour).
|
||||||
|
|
||||||
|
Pour les versions 0.10, il faut mettre en place un cron `/etc/cron.hourly/fail2ban_dbpurge` :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
#!/bin/sh
|
||||||
|
sqlite3 /var/lib/fail2ban/fail2ban.sqlite3 "DELETE FROM bans WHERE date('now', '-1 day') > datetime(timeofban, 'unixepoch'); VACUUM;"
|
||||||
|
systemctl restart fail2ban
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Si la base de données est volumineuse parce qu'elle n'a jamais été purgée, la requête `DELETE` échouera.
|
||||||
|
Il faut d'abord faire des `DELETE` successifs à la main, pour libérer de l'espace :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
# sqlite3 /var/lib/fail2ban/fail2ban.sqlite3
|
||||||
|
sqlite > DELETE FROM bans WHERE date('now', '-100 day') > datetime(timeofban, 'unixepoch');
|
||||||
|
sqlite > DELETE FROM bans WHERE date('now', '-10 day') > datetime(timeofban, 'unixepoch');
|
||||||
|
sqlite > DELETE FROM bans WHERE date('now', '-1 day') > datetime(timeofban, 'unixepoch');
|
||||||
|
sqlite > VACUUM;
|
||||||
|
~~~
|
||||||
|
|
Loading…
Reference in a new issue