Outils pour utilisateurs

Outils du site


Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
140-pare-feu-fail2ban:20-config-sshd [le 01/07/2025 à 13:20] – [Analyse plus profonde] prof140-pare-feu-fail2ban:20-config-sshd [le 05/07/2025 à 14:25] (Version actuelle) – [fail2ban a-t-il de la mémoire ?] prof
Ligne 254: Ligne 254:
 Si la structure ajoutée par fail2ban est toujours intacte, les sets ont quant-à-eux été purgés. Si la structure ajoutée par fail2ban est toujours intacte, les sets ont quant-à-eux été purgés.
  
-===== Analyse plus profonde ===== +==== Aménagement du filtre ==== 
-==== authentifications ratées ====+Certains filtres, dont ''sshd.conf'', proposent des modes de fonctionnement. Ces modes agissent sur le choix des expressions régulières utilisées pour le filtrage.
  
-Dans la configurationnous avons autorisé deux essaiscependant, le malveillant n'a eu droit qu'à un seul essai par adresse IP. La raison se trouve dans le filtre ''sshd.conf''.+Des explicationsplus ou moins sibyllinespeuvent se trouver dans le fichier de filtre lui-même. Pour ''sshd.conf'', nous trouvons: 
 +<html><pre class="code"> 
 +<span class="txtb"># Parameter "mode": normal (default), ddos, extra or aggressive (combines all) 
 +# Usage example (for jail.local): 
 +#   [sshd] 
 +#   mode = extra 
 +#   # or another jail (rewrite filter parameters of jail): 
 +#   [sshd-aggressive] 
 +#   filter = sshd[mode=aggressive] 
 +#</span> 
 +<span class="hly">mode = normal</span> 
 +</pre></html> 
 +Hélas, la maîtrise de ces modes suppose non seulement celle des expressions régulières, mais également celle des [[https://fail2ban.readthedocs.io/en/latest/filters.html|règles de création des filtres]]. Si le mode «ddos» peut laisser supposer qu'il s'intéresse essentiellement aux attaques par déni de service distribuées, le mode «extra» est plus obscur. 
 + 
 +Le mode «normal» sélectionné par défaut est généralement satisfaisant. 
 +===== Analyse plus profonde =====
  
-Il faut avoir une bonne habitude des expressions régulières pour espérer maîtriser les filtres  que l'on trouve dans le répertoire ''filter.d''. Ces filtres ont pour objectif de fonctionner avec le plus large éventail possible de configurations logicielles.  
  
-Il se trouve qu'ici, deux lignes de log sont capturées par le filtre, lors d'une authentification ratée, si bien que fail2ban comptabilise deux essais alors qu'il n'y en a eu qu'un seul. 
  
-Les spécialistes des «regexps» pourront facilement régler la question en ajoutant dans la liste un filtre de leur cru et de l'invoquer à la place du filtre «officiel» 
 ==== fail2ban a-t-il de la mémoire ? ==== ==== fail2ban a-t-il de la mémoire ? ====
 Nous allons considérablement rallonger la durée de bannissement, pour vérifier ce qu'il se passerait pour les adresses bannies en cas de redémarrage de l'hôte: Nous allons considérablement rallonger la durée de bannissement, pour vérifier ce qu'il se passerait pour les adresses bannies en cas de redémarrage de l'hôte:
Ligne 309: Ligne 321:
  
 fail2ban a bonne mémoire. fail2ban a bonne mémoire.
 +
 +Dans la foulée, nous pouvons également vérifier qu'une commande comme:
 +  systemctl restart fail2ban
 +n'efface pas pour autant sa mémoire.
 +==== L'outil «fail2ban-client» ====
 +Cet outil sert essentiellement à contrôler le fonctionnement du serveur fail2ban. Le manuel fournit (en anglais) tous les détails de son utilisation.
 +Voici quelques-uns de ses usages:
 +  * **fail2ban-client ping** permet de savoir si le serveur est vivant. S'il l'est, il répond simplement: «pong»,
 +  * **fail2ban-client status** retourne l'état du serveur. exemple:\\ <code>Status
 +|- Number of jail: 1
 +`- Jail list: ssh</code>
 +  * **fail2ban-client start/stop/reload <JAIL>** permet de démarrer, arrêter, recharger la configuration d'une prison,
 +  * **fail2ban-client get <JAIL> banned** retourne la liste des adresses IP bannies dans la prison indiquée. Exemple: \\  <code>['1.202.223.2', '101.126.14.37', '101.126.151.131', '101.126.81.188', '101.126.88.203', '101.126.89.164', '101.126.91.34', '101.36.108.134', '101.36.122.23', '101.36.231.231', '102.140.97.134', '102.210.80.6', '102.215.218.114', '103.106.194.74', '103.112.54.86', '103.113.105.228', '103.116.177.252', '103.117.56.152', '103.120.227.88', '103.123.227.244', '103.137.194.125', '103.139.192.247']</code>Notons que le résultat est sous la forme d'un tableau python (fail2ban est écrit en python).
 +  * **fail2ban-client unban <IP> ... <IP>** Permet de sortir une liste d'adresses IP de prison, quelle que soit sa prison.
 +  * etc.
 +
Surveillance de sshd: Dernière modification le: 01/07/2025 à 13:20 par prof