Archive pour juillet 2011

Ajout d’extensions non pre-definies

lundi 4 juillet 2011

L’utiliLors de la mise en oeuvre d’une boutique, j’ai eu besoin d’ajouter des contenus non prévus (de base produits, categories, client, et page cms) , mais dont certaine devait elle même permettre d’être modulaire avec des extensions specifiques. (suite…)

fail2ban , et quelques info pour ameliorer les exclusion des ip cass..couill…

vendredi 1 juillet 2011

Suite à la redondance de certaine ip qui allonge de maniere inconsidéré les log , j’ai decidé d’agir.
Apres quelques recherche , les articles suivant m’ont mis sur la voie:

  • http://cx.cx/2011/02/22/fail2ban-installation-et-configuration/
  • http://gardouilleland.free.fr/wordpress/?cat=17
  • http://forum.inforeseau.com/post118.html

donc , je trouvais l’approche de l’analyse du fichier de log de fail2ban (gardouilleland) etre une bonne approche;

Je me suis donc mis en tete de rajouter un filtre puis une action

En suivant le tuto de gardouilleland, je n’arrivais pas a faire fonctionner la mise en prison des ip qui insiste malgres des ban repeté (les boths ne ce lassent pas vite)

J’ai donc testé le filtre mise en place

fail2ban-regex /var/log/fail2ban.log /etc/fail2ban/filter.d/fail2ban.conf

et la constaté qu’il manquait le <host> en fin de regex, comme precié dans le wiki

http://www.fail2ban.org/wiki/index.php/MANUAL_0_8

avec sont encadrement , soit:
(?P<host> ... )

Ajout régle et jail pour bloquer les tentatives incessantes

fichier filter fail2ban.conf

Et la, c’est ok apres test de la regex, plus de soucis, celle ci est bien trouvé; Ce qui donne donc , l’ajout d’un fichier etc/fail2ban/filter.d/fail2ban.conf composé comme suit:

# Fail1Ban: fichier de configuration
#
# Author: Tom Hendrikx
# Traduction: Gardouille
#
# Version: 1.0
#
[Definition]
# Option: failregex
# Notes.: regex qui correspond aux messages d'erreur relatifs
# à un mauvais mot de passe dans le fichier de log.
# L'hote doit correspondre à un groupe nommé "host".
# Le tag "<HOST>" peut être utilisé pour faire correspondre
# les IP/hostname et c'est seulement un alias pour
# (?:::f{4,6}:)?(?P<host>\S+)
# Valeur: Texte
#
# Compter toutes les ip bannies dans le fichier de log
failregex = fail2ban.actions: WARNING \[(.*)\] Ban (?P<host>\S+)

# Option: ignoreregex
# Notes.: regex à ignorer. Si cette regex correspond, la ligne est ignorée.
# Valeur: Texte
#
# Ignorer nos propres bannissements, pour garder nos comptes exacts.
# Dans le fichier de config, nommer la prison 'fail2ban', ou alors changer cette ligne!
ignoreregex = fail2ban.actions: WARNING \[fail2ban\] Ban

jail

Et la régle jail correpsondante, dans le fichier etc/fail2ban/jail.conf

[fail2ban]
enabled = true
filter = fail2ban
action = iptables-allports[name=fail2ban]
sendmail-whois[dest="aurelien@oscim.com",name="fail2ban",sender="fail2ban@sd-27429.dedibox.fr"]
# Fichier de log analysé :
logpath = /var/log/fail2ban.log
# Analyse les logs sur 1 semaine
findtime = 604800
# bantime: 1 semaine
bantime = 604800
maxretry = 2

Ajout régle est jail en complement de suhosin

On construit le fichier de configuration

# Fail1Ban: fichier de configuration
#
# Author: oscim
#
# Version: 1.0
#
[Definition]
# Option: failregex
# Notes.: regex qui correspond aux messages d'erreur relatifs
# à un mauvais mot de passe dans le fichier de log.
# L'hote doit correspondre à un groupe nommé "host".
# Le tag "<HOST>" peut être utilisé pour faire correspondre
# les IP/hostname et c'est seulement un alias pour
# (?:::f{4,6}:)?(?P<host>\S+)
# Valeur: Texte
#
# Compter toutes les attack bloqué par suhosin et declaré dans le log (/var/log/user.log) et on les bannies
failregex =   suhosin\[\d*\].*\(attacker\s'<HOST>'.*

# Option: ignoreregex
# Notes.: regex à ignorer. Si cette regex correspond, la ligne est ignorée.
# Valeur: Texte
#
# Ignorer nos propres bannissements, pour garder nos comptes exacts.
# Dans le fichier de config, nommer la prison 'fail2ban', ou alors changer cette ligne!
ignoreregex = fail2ban.actions: WARNING \[suhosin\] Ban

On teste ensuite la regex avec

fail2ban-regex /var/log/user.log /etc/fail2ban/filter.d/suhosin.conf

jail

Et la régle jail correpsondante, dans le fichier etc/fail2ban/jail.conf

[suhosin]
enabled = true
port    = http,https
filter  = suhosin
logpath = /var/log/syslog/*error.log
maxretry = 1
suhosin