« Protéger SSH avec sshguard » : différence entre les versions

De Linux Server Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
 
(3 versions intermédiaires par le même utilisateur non affichées)
Ligne 3 : Ligne 3 :
[[Category:security]]
[[Category:security]]


Pour Debian squeeze, il faut activer les backports dans <code>/etc/apt/sources.list</code> :
Installez sshguard :
<pre>deb http://backports.debian.org/debian-backports squeeze-backports main</pre>
<pre>apt install sshguard</pre>


Pour Debian wheezy ou jessie, vous n'avez aucun dépôt à ajouter.
Vous pouvez configurer une whitelist dans <code>/etc/sshguard/whitelist</code> (ip ou cidr)


Mettez a jour la liste des paquets :
Si vous utilisez une IPv6 sur votre serveur, ajoutez une taille de bloc à blacklister dans <code>/etc/sshguard/sshguard.conf</code> :
<pre>aptitude update</pre>
 
Installez sshguard VIA LES BACKPORTS pour debian squeeze :
<pre> aptitude -t squeeze-backports install sshguard</pre>
 
Ou classiquement pour wheezy, jessie ou ultérieur :
<pre>aptitude install sshguard</pre>
 
Configurez la whitelist :
<pre>
<pre>
#les deux ips de la boucle locale (ipv4 et ipv6)
# IPv6 subnet size to block. Defaults to a single address, CIDR notation. (optional, default to 128)
echo "127.0.0.1" > /etc/sshguard/whitelist
IPV6_SUBNET=64
echo "0:0:0:0:0:0:0:1" >>  /etc/sshguard/whitelist
# IPv4 subnet size to block. Defaults to a single address, CIDR notation. (optional, default to 32)
#On peut aussi ajouter des block d'ips, ici, un range local
#IPV4_SUBNET=24
echo "192.168.0.0/24" >> /etc/sshguard/whitelist
#et pareil avec les ipv6
echo "2001:462:9a02:1003:0000:0000:0000:0000/64" >> /etc/sshguard/whitelist
</pre>
</pre>


Vous pouvez modifier les options de sshguard (trop permissive par défaut selon moi) dans /etc/default/sshguard avec :
Cela peut sembler violent de bloquer à coup de /64, mais la majorité des fournisseurs d'accès donnent accès à un /64 (quand ce n'est pas plus grand !) à leurs clients finaux, ce qui fait un paquet d'IPv6/128 prêtent à scanner votre serveur SSH.
* -a : le nombre d’évènement nécessaire avant de bloquer une ip
 
* -p : délai minimum en seconde avant de débloquer une ip (le délai réel sera compris entre votre valeur et 3/2 * votre valeur en fonction de la gravité de l'attaque)
Vous pouvez aussi définir une <code>banlist</code> permanente avec <code>BLACKLIST_FILE=100:/var/lib/sshguard/blacklist.db</code>. La valeur <code>100</code> signifie qu'après 10 attaques, une IP est bannie définitivement (chaque attaque ayant un coût de 10, 10x10=100).
* -s : délai en seconde avant d'oublier les précédentes actions d'une ip (doit être supérieur à -p)


Après vos modifications relancez sshguard
Après vos modifications relancez sshguard
<pre>/etc/init.d/sshguard restart</pre>
<pre>/etc/init.d/sshguard restart</pre>

Dernière version du 8 août 2022 à 22:53


Installez sshguard :

apt install sshguard

Vous pouvez configurer une whitelist dans /etc/sshguard/whitelist (ip ou cidr)

Si vous utilisez une IPv6 sur votre serveur, ajoutez une taille de bloc à blacklister dans /etc/sshguard/sshguard.conf :

# IPv6 subnet size to block. Defaults to a single address, CIDR notation. (optional, default to 128)
IPV6_SUBNET=64
# IPv4 subnet size to block. Defaults to a single address, CIDR notation. (optional, default to 32)
#IPV4_SUBNET=24

Cela peut sembler violent de bloquer à coup de /64, mais la majorité des fournisseurs d'accès donnent accès à un /64 (quand ce n'est pas plus grand !) à leurs clients finaux, ce qui fait un paquet d'IPv6/128 prêtent à scanner votre serveur SSH.

Vous pouvez aussi définir une banlist permanente avec BLACKLIST_FILE=100:/var/lib/sshguard/blacklist.db. La valeur 100 signifie qu'après 10 attaques, une IP est bannie définitivement (chaque attaque ayant un coût de 10, 10x10=100).

Après vos modifications relancez sshguard

/etc/init.d/sshguard restart