Cybersécurité

Définition Clés SSH

Qu’est-ce que la gestion des clés SSH ? Comment les clés SSH sont-elles gérées ?

Secure Shell, ou SSH, est un protocole réseau normalement utilisé pour connecter un utilisateur à un système distant sur un réseau non sécurisé. SSH permet non seulement d’authentifier les utilisateurs, mais aussi de crypter les communications sur des réseaux comme Internet. Dans les organisations, SSH est utilisé par les administrateurs système, les utilisateurs et les processus automatisés pour lancer des transferts de fichiers, gérer l’infrastructure et fournir un accès à d’autres opérations système critiques. SSH travaille également dans le domaine du cloud computing pour aider à résoudre les problèmes de réseau et de sécurité. Les clés SSH servent à authentifier les utilisateurs sans utiliser de noms d’utilisateur ni de mots de passe. Au lieu de cela, les utilisateurs disposent d’une paire de clés SSH de confiance qui les authentifie comme la personne qu’ils disent être.

Comment les clés SSH sont-elles utilisées ?

L’authentification des clés SSH commence par la création d’une paire de clés. Comme l’authentification par SSH est asymétrique, une paire de clés asymétriques est créée. Le cryptage asymétrique utilise une paire de clés composée d’une clé publique et d’une clé privée, également appelées respectivement clé autorisée et clé d’identité. La clé publique donne à l’utilisateur l’accès au système de fichiers distant, de sorte que tout le monde ne peut pas se connecter au système de fichiers distant. Même si un utilisateur non autorisé volait la clé publique, il ne pourrait accéder à aucune information dans le système de fichiers distant, car il aurait également besoin de la clé privée. La clé privée sert à authentifier l’identité de l’utilisateur, donnant à l’utilisateur authentifié l’accès aux données auxquelles il est autorisé à accéder. Comme pour toutes les clés privées, la clé d’identité doit être conservée en toute sécurité et ne doit être accessible qu’à l’utilisateur qu’elle authentifie. La création de la paire de clés ne se produit qu’une seule fois, ce qui signifie que la paire de clés est liée à l’utilisateur pendant toute sa durée de vie. Une phrase de passe peut également être utilisée pour ajouter une mesure de sécurité supplémentaire au processus d’authentification SSH. Les données contenues dans le message sont cryptées avec un chiffrement symétrique.

Après la création de la paire de clés asymétriques, le client envoie ensuite l’ID de la clé publique au serveur pour authentification. Le serveur recherche un numéro d’identification correspondant à la clé publique et, s’il le trouve, crypte un message avec la clé publique et l’envoie au client. Le client décrypte ensuite le message, calcule le hachage MD5 du message et le renvoie au serveur. Si les hachages correspondent, le client est alors authentifié dans le système et peut travailler dans le système de fichiers distant.

Pourquoi la gestion des clés SSH est-elle importante ?
La gestion des clés SSH est primordiale lors du cryptage des connexions via SSH. La mauvaise gestion d’une paire de clés SSH peut compromettre l’accès à l’ensemble du système distant. Vous trouverez ci-dessous une liste des risques que la gestion des clés SSH permet de déjouer :

Perte d’informations : Les attaquants qui prennent le contrôle des clés SSH peuvent voler, supprimer ou modifier toutes les données auxquelles la victime avait accès. Cela peut entraîner l’exposition de données sensibles, telles que des informations personnellement identifiables (IPI), ou la perte de ces mêmes données.

Génération de clés étrangères : Tout utilisateur ayant accès au système à distance peut créer une paire de clés à d’autres fins d’authentification. Si une paire de clés SSH était mal gérée et qu’un attaquant volait les clés, il pourrait créer un nombre illimité de nouvelles paires de clés. Cela rendrait non seulement difficile la gestion des clés légitimes, mais permettrait également à l’attaquant de se connecter via n’importe laquelle des paires de clés nouvellement créées si la paire de clés qu’il a volée était supprimée.

Absence de date d’expiration : Les clés SSH n’ont pas de date d’expiration, comme les certificats SSL/TLS, ce qui augmente le risque qu’une paire de clés SSH soit mal gérée. Plus une paire de clés existe depuis longtemps, plus il est facile de ne pas continuer à la protéger lorsque de nouvelles clés sont créées. Les anciennes clés sont également moins susceptibles de faire l’objet d’une rotation, car les administrateurs système peuvent ne pas connaître le but d’une clé. Un autre problème posé par l’absence de date d’expiration est que lorsque les membres de l’équipe quittent l’entreprise, ils peuvent toujours avoir accès à leur clé, ce qui leur permet d’accéder à toutes les données auxquelles ils pourraient avoir accès lorsqu’ils sont dans l’entreprise. La suppression des anciennes clés est également rare, car les administrateurs système craignent de bloquer des accès importants s’ils suppriment la paire de clés.

Clés individuelles : Si un employé quitte l’entreprise, il a tendance à laisser derrière lui une seule clé, ce qui conduit à une paire de clés qui ne peut pas être utilisée. Les utilisateurs peuvent également perdre leurs clés, ce qui pose davantage de problèmes lorsqu’ils tentent de les supprimer. Comme auparavant, les administrateurs système hésitent à se débarrasser de clés dont ils ne connaissent pas le but, d’autant plus que cela pourrait interrompre des systèmes critiques.

Étalement des clés : Au fur et à mesure qu’une organisation fonctionne, de plus en plus de clés sont créées. Avec autant de clés créées, il devient difficile de suivre et de gérer les clés en circulation. Cela ouvre la porte aux attaquants qui peuvent compromettre les clés, car il est probable que chaque clé ne puisse être retrouvée.

Attaques basées sur les SSH : Les attaques basées sur la cryptographie sont de plus en plus fréquentes. Les acteurs de la menace peuvent exploiter les clés privées compromises et se faire passer pour des administrateurs, modifier le trafic crypté, lire le trafic crypté et accéder à des documents qui ne sont pas destinés à des personnes non autorisées. Si un attaquant accède aux systèmes distants d’une organisation, il peut modifier des données, les supprimer, les voler, mettre en œuvre des logiciels malveillants ou perturber le fonctionnement de systèmes critiques.

Conformité : L’une des raisons les plus importantes pour gérer correctement les clés est de se conformer aux normes et réglementations de sécurité. Les normes de conformité et de réglementation gouvernementales telles que PCI-DSS et FIPS exigent des organisations qu’elles gèrent correctement leurs clés SSH. Le National Institute of Standards and Technology (NIST) des États-Unis a publié des lignes directrices sur les meilleures façons de s’assurer que les clés SSH sont correctement gérées dans son document NIST IR 7966.

Conformité de la gestion des clés SSH

Pour être conforme aux normes telles que PCI-DSS, HIPPA et FIPS, il faut satisfaire à certaines exigences :

  • Les identités et les clés SSH doivent être correctement gérées pour assurer la protection des IIP et autres données sensibles
  • Les clés doivent être tournées lorsqu’elles sont utilisées pendant une longue période, et supprimées si elles ne sont plus actives
  • La politique du moindre privilège doit être suivie. Cela signifie que les utilisateurs ne devraient avoir accès qu’aux informations dont ils ont absolument besoin, et rien de plus. Cela empêche les attaquants qui volent des clés d’accéder à l’ensemble du système à distance
  • Les clés doivent être rapidement remplacées en cas de perte ou de compromission
  • La sécurité des zones contenant des informations de paiement ou des données IIP doit être particulièrement surveillée et séparée des autres parties du réseau
  • Bonnes pratiques pour la gestion des clés en sciences humaines

Le processus de gestion des clés SSH est très important à faire correctement. Vous devez assurer une couverture complète des clés de votre organisation et une couverture adéquate de toutes les vulnérabilités de sécurité. Vous trouverez ci-dessous une série de meilleures pratiques suggérées pour une gestion correcte des clés SSH.

Découverte et consolidation : La première étape du processus de gestion des clés SSH consiste à découvrir quelles sont les clés qui ont été distribuées dans votre organisation et combien il en existe. Les clés doivent être associées aux utilisateurs et aux serveurs auxquels elles correspondent, et elles doivent être continuellement vérifiées pour savoir depuis combien de temps elles ont été utilisées. Elles doivent être renouvelées si elles sont utilisées depuis longtemps. Si l’utilisateur authentifié par les clés ne fait plus partie de l’organisation, les clés doivent être supprimées pour éviter tout abus de la paire de clés. Les clés doivent également être regroupées dans un seul domaine au sein de l’organisation. Cela facilite la gestion des clés tout en réduisant la surface d’attaque des clés. La centralisation du stockage des clés permet d’éviter les clés individuelles et l’étalement des clés.
Création et mise en œuvre de politiques : L’étape suivante consiste à créer des politiques pour protéger les clés. Ces politiques doivent être définies :

  • Qui peut créer des clés
  • Comment créer et conserver des clés
  • Quelles sont les clés créées pour
  • Combien de temps les clés doivent exister avant la rotation
  • Ce qui justifie la suppression d’une clé
  • L’accès maximum qu’une clé doit avoir

Tant que ces politiques sont appliquées par l’organisation, les clés ne doivent pas être mal gérées et les vecteurs d’attaque des acteurs de la menace doivent être fortement réduits. Ces politiques sont au cœur de la gestion des clés des sciences humaines, aussi l’application de ces politiques devrait-elle être une priorité dans le plan de sécurité de toute organisation.

Identification et neutralisation des risques : Toutes les vulnérabilités de sécurité liées aux clés SSH doivent être identifiées et éliminées. Avec la centralisation des paires de clés SSH, l’identification des problèmes devient plus facile. Les techniciens de sécurité doivent rechercher les clés anciennes ou inutilisées, les options de stockage non sécurisées ou les clés compromises. Comme indiqué précédemment, les anciennes clés devraient être tournées et les clés inutilisées devraient être supprimées. Cette étape du processus permet de maintenir les systèmes à distance et d’assurer leur sécurité continue.
Rotation des clés : Les clés doivent être tournées régulièrement, une fois qu’elles ont été utilisées pendant un certain temps. Les deux clés de la paire de clés doivent être tournées avec les nouvelles clés. Cela réduit le risque qu’une clé soit compromise par le fait que les techniciens de sécurité ne protègent pas la clé car ils ne savent pas à quoi elle sert. Cela réduit également le risque d’étalement des clés. L’automatisation de ces étapes réduit considérablement le risque d’erreur humaine lorsqu’une clé est oubliée et n’est pas tournée.

Surveillance et audit continus : La dernière étape consiste à surveiller et à auditer en permanence les clés pour s’assurer qu’elles sont tournées et supprimées au moment opportun. Sans surveillance continue, les clés peuvent passer à travers les trous et être laissées après que l’utilisateur ait quitté l’organisation, ouvrant ainsi la société à des compromis de la part des acteurs de la menace. Grâce à une surveillance continue, le risque d’étalement des clés, de clés solitaires et de non-respect de la conformité est pris en charge. L’automatisation de cette étape du processus permettrait d’éviter les erreurs humaines.

Ecrire un commentaire