Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Linux + iptables] Blocage des IP faisant de nombreuses tentatives sur SSH

12 réponses
Avatar
Gerard Menvussa
Bonjour.

Pour éviter d'avoir des rapports logwatch qui n'en finissent pas. J'ai
mis en place deux règles dans mon firewall pour utiliser le module
"recent" contre les attaques en force brute sur SSH. Cela donne ceci :

iptables -A INPUT -p tcp --syn --dport 22 -m recent --update --seconds
300 --hitcount 2 --name SSH -j DROP

iptables -A INPUT -p tcp --syn --dport 22 -m recent --set --name SSH -j
ACCEPT

La première ligne contrôle la présence d'une adresse dans la liste, met
à jour la date et le compteur associé et drop si l'adresse est déjà
apparue il y a moins de 5 minutes et à deux reprise.
La seconde note l'adresse d'une demande de connexion sur le port SSH

Je teste cette configuration depuis quelques mois. Cela donne de bon
résultats et je ne me suis jamais retrouvé à la porte de mon serveur
jusqu'à présent ;-) (je touche du bois)

J'aimerais avoir votre avis sur cette technique et savoir si vous
connaissez une façon plus intelligente et efficace de bloquer les
adresses qui tentent des attaques de ce type.

2 réponses

1 2
Avatar
Gerard Menvussa
Bonjour,

je suis ne connais pas non plus le module recent, mais j'ai une petite
question : le drop d'iptables est il définitif ou recent permet il de
n'effectuer ce drop que pour une durée donnée (30mn par exemple) ?


Dans ce cas précis 5 minutes à partir de la dernière tentative.


Si c'est définitif, je serais personnellement assez mitigé sur cette
technique qui t'expose à des attaques de type IP spoofing. L'attaquant
voyant qu'il est automatiquement bloqué, peut s'amuser à spoofer
l'adresse IP de ton serveur DNS et de ton serveur mail, juste histoire
de plonger dans le noir... Et si tu utilises une adresse IP fixe,
pourquoi pas la tienne ?...


Je n'utilise cette technique que pour le service SSH. Mais en effet il
pourrait s'amuser à ça, si ce n'est que tant qu'il ne tombe pas sur ma
propre adresse je peux continuer à accéder à mon serveur :). Exploiter
ce module pour créer une attaque de type "deny of service" me parait
donc difficile. Sur le service SSH.

Mais comme le fait également remarquer Pascal Hambourg si le module ne
garde en mémoire que les cent adresses les plus récentes il est possible
de nettoyer la mémoire du module entre chaque tentative à l'aide du
spoofing. Mais bon je ne me connais pas d'ennemies aussi acharnés :)


Personnellement j'utilise un HIDS absolument formidable (oui je sais
je m'emballe, mais bon il est vraiment sympa !) c'est OSSEC.
Il te permet de blacklister automatiquement les attaquants (pas
seulement les SSH brute force) selon de nombreux critères et cela pour
une durée de 30 mn par défaut.


Merci c'est exactement ce genre d'informations que je cherchais, je vais
regarder ça de plus prés.


Bien sur, encore une fois, je ne connais pas recent et peut être le
fait il également ?


C'est très différent. Malheureusement "recent" jouant au niveau de la
table IP il ne peut faire de distinction entre connexion réussie ou non
par exemple... (enfin je pense)

Avatar
Malcom
sympa les précisions de pascal sur le module recent, merci !
1 2