## Comment installer et configurer SSHGuard pour bloquer les attaques par force brute ##
Présentation ###
SSHGuard est un excellent outil open source pour protéger les serveurs SSH contre les attaques par force brute et les attaques par déni de service en surveillant et en filtrant les connexions SSH entrantes. Il peut surveiller les journaux SSH, bloquer les adresses IP après avoir dépassé les échecs d'authentification et bloquer les ports, détecter et bloquer l'analyse des ports, protéger les clés SSH, les attaques par force brute en interdisant temporairement les contrevenants, et il est facile à configurer et à utiliser.
Dans ce guide, vous apprendrez comment installer SSHGuard sur votre serveur et le configurer pour bloquer les attaques par force brute sur votre serveur SSH. Nous travaillerons sur un serveur CentOS 8.
Prérequis ##
Accès SSH
- Vous devriez avoir un serveur exécutant CentOS 8.
- Un utilisateur avec les privilèges sudo ou root.
Mettre à jour le système
Avant d'installer des packages, mettez à jour votre système :
```bash
sudo miam mettre à jour -y
```
1. Installez SSHGuard ###
Pour installer SSHGuard, utilisez le gestionnaire de packages yum :
```bash
sudo miam installer sshguard
```
2. Configurer SSHGuard ###
Une fois SSHGuard installé, ouvrez son fichier de configuration :
```bash
sudo vi /etc/sshguard/sshguard.conf
```
- Recherchez la ligne suivante et décommentez-la :
```
activé =oui
```
Cette ligne permet à SSHGuard de démarrer automatiquement au démarrage du système.
- Maintenant, configurez le nombre maximum de tentatives de connexion infructueuses autorisées avant que SSHGuard ne bloque l'adresse IP incriminée. Recherchez la ligne suivante :
```
max_tentatives=5
```
Par défaut, SSHGuard autorise cinq tentatives de connexion infructueuses. Vous pouvez augmenter ou diminuer cette valeur selon vos exigences de sécurité.
- Définissez la durée (en minutes) pendant laquelle l'adresse IP incriminée sera bloquée après avoir dépassé le nombre maximum de tentatives de connexion. Recherchez la ligne suivante :
```
block_time=300
```
La durée de blocage par défaut est de 5 heures, qui peut être personnalisée selon les besoins.
- SSHGuard peut envoyer des notifications par e-mail lorsque les adresses IP sont bloquées. Pour activer cette fonctionnalité, recherchez la ligne suivante et décommentez-la :
```
email_alert_cmd=/usr/sbin/sshalert
```
S'il n'y a pas de commande à la fin de la ligne, spécifiez-en une. Par exemple:
```
email_alert_cmd=/usr/bin/mailx
```
Remplacez /usr/bin/mailx ou une commande similaire par le chemin d'accès à votre client de messagerie.
- Par défaut, SSHGuard alerte uniquement l'utilisateur root. Pour envoyer des alertes par e-mail à d'autres adresses e-mail, ajoutez-les comme ceci :
```
sshalert_recipients=root,user1@example.com,user2@example.com
```
- Trouvez la ligne :
```
sshalert_cmdline_options=""
```
- Modifiez-le pour inclure -r pour recevoir des e-mails. Par exemple:
```
sshalert_cmdline_options="-r"
```
- Enregistrez et fermez le fichier sshguard.conf.
3. Activer SSHGuard ###
Pour activer SSHGuard, exécutez la commande suivante :
```bash
sudo systemctl démarrer sshguard
```
4. Activer SSHGuard au démarrage du système ###
Pour vous assurer que SSHGuard démarre automatiquement au démarrage du système, exécutez la commande suivante :
```bash
sudo systemctl activer sshguard
```
5. Testez SSHGuard ###
Pour tester si SSHGuard fonctionne correctement, essayez de vous connecter à votre serveur SSH à partir d'une autre machine en utilisant un mot de passe incorrect plus de fois que la limite définie dans sshguard.conf. Vous devriez voir un message d'erreur semblable au suivant :
```
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
Votre compte a été verrouillé. Veuillez réessayer dans xx minutes
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@
```
6. Vérifiez les adresses IP bloquées ###
Pour afficher la liste des IP bloquées, utilisez la commande suivante :
```bash
sshguard-log -e 1
```
Cela affichera une liste des adresses IP bloquées et la raison pour laquelle elles ont été bloquées, ainsi que l'heure à laquelle elles seront débloquées.
7. Débloquer les adresses IP ###
Si vous souhaitez débloquer une adresse IP, vous pouvez utiliser la commande suivante :
```bash
sshguard-unblock
```
Remplacez par l'adresse IP que vous souhaitez débloquer.
Conclusion ###
SSHGuard est un outil puissant pour protéger les serveurs SSH contre les attaques par force brute et les attaques par déni de service. En suivant les étapes de ce guide, vous pouvez facilement installer et configurer SSHGuard pour améliorer la sécurité de votre serveur.
|