Tout ou presque sur les logiciels libres, linux, protection de la vie privée... et aussi Humeur!

Aller au contenu | Aller au menu | Aller à la recherche

Fail2ban - Bloquer les requetes phpmyAdmin w00tw00t et dos avec mod_evasive

Fail2Ban bloquer les requêtesFail2ban ou comment bloquer les requêtes phpmyAdmin w00tw00t et dos avec mod_evasive

Élément essentiel pour sécuriser son serveur, Fail2ban permet d'éviter des intrusions via force-brute. Il se charge d'analyser les logs des services installés et bannit automatiquement et pour une durée déterminée un hôte via iptables en cas d’échecs de connexion après X tentatives.

Installer Fail2ban:

sudo apt-get install fail2ban
Par défaut, Fail2ban propose déjà plusieurs filtres pré-configurés. On retrouve les filtres dans "/etc/fail2ban/filter.d/".
Le fichier de configuration où l'on peut spécifier pour chaque filtre le nombre d'essai avant le bannissement et le temps de bannissement, est: /etc/fail2ban/jail.conf

En plus des filtres existants, on peut ajouter des filtres pour se protéger des requêtes excessives sur phpmyadmin ainsi que bloquer les attaques w00tw00t (fruit d'un logiciel de scanning "DFind" utilisé par des kiddies) et DOS et autres, ici, nous verrons les 3 que je viens de citer.

1 - Fail2ban contre les attaques sur phpmyadmin
Créez un nouveau filtre dans "/etc/fail2ban/filter.d"
sudo nano /etc/fail2ban/filter.d/apache-phpmyadmin.conf
et copiez:
[Definition]
docroot = /var/www
badadmin = PMA|phpmyadmin|myadmin|mysql|mysqladmin|sqladmin|mypma|admin|xampp|mysqldb|mydb|db|pmadb|phpmyadmin1|phpmyadmin2|administrator|d$ failregex = [[]client <HOST>[]] File does not exist: %(docroot)s/(?:%(badadmin)s)
ignoreregex =
Et enregistrez.
Dans le fichier /etc/fail2ban/jail.conf ajoutez à la fin:
[apache-phpmyadmin]
enabled = true
port = http,https
filter = apache-phpmyadmin
logpath = /var/log/apache*/*error.log
maxretry = 3
2 - Fail2ban et protection contre les requêtes w00tw00t
sudo nano /etc/fail2ban/filter.d/apache-w00tw00t.conf
Copiez:
[Definition]
failregex = ^<HOST> -.*"GET \/w00tw00t\.at\.ISC\.SANS\.DFind\:\).*".*
ignoreregex =
Dans /etc/fail2ban/jail.conf copiez:
[apache-w00tw00t]
enabled = true
port = 80,443
action = %(action_mwl)s
filter = apache-w00tw00t
logpath = /var/log/apache*/*error.log
maxretry = 1
3 - Fail2ban contre les DOS avec mod_evasive (source Linux magazine, hors-série N°66)
Installation mod_evasive
sudo apt-get install libapache2-mod-evasive
Créer un répertoire pour stocker les informations liées aux attaques et préciser les propriétés du répertoire.
sudo mkdir /var/log/apache2/mod_evasive
sudo chown www-data.www-data /var/log/apache2/mod_evasive
Configurer apache
sudo nano /etc/apache2/conf.d/evasive
et collez:
DOSHashTableSize 3097
# pas plus de 5 pages toutes les 2 secondes
DOSPageCount 5
DOSPageInterval 2
# Pas plus de 100 requête par seconde (image, CSS…)
DOSSiteCount 100
DOSSiteInterval 1
# Bloquer le client pendant 10 secondes
DOSBlockingPeriod 10
# Dossier contenantles IP blacklistées
DOSLogDir "/var/log/apache2/mod_evasive"
Puis recharger la configuration
sudo service apache2 reload
Créez le filtre
sudo nano /etc/fail2ban/filter.d/apache-modevasive.conf
copiez:
[Definition]
failregex = ^\[[^\]]*\]\s+\[error\]\s+\[client <HOST>\] client denied by server configuration:\s
ignoreregex =
Dans /etc/fail2ban/jail.conf copiez:
[apache-modevasive]
enabled = true
filter&nbsp; = apache-modevasive
action = iptables-allports[name=apache-modevasive]
logpath = /var/log/apache*/*error.log
bantime = 60
bantime = 3600
maxretry = 10
FIN.
Si vous avez d'autres suggestions ou améliorations, je suis preneur…

Articles à lire sur des sujets Similaires

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien : https://chispa.fr/sima78/index.php?trackback/23

Fil des commentaires de ce billet