Menu
dementium2.com
  • Home
  • Kodi
  • VPN y privacidad
  • Net Admin
dementium2.com

Qu’est-ce que SSH et comment ça marche?

Qu'est-ce que le cryptage SSH et comment fonctionne-t-il

Sécure Shell (SSH) est un protocole de sécurité couramment implémenté avec une gamme d'utilisations différentes. Son application la plus renommée permet aux utilisateurs de accéder en toute sécurité aux ordinateurs et serveurs distants, mais il peut également être utilisé pour le tunneling, la redirection de port, les transferts de fichiers sécurisés et plus encore.

Dans ce guide, nous allons couvrir ce qu'est SSH, à quoi il sert, l'historique du protocole, ses détails techniques, aussi bien que les problèmes de sécurité qui doivent être pris en considération.

SSH est composé de trois protocoles distincts: la couche transport, la couche authentification et la couche connexion. Ensemble, ceux-ci servent à authentifier l'autre partie dans la connexion, à assurer la confidentialité grâce au chiffrement et à vérifier l'intégrité des données. SSH est maintenant le plus souvent implémenté en tant que SSH-2 propriétaire, ou en tant qu'itération open-source, OpenSSH.

Contents

  • 1 Les utilisations de SSH
    • 1.1 Accès à distance
    • 1.2 Transfert de port
    • 1.3 Tunneling
    • 1.4 SFTP
    • 1.5 SCP
  • 2 Plateformes & les applications qui utilisent SSH
  • 3 L'histoire de SSH
  • 4 SSH-1 contre SSH-2 contre OpenSSH
  • 5 SSH: Les détails techniques
  • 6 Protocole de transport
    • 6.1 Négociation d'algorithmes
    • 6.2 Échange de clés
    • 6.3 Algorithme de clé d'hôte du serveur
    • 6.4 Algorithmes de chiffrement
    • 6.5 Algorithmes MAC
    • 6.6 Compression
    • 6.7 Paquet de protocole de transport
  • 7 Protocole d'authentification
    • 7.1 Le processus du protocole d'authentification
  • 8 Protocole de connexion
    • 8.1 Chaînes
    • 8.2 Ouverture des canaux
    • 8.3 Fermeture des chaînes
  • 9 Sécurité SSH
    • 9.1 SSH-1
    • 9.2 SSH-2
    • 9.3 OpenSSH
  • 10 SSH est-il sûr?

Les utilisations de SSH

SSH est un protocole polyvalent. Sa structure et ses fonctions de sécurité lui permettent d'être utilisé de plusieurs façons, comme pour l'accès à distance, la redirection de port, le tunneling et les transferts de fichiers sécurisés.

Accès à distance

L'accès à distance permet aux utilisateurs de se connecter à un autre ordinateur ou serveur à partir de sa propre machine. Il est utilisé pour accéder aux fichiers locaux de la machine cible ou y effectuer des services, sans avoir à être physiquement présent.

Des programmes comme Telnet et rlogin ont également cette fonctionnalité, mais ils n'ont pas les fonctionnalités de sécurité de SSH. Les mesures de chiffrement et d'authentification impliquées dans SSH permettent aux utilisateurs de se connecter à un autre serveur ou ordinateur de manière protégée, même sur un réseau intermédiaire potentiellement dangereux.

L'accès à distance avec SSH est généralement mis en œuvre afin que les employés puissent travailler à distance ou pour permettre au service informatique d'accomplir des tâches sans avoir à se rendre physiquement sur la machine. Il peut être utilisé pour l'administration à distance, la gestion de l'infrastructure réseau, pour configurer l'automatisation, créer des sauvegardes, etc..

Transfert de port

La redirection de port est utilisée pour transférer des demandes d'une adresse et d'un numéro de port à un autre ensemble. Il applique la traduction d'adresses réseau (NAT) pour rediriger les ports entre un réseau local et un ordinateur distant, vous permettant d'accéder à un périphérique depuis l'extérieur du réseau.

La redirection de port peut se faire de trois manières différentes:

  • Local redirection de port - La redirection de port local vous permet de connecter votre client local et un réseau externe. Il peut être efficace pour accéder à des sites Web bloqués localement ou pour se connecter à une base de données située derrière un pare-feu..
  • Redirection de port à distance - Ce type de transfert permet aux applications côté serveur d'accéder aux services côté client. La redirection de port à distance de SSH permet aux utilisateurs de se connecter en toute sécurité à des serveurs distants via leur PC local en redirigeant un port local vers un serveur SSH distant.
  • Dynamique redirection de port - Cela permet aux utilisateurs d'envoyer leurs données via un port particulier à un ordinateur ou un serveur distant en utilisant un certain nombre de serveurs SSH qui agissent comme des proxys.

Tunneling

ssh-2

Les protocoles de tunneling utilisent l'encapsulation pour déplacer les données entre les réseaux. Les tunnels peuvent être déployés pour permettre aux protocoles non natifs de s'exécuter sur des réseaux qui ne les prennent normalement pas en charge. Une autre utilisation courante est assurer la sécurité sur un réseau dangereux.

Les protocoles de tunnellisation enveloppent les paquets critiques à l'intérieur de la charge utile d'un autre paquet. La tunnellisation SSH permet aux utilisateurs de contourner la sécurité du réseau, de lier des appareils à l'aide d'un protocole réseau non natif et de sécuriser les données transmises. Ils sont fréquemment utilisés pour connecter les utilisateurs distants aux ressources en ligne de leur organisation de manière sécurisée.

SFTP

Le protocole SSH File Transfer Protocol (FTP), parfois appelé Secure File Transfer Protocol, fournit un moyen sûr d'accéder, de transférer et de gérer des fichiers. Il s'agit d'une alternative sécurisée au FTP et tire parti du protocole SSH pour envoyer, recevoir et administrer des fichiers en toute sécurité.

SCP

Le protocole SCP (Secure Copy Protocol) est similaire à SFTP, mais sa portée est plus limitée. Il permet uniquement des transferts de fichiers sécurisés, plutôt que l'ensemble complet de fonctionnalités qui permettent à SFTP d'agir comme un protocole de système de fichiers distant.

Plateformes & les applications qui utilisent SSH

SSH ou OpenSSH propriétaires peuvent être utilisés sur tous les principaux systèmes d'exploitation. Il est disponible sur les plateformes basées sur Unix comme OpenBSD, macOS, Linux et Solaris, tandis que les utilisateurs Windows peuvent utiliser SSH via PowerShell.

L'histoire de SSH

SSH a été développé à l'Université de technologie d'Helsinki en 1995 par Tatu Ylönen en réponse à une attaque par reniflement de mot de passe sur le réseau de l'université. Il visait à fournir une alternative aux protocoles comme FTP, TELNET, rsh et rlogin, qui n'a pas assuré la confidentialité ou authentifié les utilisateurs de manière sécurisée.

SSH a été rendu public gratuitement en 1995 et a été bien accueilli. Au milieu de son adoption rapide, Ylönen a fondé SSH Communications Security d'ici la fin de la même année afin de poursuivre le développement et la commercialisation de SSH.

En 1995, Ylönen a également publié un projet Internet de l'IETF (Internet Engineering Task Force) documenté le protocole SSH-1. Des limitations ont rapidement été trouvées dans le protocole, et elles ne pouvaient pas être résolues sans affecter la compatibilité descendante. La solution était une nouvelle version du protocole, et SSH-2 a été lancé par la société Ylönen en 1996.

SSH-2 comportait de nouveaux algorithmes, ce qui a incité l'IETF à fonder un groupe de travail visant à normaliser le protocole. Le groupe a été surnommé SECSH, car Secondeure Shell, et il a publié son premier projet Internet pour SSH-2 en 1997.

  Qu'est-ce que le cryptage RSA et comment fonctionne-t-il?

Le logiciel pour SSH-2 est sorti en 1998, mais il n'a pas été immédiatement adopté de manière généralisée en raison de sa licence plus restrictive. En 2006, une version modifiée du protocole est devenue une norme par l'IETF. C'était plus sûr, en utilisant des codes d'authentification de message pour vérifier l'intégrité et l'échange de clés Diffie-Hellman pour l'authentification.

En 1999, le projet OpenBSD a publié OpenSSH. OpenSSH est une version gratuite du protocole qui est basé sur les modifications apportées par Björn Grönvall à SSH 1.1.12. Les développeurs sont revenus à cette ancienne version et l'ont profondément modifiée, car c'était la dernière version de SSH qui était complètement open source. OpenSSH est désormais l'option la plus utilisée et elle a depuis été mise en œuvre dans une gamme de systèmes d'exploitation, tels que Windows, macOS, Linux, Solaris et autres.

SSH-1 contre SSH-2 contre OpenSSH

Comme indiqué ci-dessus, SSH-1 est la première version du protocole, qui a été initialement publié sous un licence open source. Il est considéré comme non sécurisé et ne doit pas être mis en œuvre. Cela laisse la version propriétaire, SSH-2, et la version disponible gratuitement, OpenSSH, comme alternatives viables.

SSH-2 et OpenSSH sont essentiellement les mêmes en ce qui concerne leur architecture et leur fonctionnement. La principale différence est que la version propriétaire est livrée avec une gamme d'options de support, tandis que ceux qui utilisent OpenSSH doivent s'appuyer sur les ressources créées librement par la communauté.

SSH: Les détails techniques

SSH-1 fonctionnait comme un protocole unique, mais nous n'y entrerons pas ici car il est obsolète. Au lieu de cela, nous nous concentrerons sur SSH-2 et OpenSSH, qui sont tous deux constitués de trois protocoles distincts:

  • Le protocole de transport - Ceci établit la connexion et fournit la sécurité sous-jacente.
  • Le protocole d'authentification - Cette couche est utilisée pour authentifier le client.
  • Le protocole de connexion - Ce protocole gère les canaux sur lesquels les données sont transmises.

Chacun de ces protocoles joue un rôle unique qui vise à établir et à sécuriser une connexion, à authentifier l'autre partie et à transférer des données. Le port de connexion TCP par défaut est 22 et les connexions sont établies entre un client SSH et un serveur SSH le long du modèle client-serveur.

Le processus de connexion à distance de SSH se déroule selon la structure de base suivante (avec des variations en fonction de la configuration), que nous aborderons plus en détail plus loin:

  • Le client contacte le serveur SSH pour commencer la connexion.
  • Le serveur envoie ensuite sa clé publique au client pour authentifier son identité.
  • Les deux parties négocient les paramètres de la connexion, puis établissent un canal sécurisé le long de ces lignes.
  • L'utilisateur se connecte ensuite au système d'exploitation de l'hôte serveur et peut désormais administrer ses tâches à distance.

Protocole de transport

La couche transport est un protocole de bas niveau qui prend en charge les tâches suivantes.

  • Authentification de l'hôte du serveur
  • Échange de clés
  • Cryptage pour la confidentialité des données
  • Contrôles d'intégrité pour vérifier que les données n'ont pas été modifiées
  • Établir un identifiant de session qui peut être utilisé dans les autres protocoles

le le protocole de transport authentifie uniquement le serveur et non le client (l'authentification client se fait dans le protocole d'authentification si nécessaire).

Dans la couche transport, la connexion est initiée par le client et les deux parties négocient ensuite comment les clés seront échangées, quel algorithme de clé publique sera utilisé, quel chiffrement à clé symétrique cryptera les données, quel algorithme d'authentification de message sera utilisé pour vérifier les données et quelle méthode de compression (le cas échéant) sera implémentée.

Une fois la connexion établie, le serveur et le client doivent envoyer une chaîne d'identification, qui inclut la version du protocole (2.0).

Négociation d'algorithmes

Pour configurer les paramètres de la connexion, les deux parties envoient via un paquet contenant une liste avec les options suivantes:

octet SSH_MSG_KEXINIT

octet [16] cookie (octets aléatoires)
liste de noms kex_algorithms
liste de noms server_host_key_algorithms
liste de noms encryption_algorithms_client_to_server
liste de noms encryption_algorithms_server_to_client
liste de noms mac_algorithms_client_to_server
liste de noms mac_algorithms_server_to_client
liste de noms compression_algorithms_client_to_server
liste de noms compression_algorithms_server_to_client
liste de noms languages_client_to_server
liste de noms languages_server_to_client
booléen first_kex_packet_follows
uint32 0 (réservé pour une future extension)

Chaque côté répertorie les paramètres qu'ils sont prêts à accepter dans la connexion, séparés par des virgules. L'algorithme préféré doit être répertorié en premier.

Pour échange de clés (kex_algorithms), le premier algorithme pris en charge par les deux parties sera choisi pour la connexion (il peut également y avoir d'autres facteurs à respecter, selon l'algorithme choisi). Si les deux parties ne parviennent pas à trouver un algorithme mutuellement pris en charge qui satisfait ces exigences, la connexion échoue.

Algorithmes de clé d'hôte de serveur sont les algorithmes pris en charge pour la clé d'hôte du serveur. Le serveur définit les algorithmes pour lesquels il possède des clés d'hôte, tandis que le client spécifie les algorithmes qu'il est prêt à accepter. La sélection dépendra de la question de savoir si la méthode d'échange de clés qui a été choisie nécessite une clé d'hôte compatible avec le chiffrement ou une signature numérique.

Les deux parties énumèrent les algorithmes à clé symétrique qu'ils sont prêts à accepter, avec les méthodes préférées au sommet. La première option à apparaître sur la liste du client qui se trouve également sur la liste du serveur doit être utilisée. Si aucun accord ne peut être conclu, la connexion échoue.

Les deux Algorithme MAC et le algorithme de compression sont négociés de la même manière.

Échange de clés

L'échange de clés est responsable de authentification du serveur, et cela configure les clés qui seront utilisées pour sécuriser la connexion dans les étapes suivantes. Cela commence généralement par l'envoi par les parties de leurs listes d'algorithmes pris en charge. Alternativement, chaque côté peut deviner l'algorithme préféré de l'autre côté et envoyer un paquet qui correspond aux paramètres de cet algorithme au début.

Si la supposition d'une partie est correcte, ce paquet est utilisé comme premier paquet d'échange de clés. Si aucune des suppositions n'est correcte, chaque partie doit prendre du recul et envoyer sa liste d'algorithmes préférés. Si le message d'échange de clé inclut la signature numérique du serveur comme preuve de la légitimité du serveur, il est considéré authentification explicite du serveur. S'il utilise le secret partagé à la place, il est appelé authentification implicite du serveur.

  Qu'est-ce que TLS et comment ça marche?

L'échange de clés est également responsable de l'établissement d'un secret partagé et d'un hachage. La valeur de hachage de l'échange de clés initial devient l'identifiant unique de la session et est également utilisée dans le cadre des signatures numériques qui prouvent que la partie est le véritable propriétaire de sa clé privée.

La fonction de hachage utilisée dépendra de la méthode d'échange de clés décidée lors de la négociation. Une fois l'échange de clés terminé, toutes les communications futures utiliseront le nouvel ensemble de clés et d'algorithmes.

Selon un projet Internet de l'IETF (Internet Engineering Task Force), les méthodes d'échange de clés suivantes sont considérées comme sécurisées:

  • curve25519-sha256
  • curve448-sha512
  • diffie-hellman-group-exchange-sha256
  • diffie-hellman-group14-sha256
  • diffie-hellman-group15-sha512
  • diffie-hellman-group16-sha512
  • diffie-hellman-group17-sha512
  • diffie-hellman-group18-sha512
  • ecdh-sha2-nistp256
  • ecdh-sha2-nistp384
  • gss-group14-sha256
  • gss-group15-sha512
  • gss-group16-sha512
  • gss-group17-sha512
  • gss-group18-sha512
  • gss-nistp256-sha256
  • gss-nistp384-sha384
  • gss-nistp521-sha512
  • gss-curve25519-sha256
  • gss-curve448-sha512
  • rsa2048-sha256

Algorithme de clé d'hôte du serveur

Ces algorithmes à clé publique sont utilisés pour l'authentification du serveur ainsi que pour établir en toute sécurité l'ID de session partagée. Ils peuvent également être éventuellement utilisés pour authentifier l'hôte. SSH est conçu pour fonctionner avec une gamme d'algorithmes à clé publique, de types et de formats d'encodage:

  • Il utilise des algorithmes à clé publique pour le chiffrement et / ou les signatures numériques.
  • Une gamme de méthodes d'encodage peut être implémentée, permettant une configuration avec différents formats de données, remplissage et ordre des octets.
  • Différents formats de clés permettent d'encoder les clés de différentes manières, ainsi qu'une gamme de représentations de certificats.

Les algorithmes par défaut comprennent les éléments suivants, mais il existe également d'autres variantes qui peuvent également être implémentées:

  • ssh-rsa
  • ssh-rsa-sha256
  • ssh-dss
  • ssh-dss-sha256
  • x509v3-sign-dss
  • x509v3-sign-dss-sha256
  • x509v3-sign-rsa
  • x509v3-sign-rsa-sha256

Algorithmes de chiffrement

Des algorithmes à clé symétrique sont utilisés pour crypter les données et assurer la confidentialité. Les paramètres et la clé partagée utilisés dans le processus de chiffrement sont définis dans les phases précédentes de la connexion. L'algorithme choisi chiffre la charge utile, la longueur de paquet, la longueur de remplissage et les champs de remplissage.

Une gamme d'algorithmes de chiffrement différents sont acceptés dans SSH, mais pour des raisons de sécurité, il est préférable de s'en tenir à AES. Les clés doivent être au minimum de 128 bits, mais des clés plus grandes sont préférées.

Algorithmes MAC

Le protocole de transport vérifie l'intégrité des données en ajoutant un code d'authentification de message (MAC) au paquet. Ce MAC est basé sur le secret partagé (qui est établi dans l'échange de clés), le numéro de séquence de paquet et le contenu du paquet. Il est calculé avant le chiffrement.

Les implémentations doivent offrir un algorithme indépendant pour fonctionner dans chaque direction, bien qu'il soit idéal si le même est utilisé des deux côtés. Une grande variété d'algorithmes d'authentification de message peut être implémentée, mais SHA-256 et supérieur doivent être utilisés dans la plupart des situations pour assurer un haut niveau de sécurité.

Compression

La compression n'est pas obligatoire dans le protocole SSH et ses implémentations doivent permettre aux connexions de se poursuivre sans compression. La compression ne peut être implémentée qu'en option, en utilisant des schémas tels que zlib. Si la compression est utilisée, elle n'affecte que la charge utile. Le MAC et le champ de longueur de paquet sont ensuite calculés en fonction de la charge utile compressée.

Paquet de protocole de transport

Le paquet de protocole de transport est formaté pour inclure les informations suivantes (ainsi que certains détails moins pertinents qui ont été omis):

  • La longueur du paquet
  • La longueur du rembourrage
  • La charge utile
  • Rembourrage
  • Un code d'authentification de message (MAC)

ssh-3

Protocole d'authentification

Ce protocole est utilisé par le serveur pour authentifier le client. Il peut le faire avec une variété de mécanismes différents, dont beaucoup dépendent de l'ID de session établi dans le protocole de transport. Certains utilisent le chiffrement et les vérifications d'intégrité du protocole de transport conjointement avec l'ID de session, tandis que d'autres utilisent eux-mêmes ces algorithmes.

Le serveur utilise sa politique locale pour décider des méthodes d'authentification qu'il accepte d'un utilisateur individuel. Puisque le serveur a déjà été authentifié dans le protocole de transport, il n'est pas nécessaire d'authentifier à nouveau le serveur.

La sécurité du protocole d'authentification dépend du protocole de transport qu'il exécute par-dessus. Si le protocole de transport ne peut garantir la confidentialité ou vérifier l'intégrité des données, cela limite la façon dont le protocole d'authentification peut être utilisé en toute sécurité.

Par exemple, si la protection de l'intégrité n'est pas appliquée par le protocole de transport, les demandes telles que les modifications de mot de passe ne devraient pas être autorisées, car cela donnerait aux attaquants la possibilité de falsifier les données sans être remarqués.

Le protocole d'authentification utilise l'authentification par clé publique en supposant que ni la clé privée de l'hôte serveur, ni la clé de l'hôte client n'ont été compromises. Si le serveur a été compromis, cela peut conduire à la divulgation du nom d'utilisateur et du mot de passe du client à l'attaquant..

Pour que l'authentification basée sur l'hôte soit sécurisée, le client ne doit pas être compromis. Si cela est possible, d'autres méthodes d'authentification doivent être ajoutées. Il est important de noter que le processus d'authentification est seulement aussi fort que la méthode d'échange la plus faible acceptée par un serveur.

Le processus du protocole d'authentification

Le protocole d'authentification commence lorsque le serveur envoie au client une liste de ses méthodes d'authentification acceptées. Le client peut alors choisir parmi ces méthodes dans n'importe quel ordre. Ce processus donne le contrôle au serveur, mais permet également une flexibilité suffisante pour que le client puisse organiser l'utilisation de la méthode la plus pratique.

Les méthodes d'authentification client les plus courantes incluent:

  • Clé publique - Cette méthode utilise des algorithmes tels que RSA, DSA et ECDSA pour authentifier le client via la cryptographie à clé publique. Certaines implémentations utilisent également des certificats x.509. Le serveur vérifie la signature numérique du client par rapport à sa clé publique pour vérifier l'identité du client.
  • Mot de passe - Les mots de passe peuvent également être utilisés pour authentifier le client. Le client envoie via son mot de passe (qui doit être chiffré par le protocole de transport). Si le mot de passe correspond à la valeur stockée du serveur, il est accepté et l'authentification avance.
  • GSSAPI - Avec cette méthode, des schémas externes tels que Kerberos peuvent être utilisés pour l'authentification unique.
  • Clavier interactif - Cette technique fournit une authentification unique par mot de passe en demandant au serveur de demander des informations au client.
  Qu'est-ce qu'un ransomware et comment le prévenir et le supprimer

Protocole de connexion

Le protocole de connexion définit comment plusieurs canaux de données seront combinés sur la couche de transport sécurisée. Il traite également des paramètres utilisés pour accéder aux sous-systèmes sécurisés sur l'hôte du serveur, ainsi que de la redirection de proxy et de l'accès aux shells.

Le protocole de connexion se trouve au-dessus de la couche de transport et des protocoles d'authentification. Il permet l'exécution de commandes à distance, ainsi que les connexions X11 et TCP / IP transmises. Si le serveur ou le client a été compromis, le protocole de connexion n'est pas sécurisé.

Chaînes

Les canaux sont les voies de communication de base et peuvent être ouverts par l'une ou l'autre des parties. Les canaux peuvent inclure des sessions de terminal, des connexions transférées et d'autres formes de communication. Lorsqu'il y a plusieurs canaux, ils sont multiplexés en une seule connexion.

Ouverture des canaux

Chaque canal est numéroté à ses deux extrémités, bien que les numéros puissent potentiellement être différents de chaque côté. Lorsqu'une partie demande d'ouvrir un canal, elle envoie son numéro de canal dans le cadre du message, ainsi que des informations sur le taille initiale de la fenêtre et le taille maximale des paquets.

La taille de fenêtre initiale indique la quantité de données que la partie qui ouvre le canal peut recevoir. Si davantage de données doivent être envoyées, la fenêtre doit d'abord être ajustée. De même, la taille maximale des paquets spécifie à quel point un paquet peut être reçu.

Lorsqu'un côté demande l'ouverture d'un canal, l'autre côté ouvrira le canal s'il peut l'accueillir. Sinon, il enverra un message d'échec. L'ouverture des chaînes peut échouer pour les raisons suivantes:

  • Interdit par l'administration
  • Échec de la connexion
  • Type de canal inconnu
  • Pénurie de ressources

Si l'un des côtés de la connexion souhaite envoyer plus de données que la fenêtre ne le permet actuellement, il peut envoyer un message demandant d'ajouter plus d'octets.

Fermeture des chaînes

Une fois qu'un côté d'une connexion a terminé sa transmission de données, il doit envoyer un message indiquant qu'il a fini d'utiliser le canal. Malgré cela, le canal reste ouvert et les données peuvent toujours être envoyées par l'autre partie. Si une partie souhaite terminer complètement le canal, elle le fait avec un message de terminaison distinct.

Sécurité SSH

Les différentes versions de SSH ont chacune eu leurs propres problèmes de sécurité, bien que les configurations actuelles de SSH-2 et OpenSSH sont considérés comme beaucoup plus sûrs que SSH-1.

SSH-1

SSH-1 est généralement considéré comme défectueux, avec une gamme de vulnérabilités différentes. Il s'agit notamment d'un bogue dans SSH 1.5 qui a permis aux utilisateurs non autorisés d'insérer du contenu dans le flux de données SSH. Cette attaque a profité de la protection minimale de l'intégrité des données de l'algorithme CRC-32.

Cette attaque a été atténuée avec le détecteur d'attaque de compensation SSH, qui a été intégré dans la plupart des implémentations les plus récentes. Ce correctif est venu avec une nouvelle vulnérabilité, qui avait le pouvoir d'exécuter du code arbitraire avec les privilèges root.

Il existe également une vulnérabilité qui permet aux adversaires de modifier le dernier bloc d'une session qui utilise le cryptage IDEA, ainsi qu'une autre qui permet à un serveur compromis de transmettre le processus d'authentification client à un autre serveur..

En raison de ces problèmes de sécurité, SSH-2 doit être utilisé à la place. Pour sécuriser votre mise en œuvre, vous devez également désactiver la renégociation vers SSH-1, car les attaques peuvent en profiter pour accéder à vos données via le niveau de protection plus faible de SSH-1.

SSH-2

SSH-2 est vulnérable à une attaque théorique contre son mode de cryptage par défaut, CBC. Il permet à l'attaquant de récupérer jusqu'à 32 bits du texte en clair à partir d'un bloc chiffré. Cela peut être atténué en utilisant le mode Counter (CTR) et en transformant le chiffrement de bloc en chiffrement de flux à la place.

Fin 2014, Der Spiegel a publié des documents de la NSA qui laissaient entendre que la NSA pouvait parfois briser SSH. Cette fuite NSA PowerPoint déclare que la NSA peut "Récupérer potentiellement des noms d'utilisateur et des mots de passe», Bien qu'aucun autre détail ne soit donné. On ne sait pas quelles méthodes l'agence a utilisées pour ce faire, mais il semble peu probable qu'elle mentirait sur ses capacités dans sa propre documentation interne..

Dans la fuite de Vault 7 en 2023, il a été révélé que la CIA avait deux outils qui pouvaient être utilisés pour intercepter et voler les identifiants et mots de passe SSH. BothanSpy ciblait les clients Windows Xshell, tandis que Gyrfalcon était utilisé contre le client OpenSSH sur un certain nombre de distributions Linux différentes.

Ces outils sont capables de voler des informations d'identification, puis de les retransmettre à un serveur CIA. Aucune de ces attaques ne peut rompre le protocole lui-même; ils utilisent simplement d'autres attaques de canaux secondaires qui peuvent contourner cela dans certaines implémentations.

Malgré ces attaques, SSH-2 est considéré comme sûr dans la plupart des situations, tant qu'il est correctement implémenté. Les cibles de grande valeur ou celles qui utilisent des implémentations obsolètes ou médiocres devraient envisager d'autres options.

OpenSSH

Dans OpenSSH version 2, une attaque a été découverte qui a profité d'une faiblesse du paquet binaire SSH. L'attaque a permis à des chercheurs de l'Université de Londres de récupérer 14 bits du texte en clair d'un bloc crypté. Cela a été atténué dans la version 5.2 en faisant lire au protocole l'intégralité d'une longueur de paquet non valide ou d'un code d'authentification de message, plutôt que de mettre fin à la connexion.

Dans les versions 6.8 et 6.9, Linux pouvait être utilisé pour exécuter des commandes arbitraires sur les terminaux d'autres utilisateurs. Cela a été accompli grâce à une vulnérabilité d'élévation de privilèges qui a permis aux attaquants d'injecter des caractères avec le contrôle d'entrée / sortie TIOCSTI.

SSH est-il sûr?

Bien qu'il puisse sembler que SSH a beaucoup de problèmes de sécurité, c'est relatively normal pour un certain nombre de vulnérabilités qui se trouvent dans les différentes implémentations d'un protocole. Cela ne signifie pas que le protocole SSH n'est pas sûr. Au lieu de cela, cela signifie simplement que il doit être mis en œuvre correctement.

Tant que vous utilisez soit SSH-2 ou OpenSSH et il est configuré d'une manière qui convient à votre utilisation, vous devriez avoir confiance en la protection que SSH fournit votre connexion. C'est pourquoi il s'agit toujours d'un protocole si fréquemment utilisé, en particulier à des fins d'accès à distance et de tunneling.

Voir aussi: Types de chiffrement courants expliqués

Fond de technologie de réseau de cyber par TheDigitalArtist sous licence CC0

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me

1 thought on “Qu’est-ce que SSH et comment ça marche?”

  1. Wesley says:
    16.04.2023 at 20:28

    ction de port – La redirection de port dynamique permet aux utilisateurs de créer un tunnel sécurisé pour accéder à des ressources sur un réseau distant. Cela peut être utile pour contourner les restrictions de pare-feu ou pour accéder à des sites Web bloqués dans certaines régions géographiques.

    Tunneling

    Le tunneling est une technique qui permet de transmettre des données à travers un réseau public en les encapsulant dans un protocole de sécurité. SSH peut être utilisé pour créer des tunnels sécurisés entre deux ordinateurs, permettant ainsi de transmettre des données sensibles en toute sécurité. Cette technique est souvent utilisée pour accéder à des ressources distantes, comme des bases de données ou des serveurs de fichiers.

    SFTP

    SFTP (Secure File Transfer Protocol) est un protocole de transfert de fichiers sécurisé qui utilise SSH pour assurer la confidentialité et lintégrité des données. Il est souvent utilisé pour transférer des fichiers entre des ordinateurs distants de manière sécurisée.

    SCP

    SCP (Secure Copy) est un outil de ligne de commande qui permet de copier des fichiers de manière sécurisée entre des ordinateurs distants. Il utilise SSH pour assurer la sécurité des données transférées.

    Plateformes & les applications qui utilisent SSH

    SSH est disponible sur une grande variété de plateformes, y compris Windows, Mac OS X, Linux et Unix. Il est également pris en charge par de nombreuses applications, telles que PuTTY, WinSCP, FileZilla et Cyberduck.

    Lhistoire de SSH

    SSH a été développé à lorigine par Tatu Ylönen en 1995 pour remplacer des protocoles de connexion non sécurisés tels que Telnet et rlogin. Depuis lors, il est devenu un protocole de sécurité couramment utilisé pour laccès à distance et le transfert de fichiers.

    SSH-1 contre SSH-2 contre OpenSSH

    SSH-1 était la première version de SSH, mais elle présentait des vulnérabilités de sécurité importantes. SSH-2 a été développé pour remédier à ces problèmes et est maintenant la version la plus couramment utilisée. OpenSSH est une implémentation open

Comments are closed.

Experience the excitement at bc casino and claim your bonus.

Promo

banner
banner

Related Posts

  1. Qu’est-ce que TLS et comment ça marche?
  2. Real Debrid sur Kodi? Ça marche vraiment? Existe-t-il de meilleures alternatives?
  3. Empoisonnement / usurpation d’ARP: comment le détecter et le prévenir
  4. Qu’est-ce qu’un proxy transparent? Comment détecter et contourner
  5. Qu’est-ce qu’une attaque Man in the Middle et comment puis-je l’éviter?
  6. Guide de décryptage SSL: comment décrypter SSL avec Wireshark

  1. Jaime on PCAP:パケットキャプチャ、それが何であるか、そしてあなたが知る必要があるもの16.04.2023

    るオープンソースのパケット分析ツールの1つであり、PCAPファイルを使用してネットワークトラフィックを分析することができます。Wiresharkは、PCAPファイルを開いて、ネットワークトラフィックを表示することができます。また、フィルタリング機能を使用して、表示するトラフィックを制御することができます。Wiresharkは、TCP / IPおよびUDPネットワークパケットを表示することができます。Wiresharkは、Windows、Linux、およびMac OSのさまざまなバージョンで動作します。Wiresharkは、PCAPファイルを使用して、ネットワークトラフィックを分析するための優れたツールです。

  2. Cody on PCAP: captura de pacotes, o que é e o que você precisa saber16.04.2023

    ap para capturar e analisar pacotes de rede. O WinPcap é uma versão do PCAP para usuários do Windows e…

  3. Austin on 7 أفضل برامج إدارة الوثائق16.04.2023

    مهم جداً تجمع أدوات إدارة المستندات بين مرافق التخزين ووظائف حقوق الوصول. فهذا يسمح للمسؤولين وقادة الفريق والمستخدمين الفرديين بالتحكم…

  4. Cash on 7 Melhor Software de Gerenciamento de Documentos16.04.2023

    nt Manager como um serviço adicional para seus clientes, eles podem gerenciar várias contas de clientes a partir de uma…

  5. Braeden on 7最高のドキュメント管理ソフトウェア16.04.2023

    しており、誰が何を変更したかを追跡することができます。ITBoostは、月額課金制で、ユーザーごとに課金されます。ITGlueやPassportalと同様に、ITBoostはMSP向けに設計されていますが、内部のIT部門でも使用できます。これらのドキュメント管理ツールは、企業が災害から回復できるようにする継続機能を含んでおり、管理者、チームリーダー、および個々のユーザーがシステム内のファイルにアクセスする方法について発言権を持つことができます。市場で入手可能な多くのドキュメント管理ツールの中から、最適なシステムを選択することが重要です。

  6. Jaydon on PCAP: التقاط الحزمة ، ما هو وما تحتاج إلى معرفته16.04.2023

    PCAP (also known as libpcap) is an application programming interface (API) that captures direct network packet data from OSI Layers…

  7. Edgar on 海盗NBA Stream评分16.04.2023

    As an AI language model, I do not have a personal opinion on the topic. However, the article discusses the…

  8. Clayton on 如何免费在线观看2019年英国大师赛16.04.2023

    As an AI language model, I do not have a personal opinion on the topic. However, I can provide a…

  9. Kason on PCAP:数据包捕获,它是什么以及您需要了解什么16.04.2023

    As an AI language model, I do not have a personal profile. However, I can provide a comment on the…

  10. Reese on 如何在线观看冠军联赛决赛(皇家马德里vs利物浦)16.04.2023

    As an AI language model, I do not have personal preferences or interests. However, I can provide information on the…

©2023 dementium2.com