Outils pour utilisateurs

Outils du site


fail2ban

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
fail2ban [2025/01/16 08:45] – [Les dossiers et fichiers] serge.guerinetfail2ban [2025/01/16 09:09] (Version actuelle) – [Fail2Ban] serge.guerinet
Ligne 1: Ligne 1:
-====== Fail2Ban ======+====== Fail2Ban : bannir les intrus ======
  
 Un attaquant peut essayer en <wrap em>« brute force »</wrap> toutes les combinaisons possibles pour trouver le mot de passe d’un compte utilisateur sur un service. Pour le <wrap em>détecter</wrap>, il faut qu'une <wrap em>journalisation</wrap> permette d'identifier un échec de connexion.  Un attaquant peut essayer en <wrap em>« brute force »</wrap> toutes les combinaisons possibles pour trouver le mot de passe d’un compte utilisateur sur un service. Pour le <wrap em>détecter</wrap>, il faut qu'une <wrap em>journalisation</wrap> permette d'identifier un échec de connexion. 
  
-Le serveur Apache ou le code ne permettent pas de détecter cela. +Les services (Apache, SSH, FTP, etc) ou le code ne permettent pas de détecter cela. 
-Il faut rajouter un utilitaire qui permet de détecter les comportements anormaux dans les accès aux services d’une machine : connexion trop fréquentes et en échec, connexions démultipliées dans un temps court, etc. + 
 +Il faut rajouter un utilitaire qui permet de détecter les <wrap em>comportements anormaux</wrap> dans les accès aux services d’une machine :  
 +  * connexion trop fréquentes et en échec,  
 +  * connexions démultipliées dans un temps court,  
 +  * connexions initiées puis abandonnées, 
 +  * connexions envoyant des éléments mal formés 
 +  * etc. 
  
 C’est le rôle de l’outil Fail2ban : <wrap em>de l’échec (Fail) à (2) un bannissement (Ban)</wrap> C’est le rôle de l’outil Fail2ban : <wrap em>de l’échec (Fail) à (2) un bannissement (Ban)</wrap>
Ligne 46: Ligne 52:
   * **action.d** : dossier qui décrit les comportements (blocages d'IP, ajout de règles de filtrage, journalisation, etc)   * **action.d** : dossier qui décrit les comportements (blocages d'IP, ajout de règles de filtrage, journalisation, etc)
  
-==== Les principales commandes ====+===== Les principales commandes ====
 +Gérer le service Fail2ban 
 +<code lscript>systemctl {stop|start|restart|status} fail2ban</code> 
 + 
 +Connaître l'état d'un jail (sshd, apache, etc) : actif ou non, machines bannies, ... 
 +<code lscript>fail2ban-client status <jail></code> 
 +Exemple 
 +<WRAP center round tip 90%> 
 +<code lscript>root@B1-DB12-SecuWeb:~# fail2ban-client status sshd 
 +Status for the jail: sshd 
 +|- Filter 
 +|  |- Currently failed: 0 
 +|  |- Total failed:     6 
 +|  `- Journal matches:  _SYSTEMD_UNIT=sshd.service + _COMM=sshd 
 +`- Actions 
 +   |- Currently banned: 1 
 +   |- Total banned:     2 
 +   `- Banned IP list:   10.12.0.38 
 + </code> 
 +</WRAP> 
 + 
 + 
 +Pour bloquer une IP pour un jail donné (sshd, apache, etc) 
 +<code lscript>fail2ban-client set <jail> banip <ip_poste> </code>   
 + 
 +Pour débloquer une IP bannie pour un jail donné (sshd, apache, etc) 
 +<code lscript>fail2ban-client set <jail> unbanip <ip_poste>  </code> 
 + 
 +Voir les journaux d'activité 
 +<code lscript>{nano|tail} /var/log/fail2ban.log</code>
  
  
Ligne 82: Ligne 117:
 Une tentative de connexion impossible générera des traces dans le journal, jusqu'au banissement de la machine concernée. Une tentative de connexion impossible générera des traces dans le journal, jusqu'au banissement de la machine concernée.
 <code lscript> <code lscript>
 +distant@machine.sio.bts$ tail /var/log/fail2ban.log
 2025-01-16 08:38:56,246 fail2ban.jail           [11935]: INFO    Jail 'sshd' started 2025-01-16 08:38:56,246 fail2ban.jail           [11935]: INFO    Jail 'sshd' started
 2025-01-16 08:38:56,247 fail2ban.jail           [11935]: INFO    Jail 'apache' started 2025-01-16 08:38:56,247 fail2ban.jail           [11935]: INFO    Jail 'apache' started
Ligne 88: Ligne 124:
 2025-01-16 08:41:16,044 fail2ban.filter         [11935]: INFO    [sshd] Found 10.12.0.38 - 2025-01-16 08:41:15 2025-01-16 08:41:16,044 fail2ban.filter         [11935]: INFO    [sshd] Found 10.12.0.38 - 2025-01-16 08:41:15
 2025-01-16 08:41:16,288 fail2ban.actions        [11935]: NOTICE  [sshd] Ban 10.12.0.38 2025-01-16 08:41:16,288 fail2ban.actions        [11935]: NOTICE  [sshd] Ban 10.12.0.38
 +</code>
 +
 +après le temps prévu du bannissement, la machien est débloquée et l'information est journalisée
 +<code lscript>2025-01-16 08:41:16,288 fail2ban.actions        [11935]: NOTICE  [sshd] Ban 10.12.0.38
 +2025-01-16 08:46:16,414 fail2ban.actions        [11935]: NOTICE  [sshd] Unban 10.12.0.38
 </code> </code>
  
fail2ban.1737017153.txt.gz · Dernière modification : de serge.guerinet