Enveloppe de protection
| Coquille sécurisée (SSH) | ||||||||
|---|---|---|---|---|---|---|---|---|
| Famille | l'Internet | |||||||
| Fonction | Gestion à distance sur un réseau | |||||||
| ports | 22 (standard) [ 1 ] | |||||||
| Emplacement dans la pile de protocoles | ||||||||
| ||||||||
| normes | ||||||||
| RFC 4250 , RFC 4251 , RFC 4252 , RFC 4253 , RFC 4254 , RFC 4255 , RFC 4256 , RFC 4335 , RFC 4344 , RFC 4345 , RFC 4419 , RFC 4432 , RFC 4462 , RFC 4716 , 9 | ||||||||
SSH (ou S ecure SH ell, en espagnol : interpréteur de commandes sécurisé) est le nom d'un protocole et du programme qui l'implémente dont la fonction principale est l'accès à distance à un serveur via un canal sécurisé dans lequel toutes les informations sont cryptées. En plus de vous connecter à d'autres appareils, SSH vous permet de copier des données en toute sécurité (à la fois des fichiers uniques et de simuler des sessions FTP cryptées ), de gérer des clés RSA afin de ne pas écrire de mots de passe lors de la connexion à des appareils et de transmettre des données de toute autre application via un canal sécurisé tunnellisé via SSH et peut également rediriger le trafic ( système X Window ) afin que vous puissiez exécuter des programmes graphiques à distance. Le port TCP attribué est le 22.
C'est un protocole qui facilite les communications sécurisées entre deux systèmes à l'aide d'une architecture client/serveur et permet aux utilisateurs de se connecter à distance à un hôte. Contrairement à d'autres protocoles de communication à distance tels que FTP ou Telnet, SSH crypte la session de connexion, ce qui empêche quiconque d'obtenir des mots de passe non cryptés. SSH est conçu pour remplacer les méthodes plus anciennes et moins sécurisées de connexion à distance à un autre système via le shell de commande, telles que telnet ou rsh. Un programme connexe, scp, remplace d'autres programmes conçus pour copier des fichiers entre hôtes, tels que rcp. Étant donné que ces anciennes applications ne chiffrent pas les mots de passe entre le client et le serveur.
Opération
Vous avez besoin de trois points essentiels : utilisateur, port et serveur. Le client SSH contactera le serveur pour initier la connexion. Ce serveur écoute via le port 22 ou tout ce qui lui a été attribué. Plus tard, le serveur enverra la clé publique et commencera à organiser les paramètres et ouvrira un canal sécurisé. Le client se connecte pour se connecter à ce serveur.
Sécurité
SSH fonctionne de la même manière que telnet . La principale différence est que SSH utilise des techniques de cryptage qui rendent illisibles les informations qui transitent par le support de communication, empêchant les tiers de découvrir le nom d'utilisateur et le mot de passe de la connexion ou ce qui est écrit pendant toute la session. ; bien qu'il soit possible d'attaquer ce type de système au moyen d' attaques REPLAY et ainsi de manipuler les informations entre destinations.
Le protocole SSH fournit les types de protection suivants :
- Après la connexion initiale, le client peut vérifier qu'il se connecte au même serveur auquel il s'est connecté précédemment.
- Le client transmet ses informations d'authentification au serveur en utilisant un cryptage fort de 128 bits.
- Toutes les données envoyées et reçues pendant la session sont transférées à l'aide d'un cryptage 128 bits, ce qui les rend extrêmement difficiles à déchiffrer et à lire.
- Le client a la possibilité de transférer des applications X11 depuis le serveur. Cette technique, appelée transfert X11, fournit un moyen sécurisé d'utiliser des applications graphiques sur un réseau.
Étant donné que le protocole SSH crypte tout ce que vous envoyez et recevez, il peut être utilisé pour sécuriser les protocoles non sécurisés. Le serveur SSH peut devenir un conduit pour sécuriser les protocoles non sécurisés en utilisant une technique appelée redirection de port.
Il existe différentes structures cryptographiques qui peuvent être appliquées lors de l'utilisation du protocole SSH dans ce cas. Il existe essentiellement trois alternatives :
- Symétrique
- asymétrique
- hachage
La cryptographie symétrique est réalisée au moyen d'une clé secrète, celle qui n'est partagée qu'entre le serveur et l'utilisateur. Son rôle est de chiffrer ou de déchiffrer le message qui est transféré dans ce processus, cependant, le Secure Shell ne propose de lire le contenu qu'en présentant cette clé.
La cryptographie asymétrique utilise deux clés, une pour le client et une pour le serveur, pour chiffrer les données transférées. Les clés sont dites publiques et privées, formant ainsi la combinaison nécessaire pour générer le SSH et son protocole de sécurité. Dans ce modèle, la clé publique est distribuée de manière ouverte et partagée. Cependant, à partir de là, il n'est pas possible de découvrir quelle est la clé privée. Cela se produit grâce à un processus qui fonctionne comme suit : les messages chiffrés par des clés publiques ne peuvent être déchiffrés que par la clé privée de la même machine.
Le hachage est une méthode de cryptographie unidirectionnelle utilisée dans SSH. Cette pratique consiste à créer un hachage, au moyen d'un algorithme, pour garantir que le message sera protégé sous une forme spécifique de cryptographie et de codes d'authentification.
Attaque la plus courante
L'attaque la plus courante est une attaque par force brute. Celle-ci fonctionne en essayant toutes les combinaisons possibles que l'utilisateur pourrait utiliser comme mot de passe, puis en la testant pour voir s'il s'agit du mot de passe correct. Pour voir si le mot de passe est correct ou non, vérifiez la réponse du serveur pour les erreurs. À mesure que la longueur du mot de passe augmente, le temps nécessaire pour trouver le mot de passe correct augmente également rapidement. Cela signifie que les mots de passe courts sont assez faciles à déchiffrer. Pour rendre cette attaque plus efficace, le support des dictionnaires est utilisé, ce sont des outils avec la liste des mots de passe possibles à utiliser contre le système cible jusqu'à ce qu'il obtienne le mot de passe correct pour l'utilisateur.
Historique
Au début, il n'y avait que des commandes r , basées sur le programme rlogin , qui fonctionne de manière similaire à telnet .
La première version du protocole et du programme étaient gratuits et ont été créés par un Finlandais nommé Tatu Ylönen , mais sa licence changeait et la société SSH Communications Security a fini par apparaître, qui l'offrait gratuitement pour un usage domestique et universitaire, mais exigeait le paiement de d'autres sociétés. . En 1997 (deux ans après la création de la première version), il a été proposé sous forme de projet à l' IETF .
Début 1999 , une version a commencé à être écrite qui allait devenir la quintessence de l'implémentation libre, celle d' OpenBSD , appelée OpenSSH .
Versions
Il existe 2 versions de SSH, la version 1 de SSH utilise de nombreux algorithmes de chiffrement propriétaires (cependant certains de ces brevets ont expiré) et est vulnérable à une faille de sécurité qui permet potentiellement à un attaquant d'insérer des données dans le flux de communication. La suite OpenSSH sous Red Hat Enterprise Linux utilise SSH version 2 par défaut, qui dispose d'un algorithme d'échange de clés amélioré qui n'est pas vulnérable à la faille de sécurité de la version 1. Cependant, la suite OpenSSH prend également en charge les connexions SSH à partir de la version 1.
Voir aussi
Références
Liens externes
- Site officiel OpenSSH (en anglais) .
- Site officiel SSH (en anglais) .