Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| fail2ban [2025/01/16 08:45] – [Exemple de démarche pour du brute force sur SSH] serge.guerinet | fail2ban [2025/01/16 09:09] (Version actuelle) – [Fail2Ban] serge.guerinet | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Fail2Ban ====== | + | ====== Fail2Ban  | 
| Un attaquant peut essayer en <wrap em> | Un attaquant peut essayer en <wrap em> | ||
| - | Le serveur  | + | 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</ | ||
| + |   * 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)</ | C’est le rôle de l’outil Fail2ban : <wrap em>de l’échec (Fail) à (2) un bannissement (Ban)</ | ||
| Ligne 45: | Ligne 51: | ||
| * **filter.d** : on y crée ou adapte les fichiers définissant ce qui est recherché dans les journaux pour identifier un type de comportement inadapté | * **filter.d** : on y crée ou adapte les fichiers définissant ce qui est recherché dans les journaux pour identifier un type de comportement inadapté | ||
|   * **action.d** : dossier qui décrit les comportements (blocages d'IP, ajout de règles de filtrage, journalisation, |   * **action.d** : dossier qui décrit les comportements (blocages d'IP, ajout de règles de filtrage, journalisation, | ||
| + | |||
| + | ===== Les principales commandes ===== | ||
| + | Gérer le service Fail2ban | ||
| + | <code lscript> | ||
| + | |||
| + | Connaître l' | ||
| + | <code lscript> | ||
| + | Exemple | ||
| + | <WRAP center round tip 90%> | ||
| + | <code lscript> | ||
| + | Status for the jail: sshd | ||
| + | |- Filter | ||
| + | | |- Currently failed: 0 | ||
| + | |  |- Total failed:  | ||
| + | |  `- Journal matches:  | ||
| + | `- Actions | ||
| + | |- Currently banned: 1 | ||
| + |    |- Total banned:  | ||
| + |    `- Banned IP list:    | ||
| + |  </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | Pour bloquer une IP pour un jail donné (sshd, apache, etc) | ||
| + | <code lscript> | ||
| + | |||
| + | Pour débloquer une IP bannie pour un jail donné (sshd, apache, etc) | ||
| + | <code lscript> | ||
| + | |||
| + | Voir les journaux d' | ||
| + | <code lscript> | ||
| + | |||
| ===== Exemple de démarche pour du brute force sur SSH ===== | ===== Exemple de démarche pour du brute force sur SSH ===== | ||
| Ligne 79: | Ligne 117: | ||
| Une tentative de connexion impossible générera des traces dans le journal, jusqu' | Une tentative de connexion impossible générera des traces dans le journal, jusqu' | ||
| <code lscript> | <code lscript> | ||
| + | distant@machine.sio.bts$ tail / | ||
| 2025-01-16 08: | 2025-01-16 08: | ||
| 2025-01-16 08: | 2025-01-16 08: | ||
| Ligne 85: | Ligne 124: | ||
| 2025-01-16 08: | 2025-01-16 08: | ||
| 2025-01-16 08: | 2025-01-16 08: | ||
| + | </ | ||
| + | |||
| + | après le temps prévu du bannissement, | ||
| + | <code lscript> | ||
| + | 2025-01-16 08: | ||
| </ | </ | ||