Installer et utiliser Fail2ban

De Analyse Développement Hacking
Sauter à la navigation Sauter à la recherche
Consulter le wiki : Accueil du wiki - Objectifs - Administrateur - Bureautique - Développeur - Intégrateur - Marketing - Multimédia - Objets numériques - Jeux - We make Hack
Consulter le site : Accueil du site - Annuaire - Blog - Forum - Outils - Utilisateur     Consulter le Redmine : Accueil du Redmine

Installer et utiliser Fail2ban

Introduction

Fail2ban est un outil pour lutter contre les Scans Brute Force.
Ne pas avoir de mots de passe faibles.
Changer le port d'accès au SSH du serveur permet d'éviter de nombreuses tentatives d'intrusions.
Paramétrer la durée des bannissements.
Enlever l'identification par mots de passe pour n’utiliser que l’authentification par clefs.

Installer Fail2ban

# Installer Fail2ban :
sudo apt-get install fail2ban
# Activer le service :
sudo systemctl start fail2ban
# Activer le service au démarrage :
sudo systemctl enable fail2ban
# Relancer le service ou pour prendre en compte une nouvelle configuration :
sudo service fail2ban restart

Paramétrages de Fail2ban depuis le fichier etc/fail2ban/jail.local

# Par précaution il est conseillé de copier le fichier de configuration jail.conf localement en tant que jail.local pour que les réglages ne soient pas écrasés après une mises à jour.
cd /etc/fail2ban
sudo cp jail.conf jail.local
# Éditer le fichier jail.local qui prend le relais sur le fichier jail.conf par défaut (?!)
sudo nano /etc/fail2ban/jail.local

Mettre son réseau local et son adresse IP box en liste blanche

# Utiliser un espace entre chaque adresse IP.
# ignoreip = 192.168.0.0/16
ignoreip = 127.0.0.1/8 ::1 ADRESSE_IP_DE_LA_BOX

Recevoir un mail en cas de ban

# Changer la configuration.
mta = mail en mta = sendmail
action = %(action_)s en action = %(action_mw)s
destemail = votre_email@domaine.tld
# Il est possible de stopper l'envoi d'alertes par Fail2ban en commentant la ligne sendmail-whois.
sendmail-whois[name=ProFTPD, dest=root, sender=postmaster@vpsXXXXXX.ovh.net]
# Je conserve les alertes, c'est un minimum, pour commencer. Par la suite, elles pourront être désactivées.

Afficher le nombre de jail activés

# Par défaut :
sudo /usr/bin/fail2ban-client status
Status
|- Number of jail:	1
`- Jail list:	sshd
# Exemple :
sudo /usr/bin/fail2ban-client status
Status
|- Number of jail:	11
`- Jail list:	apache-auth, apache-badbots, apache-botsearch, apache-fakegooglebot, apache-nohome, apache-noscript, apache-overflows, exim, exim-spam, proftpd, sshd
# Connaître les status pour un service en particulier, va montrer le nombre d'erreurs et le nombre de blocages effectués :
sudo /usr/bin/fail2ban-client status sshd

Modifier le texte du mail envoyé

# Mettre le texte en Français par exemple.
/etc/fail2ban/action.d/mail-whois.conf
# Option: actionban
# Notes.: command executed when banning an IP. Take care that the
# command is executed with Fail2Ban user rights.
# Tags: See jail.conf(5) man page
# Values: CMD
#
actionban = printf %%b "Hi,\n
The IP <ip> has just been banned by Fail2Ban after
<failures> attempts against <name>.\n\n
Here is more information about <ip>:\n
'whois <ip> || echo missing whois program'\n
Regards,\n
Fail2Ban"|mail -s "[Fail2Ban] <name>: banned <ip> from 'uname -n'" <dest>

Afficher les paramètres de jail.local

Pour afficher les paramètres de jail.local : fail2ban-client -d
Afficher la réponse de fail2ban-client -d sur une installation par défaut.
Pour lister les IP bannies : iptables -L -n --line
Afficher la réponse de iptables -L -n --line sur une installation par défaut.

Modifier la durée des bannissements

Paramètre bantime. Valeur durant laquelle l'IP est bannie en nombre de secondes. Par défaut de 600 secondes, soit 10 min.
bantime = 600 à remplacer par bantime = 10000

Ajouter des filtres personnalisés pour protéger son serveur web et mail des attaques les plus courantes

On active les jails pour les services utilisés sur le serveur
Utiliser true pour activer ou false pour désactiver.
Les principaux services à activer.
[ssh]
[ssh-ddos]
[apache-multiport]
[proftpd] ou [pure-ftpd] ou [wuftpd]
[postfix]
[couriersmtp]
[courierauth]
[dovecot]
[apache-w00tw00t]
[apache-bloquescan]
[apache-phpmyadmin]
Ajouter d'autres services selon vos besoins.
Un jail spécifique à Joomla! ?
Todo.png
Les jails suivants sont disponibles à l'installation de la Release3 OVH
Aller dans le répertoire des jails
cd /etc/fail2ban/filter.d
Lister les jails existants
/etc/fail2ban/filter.d# ls -l
-rw-r--r-- 1 root root  767 juin  12  2013 apache-auth.conf
-rw-r--r-- 1 root root 2375 nov.  29  2011 apache-badbots.conf
-rw-r--r-- 1 root root  352 juin  12  2013 apache-common.conf
-rw-r--r-- 1 root root  758 juin  12  2013 apache-nohome.conf
-rw-r--r-- 1 root root  904 juin  12  2013 apache-noscript.conf
-rw-r--r-- 1 root root  580 juin  12  2013 apache-overflows.conf
-rw-r--r-- 1 root root 1217 nov.  29  2011 common.conf
-rw-r--r-- 1 root root  610 nov.  29  2011 courierlogin.conf
-rw-r--r-- 1 root root  585 nov.  29  2011 couriersmtp.conf
-rw-r--r-- 1 root root 1006 nov.  29  2011 cyrus-imap.conf
-rw-r--r-- 1 root root  735 nov.  29  2011 dovecot.conf
-rw-r--r-- 1 root root 1651 nov.  29  2011 dropbear.conf
-rw-r--r-- 1 root root  607 nov.  29  2011 exim.conf
-rw-r--r-- 1 root root  441 nov.  29  2011 gssftpd.conf
-rw-r--r-- 1 root root  397 nov.  29  2011 lighttpd-fastcgi.conf
-rw-r--r-- 1 root root 1007 nov.  29  2011 named-refused.conf
-rw-r--r-- 1 root root  867 nov.  29  2011 pam-generic.conf
-rw-r--r-- 1 root root  867 nov.  29  2011 php-url-fopen.conf
-rw-r--r-- 1 root root  585 nov.  29  2011 postfix.conf
-rw-r--r-- 1 root root  860 nov.  29  2011 proftpd.conf
-rw-r--r-- 1 root root  803 nov.  29  2011 pure-ftpd.conf
-rw-r--r-- 1 root root  600 nov.  29  2011 qmail.conf
-rw-r--r-- 1 root root  677 nov.  29  2011 sasl.conf
-rw-r--r-- 1 root root  575 nov.  29  2011 sieve.conf
-rw-r--r-- 1 root root 1643 nov.  29  2011 sshd.conf
-rw-r--r-- 1 root root  621 nov.  29  2011 sshd-ddos.conf
-rw-r--r-- 1 root root  694 nov.  29  2011 vsftpd.conf
-rw-r--r-- 1 root root  821 nov.  29  2011 webmin-auth.conf
-rw-r--r-- 1 root root  431 nov.  29  2011 wuftpd.conf
-rw-r--r-- 1 root root  842 nov.  29  2011 xinetd-fail.conf
Il manquerait par exemple le jail apache-phpmyadmin
Créer un jail pour apache-phpmyadmin, si nécessaire. (???)
Source : http://www.how-to.ovh/viewtopic.php?t=19

Todo.png

Exemples de jails
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH, dest=root, sender=postmaster@vpsXXXXXX.ovh.net]
logpath = /var/log/secure
maxretry = 5
[proftpd-iptables]
enabled = true
filter = proftpd
action = iptables[name=ProFTPD, port=ftp, protocol=tcp]
sendmail-whois[name=ProFTPD, dest=root, sender=postmaster@vpsXXXXXX.ovh.net]
logpath = /var/log/proftpd/proftpd.log
maxretry = 6
Todo.png

Bloquer l'attaque Brute Force sur Joomla ou WordPress

https://www.nixtree.com/blog/how-to-block-brute-force-attack-on-wordpress-joomla-in-fail2ban/

Fail2ban et Dovecot

Dovecot est un serveur IMAP et POP3 pour les systèmes d'exploitation Unix et dérivés, conçu avec comme premier but la sécurité.
La procédure de A à Z : ça devrait être bon ! : www.how-to.ovh/viewtopic.php?t=19
Un lien pour aider a paramétrer 2 fichier pour fail2ban pour dovecot : wiki2.dovecot.org/HowTo/Fail2Ban
richardjh.org/blog/blocking-brute-force-attacks-dovecot-centos.php

Erreurs rencontrées

Arrêts des jails aléatoires

Source exemple : blog.kdj-webdesign.com/administrer-un-vps-classic-quand-les-stats-jarmon-ont-disparu/
Pourquoi les jails s'arrêtent et redémarrent, aléatoirement ?
Jails-stop.jpg

Suivi des rapports d'activé de Fail2ban

Pour le moment, je n'ai aucun fichier de log nommé fail2ban.log
Pour voir le rapport d'activité :
cat /var/log/fail2ban
Pour suivre en temps réel les 30 dernières lignes (remplacer 30 par le nombre de ligne que vous voulez afficher) :
tail -f -n 30 /var/log/fail2ban
Pour ne voir que les ip bannis :
cat /var/log/fail2ban | grep "ban"
ou
tail -f -n 30 /var/log/fail2ban | grep "ban"

A suivre

Rendre les bans permanents avec fail2ban et iptables.
Désactiver le login root sur SSH.

Bibliographie

Ok.png SSH : Se protéger des attaques avec fail2ban : https://doc.fedora-fr.org/wiki/SSH_:_Se_prot%c3%a9ger_des_attaques_avec_fail2ban
Ko.png Source : https://www.visionduweb.eu/forum/fail2ban/56-2-configurer-ssh-fail2ban-le-jail-local-les-jails#224
Ko.png Source : http://www.tutoriels-video.fr/securiser-son-serveur-dedie-avec-iptables-fail2ban-et-rkhunter/
Ko.png Source : https://www.alsacreations.com/tuto/lire/622-Securite-firewall-iptables.html?
Ko.png Source : https://www.quennec.fr/trucs-astuces/syst%C3%A8mes/ubuntu-server/fail2ban
Ko.png Source : http://www.jordimir.com/2009/07/31/optimiser-proteger-son-serveur-2/
404.png Fixme.png Source : https://darrynvt.wordpress.com/tag/custom-fail2ban-actions/
Ko.png Source : https://www.the-lazy-dev.com/fr/fail2ban-afficher-ip-banni/
Ko.png Source : https://forums.archlinux.fr/viewtopic.php?t=16398
Ko.png Source : https://reseau.developpez.com/tutoriels/fail2ban/
Ko.png Source : https://help.ubuntu.com/community/Fail2ban
Ko.png Source : https://doc.ubuntu-fr.org/fail2ban
Ko.png Source : https://wiki.debian-fr.xyz/Fail2ban
Ko.png Fail2ban : « T'as des baskets, tu rentres pas ! » : https://geekeries.org/2016/12/rapide-focus-sur-fail2ban/

NAVIGATION

PARTICIPER ET PARTAGER

Vous êtes sur le wiki de Vision du Web.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Pour participer sur le wiki, créer un compte utilisateur en haut à droite.
La recherche interne du wiki permet de trouver le contenu qui vous intéresse.
Les informations présentes sur ce wiki sont issues d'une recherche personnelle.
Identifiez-vous pour poser vos questions sur la page de discussion de VisionDuWeb.
Améliorer le contenu des pages en faisant des propositions depuis l'onglet discussion.
Les informations du wiki ne doivent pas servir à nuire à autrui ou à un système informatique.
De nombreux outils gratuits sont listés et disponibles dans la boîte à outils de Vision du web.
D'autres pages du wiki peuvent correspondre à vos attentes. La liste de toutes les pages du wiki.

VALORISER LE WIKI

Valoriser le contenu partagé sur le wiki avec un don en monnaie numérique :
AEON - Bitcoins - Bitcoins Cash - Bitcoins Gold - Bitcore - Blackcoins - Basic Attention Token - Bytecoins - Clams - Dash - Monero - Dogecoins - Ğ1 - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Gagner des Altcoins - Miner des Altcoins.
Consulter le miroir du wiki depuis Planet Hoster : Le miroir du wiki version du 12 Juillet 2019.