Outils pour utilisateurs

Outils du site


linux:sshguard (lu 60 fois)

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
linux:sshguard [09-01-2026 14:50] – créée edmc73linux:sshguard [20-01-2026 21:06] (Version actuelle) – [sshguard] edmc73
Ligne 37: Ligne 37:
 </code> </code>
  
-Par défaut, dans cette config, sshguard utilise les commandes nft pour bloquer les ips, voici comment voir ce qui a été bloqué+Explication des options 
 + 
 +  * ''BACKEND'' : Définit l'interface avec votre pare-feu. Ici, il utilise ''nftables'' avec des "sets" (très performant pour gérer de longues listes d'IP). 
 +  * ''LOGREADER'' : La source des logs. La commande ''journalctl'' surveille en temps réel les messages d'authentification (facility 4 pour auth, 10 pour authpriv). 
 +  * ''THRESHOLD'' (Seuil) : Le score cumulé avant le bannissement. Si une tentative échouée vaut 10, l'attaquant est banni à sa 3ème erreur ($3 \times 10 = 30$). 
 +  * ''BLOCK_TIME'' : Durée initiale du bannissement (en secondes). 
 +  * ''DETECTION_TIME'' : Fenêtre de temps durant laquelle sshguard mémorise les échecs d'une IP. Si l'attaquant attend plus de 1800s entre deux tentatives, son score repart à zéro. 
 +  * ''WHITELIST_FILE'' : Chemin vers le fichier contenant les IP (ou réseaux) à ne jamais bloquer. 
 + 
 + 
 + 
 +Par défaut, dans cette config, sshguard utilise les commandes nftables pour bloquer les ips, voici comment voir ce qui a été bloqué
  
 <code> <code>
Ligne 58: Ligne 69:
 } }
 </code> </code>
 +
 +Pour compter le nombre d'ip bloqué
 +  nft list table sshguard | tr ',' '\n' | grep -cE '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+'
 +Alternative en utilisant ''jq'' et la sortie json
 +  nft -j list table sshguard | jq '[.nftables[] | .set?.elem[]?] | length'
 +
 +Sinon dans le journal
 +<code>
 +journalctl -xeu sshguard
 +Jan 09 14:45:20 my-vps sshguard[972514]: Attack from "115.112.66.197" on service SSH with danger 10.
 +Jan 09 14:45:22 my-vps sshguard[972514]: Attack from "115.112.66.197" on service SSH with danger 2.
 +Jan 09 14:45:22 my-vps sshguard[972514]: Attack from "115.112.66.197" on service SSH with danger 10.
 +Jan 09 14:45:23 my-vps sshguard[972514]: Attack from "45.78.227.4" on service SSH with danger 10.
 +Jan 09 14:45:24 my-vps sshguard[972514]: Attack from "115.112.66.197" on service SSH with danger 10.
 +Jan 09 14:45:24 my-vps sshguard[972514]: Blocking "115.112.66.197/32" for 604800 secs (4 attacks in 4 secs, after 1 abuses over 4 secs.)
 +Jan 09 14:45:24 my-vps sshguard[972514]: Attack from "45.78.227.4" on service SSH with danger 10.
 +Jan 09 14:45:26 my-vps sshguard[972514]: Attack from "45.78.227.4" on service SSH with danger 10.
 +Jan 09 14:45:26 my-vps sshguard[972514]: Blocking "45.78.227.4/32" for 604800 secs (3 attacks in 3 secs, after 1 abuses over 3 secs.)
 +Jan 09 14:46:06 my-vps sshguard[972514]: Attack from "45.78.219.217" on service SSH with danger 10.
 +Jan 09 14:46:08 my-vps sshguard[972514]: Attack from "45.78.219.217" on service SSH with danger 10.
 +Jan 09 14:46:09 my-vps sshguard[972514]: Attack from "45.78.219.217" on service SSH with danger 10.
 +</code>
 +
 +==== Conseils d'optimisation ====
 +
 +Pour renforcer la sécurité face aux bots modernes, voici les réglages recommandés :
 +
 +Réduire le THRESHOLD : Passer à ''10'' ou ''20'' pour bannir dès la 1ère ou 2ème erreur. <code bash>THRESHOLD=10</code>
 +
 +Augmenter le BLOCK_TIME : 120 secondes est insuffisant. Utilisez au moins 15 minutes pour décourager les tentatives répétées. <code bash>BLOCK_TIME=900</code>
 +
 +Allonger le DETECTION_TIME : Augmenter la fenêtre de surveillance à 1 heure pour contrer les attaques lentes (low and slow). <code bash>DETECTION_TIME=3600</code>
 +
 +Gestion de la Whitelist : Ajoutez impérativement vos IP de confiance dans ''/etc/sshguard/whitelist'' pour éviter l'auto-bannissement.
 +
 +Vérification Backend : Assurez-vous que le service ''nftables'' est actif, car c'est lui qui exécute les règles de blocage.
linux/sshguard.1767970246.txt.gz · Dernière modification : de edmc73