Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu’il s’agit d’une erreur. {{indexmenu_n>15}} ## Empêcher les bruteforce SSH Sur toutes les machines, il convient d'installer le paquet `fail2ban`. <bootnote learn>Ce genre d'opération peut s'effectuer sur l'ensemble des machines, d'un seul coup, [[technique:tips:broadcast|en utilisant cette astuce]].</bootnote> En pratique, comme l'authentification par mot de passe est désactivée, on ne risque pas de se faire bruteforce une clé SSH. Ceci étant, ce bannissement permet d'alléger les requêtes faites au serveur et les potentiels autres actes malveillants provenant de la même IP. Cet outil permet d'analyser les logs de différents services et de bannir temporairement une IP en cas d'abus détecté. <bootnote>`fail2ban` supporte une grande variété de services (SSH, nginx, Postfix...).</bootnote> <bootnote learn>`fail2ban` n'interagit pas du tout avec les services concernés ; il se contente de *parser* leurs journaux et de récupérer les IP provoquant une erreur (exemple : trop de 404 pour un serveur HTTP).</bootnote> Dans notre cas, la configuration est un peu modifiée afin d'être intégrée à la [[technique:adminsys:monitoring:log|centralisation des logs]], quelques extraits : `/etc/fail2ban/fail2ban.conf` : ``` loglevel = INFO logtarget = SYSOUT ``` On retrouve donc les logs de ban/unban dans `journalctl` (`sudo journalctl -u fail2ban`) ou dans [[technique:adminsys:monitoring:log:query|Grafana]]. `/etc/fail2ban/jail.d/defaults-debian.conf` : ``` [sshd] enabled = true ``` Seul les logs SSH sont analysés par défaut lors de l'installation. Au bout de quelques essais ratés, l'IP concernée est bannie pour 10 minutes par défaut. Ce délai est configurable via l'option `bantime`. Il est ensuite possible de faire des statistiques sur les IP bannies avec la commande : ``` sudo zgrep -h "Ban " /var/log/fail2ban.log* | awk '{print $NF}' | sort | uniq -c | sort -n ``` technique/adminsys/secu/fail2ban.txtde rdelaage