# Hydra
## ETAPES 1 Hydra
1. Créer un utilisateur et un mot de passe compliqué(). Donner à votre voisin votre IP et le nouveau nom d'utilisateur que vous avez créé.
2. installer Hydra et le dictionnaire rockyou.txt
3. Quel commande permet de trouver le nombre de ligne du dictionnaire.
4. Essayer de trouver le mot de passe de votre voisin à l'aide d'hydra en utilisant le dictionnaire de base
5. Générer votre propre dictionnaire
## ETAPES 2 Failtoban
1. Sécuriser le service SSH d'un nombre de connexion trop élevé à l'aide du service FAILTOBAN.
Bien sûr ! Voici un exemple complet de **sujet de TP** sur l'installation et la configuration de **Fail2ban**, destiné à des étudiants ou apprenants en administration système (niveau débutant à intermédiaire).
---
## **TP – Installation et Configuration de Fail2ban**
### **Objectifs pédagogiques :**
* Comprendre l'intérêt d'un système de prévention d'intrusion par force brute.
* Installer et configurer **Fail2ban** sur une machine Linux.
* Analyser les fichiers de configuration.
* Tester la réaction de Fail2ban face à des tentatives d'intrusion.
---
### **Pré-requis :**
* Machine virtuelle ou physique sous Debian/Ubuntu/CentOS.
* Accès root ou `sudo`.
* SSH activé sur la machine.
* Outils : `fail2ban`, `iptables`, `ssh`, `whois`, `tail`.
---
### **I. Présentation de Fail2ban**
**Fail2ban** est un outil qui surveille les fichiers de log pour détecter des comportements suspects (comme des tentatives de connexion échouées répétées) et applique des règles de bannissement via `iptables` ou d'autres pare-feux.
---
### **II. Installation**
#### 1. Mettez à jour votre système
```bash
sudo apt update && sudo apt upgrade -y
```
#### 2. Installez Fail2ban
```bash
sudo apt install fail2ban -y
```
#### 3. Vérifiez l’état du service
```bash
sudo systemctl status fail2ban
```
---
### **III. Configuration de base**
#### 1. Copiez le fichier de configuration principal
```bash
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
```
#### 2. Éditez le fichier `jail.local` :
```bash
sudo nano /etc/fail2ban/jail.local
```
* Activez la protection SSH :
```ini
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
```
---
### **IV. Redémarrage et test**
#### 1. Redémarrez Fail2ban :
```bash
sudo systemctl restart fail2ban
```
#### 2. Vérifiez le statut de la jail SSH :
```bash
sudo fail2ban-client status sshd
```
#### 3. Simulez des tentatives de connexion SSH échouées depuis une autre machine ou depuis localhost :
```bash
ssh baduser@localhost
# Répétez avec de mauvais identifiants au moins 3 fois
```
#### 4. Vérifiez que l’IP a été bannie :
```bash
sudo fail2ban-client status sshd
```
---
### **V. Analyse**
1. Observez les logs :
```bash
sudo tail -f /var/log/fail2ban.log
```
2. Vérifiez les règles iptables ajoutées :
```bash
sudo iptables -L
```
3. Débannir une IP manuellement :
```bash
sudo fail2ban-client set sshd unbanip <adresse_ip>
```
---
### **VI. Questions (à rendre)**
1. Quelle est l'utilité de `findtime`, `bantime` et `maxretry` ?
2. Quelle est la différence entre `jail.conf` et `jail.local` ?
3. Comment Fail2ban interagit-il avec `iptables` ?
4. Quelle serait la conséquence d’un `maxretry` trop bas ou trop haut ?
5. Comment protéger un autre service (ex : FTP) avec Fail2ban ?
---
Souhaitez-vous une version PDF ou un support complémentaire (diapos, fiche de révision) ?
liens
https://www.kali-linux.fr/hacking/tutohydrabruteforce