La protection contre les comportements malveillants est une priorit constante. Rcemment, OpenSSH a franchi une tape significative dans cette lutte en introduisant de nouvelles options de configuration pour pnaliser les comportements indsirables. OpenSSH, loutil de rfrence pour les connexions scurises distance, a ajout deux nouvelles options sa configuration : PerSourcePenalties et PerSourcePenaltyExemptList. Ces options permettent sshd, le dmon SSH, de surveiller et de pnaliser les comportements problmatiques des clients.
sshd est le dmon du protocole SSH (Secure Shell) fourni par OpenSSH. Il coute les connexions entrantes des clients et dmarre un nouveau processus pour chaque nouvelle connexion afin de grer lchange de cls, le chiffrement, lauthentification, lexcution de commandes et lchange de donnes.
Dans un commit rcent, Damien Miller (djm@) a introduit les nouvelles options de configuration de sshd(8), PerSourcePenalties et PerSourcePenaltyExemptList, afin de fournir une facilit intgre dans sshd(8) lui-mme pour pnaliser un comportement indsirable, et pour protger des clients spcifiques de la pnalit, respectivement.
Le fonctionnement des nouvelles options est le suivant :
Lorsque PerSourcePenalties est activ, sshd surveille le statut de sortie de ses processus de session pr-authentification. Si un client tente plusieurs reprises une authentification infructueuse ou provoque un crash de sshd, cela peut indiquer une tentative dattaque ou dexploitation. En rponse, sshd enregistrera une pnalit contre ladresse du client. Si la dure de cette pnalit dpasse un seuil minimum, les connexions provenant de cette adresse seront refuses. Des infractions rptes entraneront des pnalits plus svres, jusqu un maximum configurable.
Pour sa part, la liste PerSourcePenaltyExemptList permet dexempter certaines plages dadresses de toutes pnalits. Bien que ces options soient dsactives par dfaut, les dveloppeurs prvoient de les activer automatiquement dans un avenir proche.
Voici le message de Damien Miller :
Ajout d’une fonctionnalit sshd(8) pour pnaliser certains comportements problmatiques de clients, contrle par deux nouvelles options de sshd_config(5) : PerSourcePenalties et PerSourcePenaltyExemptList.
Lorsque l’option PerSourcePenalties est active, sshd(8) surveille l’tat de sortie de ses processus enfants de session de prauthentification. Grce l’tat de sortie, il peut observer les situations dans lesquelles la session ne s’est pas authentifie comme prvu. Ces conditions incluent les tentatives rptes d’authentification du client sans succs (ce qui peut indiquer une attaque contre un ou plusieurs comptes, par exemple en devinant le mot de passe), ou lorsque le comportement du client a provoqu le plantage de sshd (ce qui peut indiquer des tentatives d’exploitation de sshd).
Lorsqu’une telle situation est observe, sshd enregistre une pnalit d’une certaine dure (par exemple 30 secondes) sur l’adresse du client. Si cette dure est suprieure un seuil minimal spcifi par les PerSourcePenalties, les connexions partir de l’adresse du client seront refuses (ainsi que toutes les autres dans la mme plage CIDR PerSourceNetBlockSize).
En cas d’infractions rptes de la part de la mme adresse client, les pnalits seront plus importantes, jusqu’ un maximum configurable. Une option PerSourcePenaltyExemptList permet certaines plages d’adresses d’tre exemptes de toute pnalit.
Nous esprons que ces options rendront beaucoup plus difficile pour les attaquants de trouver des comptes avec des mots de passe faibles ou devinables ou d’exploiter des bogues dans sshd(8) lui-mme.
PerSourcePenalties est dsactiv par dfaut, mais nous prvoyons de l’activer automatiquement dans un futur proche .
Cette nouvelle fonctionnalit vient s’ajouter aux options de suivi de l’tat
Cette nouvelle fonctionnalit vient s’ajouter aux options de suivi de l’tat, dj bien connues et apprcies, et n’est pour l’instant disponible que dans OpenBSD -current, mais il est presque certain qu’elle sera disponible dans la prochaine version d’OpenBSD 7.6.
Pour mmoire, les options de suivi dtat (Stateful Tracking Options) dans OpenBSD sont une partie intgrante du pare-feu PF (Packet Filter), qui est utilis pour filtrer le trafic rseau. Ces options permettent PF de suivre ltat ou la progression dune connexion rseau, ce qui est essentiel pour la scurit et la gestion efficace du trafic
Le suivi dtat fait rfrence la capacit de PF suivre ltat dune connexion rseau en stockant des informations sur chaque connexion dans une table dtat. Cela permet PF de dterminer rapidement si un paquet qui traverse le pare-feu appartient une connexion dj tablie. Si cest le cas, le paquet est autoris passer travers le pare-feu sans subir dautres contrles.
Options de suivi dtat
Une srie doptions lies au suivi dtat peut tre applique sur une base par rgle. Parmi celles-ci, on trouve keep state, modulate state, ou synproxy state, qui doivent tre spcifies explicitement pour appliquer ces options une rgle :
- keep state: Cre une entre dtat pour les connexions correspondant la rgle.
- modulate state: Modifie les numros de squence initiaux des connexions TCP pour une meilleure scurit.
- synproxy state: Utilis pour protger contre les attaques SYN flood en proxyfiant les connexions TCP initiales.
tats Flottants
Les tats flottants (floating states) peuvent correspondre des paquets sur nimporte quelle interface, ce qui est loppos des tats lis une interface (if-bound). Cest le comportement par dfaut.
En somme, les options de suivi dtat dans OpenBSD PF offrent aux administrateurs systme des moyens avancs pour surveiller et contrler le trafic rseau, assurant ainsi une meilleure scurit et une gestion optimise des ressources rseau.
Activation par dfaut
Quelques heures plus tard, dans un autre commit, Damien Miller a dclar :
Conclusion
Ces nouvelles fonctionnalits dOpenSSH sont un pas en avant dans la scurisation des connexions et la prvention des attaques. Elles offrent aux administrateurs systme un outil supplmentaire pour protger leurs serveurs contre les comportements malveillants, renforant ainsi la robustesse de la scurit informatique.
Sources : commits (1, 2), Options de suivi dtat
Et vous ?
Quelle est votre opinion sur lintroduction des options PerSourcePenalties et PerSourcePenaltyExemptList par OpenSSH ?
Comment ces nouvelles fonctionnalits pourraient-elles changer la manire dont vous grez la scurit de vos serveurs ?
Pensez-vous que la pnalisation des comportements indsirables est une approche efficace pour renforcer la scurit des systmes ? Pourquoi ?
Avez-vous dj rencontr des problmes de scurit que ces nouvelles options auraient pu prvenir ?
Quels autres mcanismes de scurit aimeriez-vous voir implments dans OpenSSH ou dautres outils similaires ?