GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce que SSH ?

Présentation

Lorsqu'ils accèdent à un ordinateur via un réseau, les administrateurs système ont besoin d'une connexion sécurisée pour se protéger des cyberattaques malveillantes, telles que le reniflage de mots de passe. Comme les grands réseaux présentent des failles de sécurité, des protocoles de chiffrement tels que TLS/SSL, IPsec, S/MIME, PGP et SSH sont nécessaires pour assurer la protection nécessaire.

Cet article donne un aperçu du protocole SSH :sa fonction, sa terminologie et ses cas d'utilisation.

Que signifie SSH ?

L'acronyme SSH signifie "Secure Shell". Le protocole SSH a été conçu comme une alternative sécurisée aux protocoles shell distants non sécurisés. Il utilise un paradigme client-serveur, dans lequel les clients et les serveurs communiquent via un canal sécurisé.

Le protocole SSH comporte trois couches :

  • La couche de transport . Garantit une communication sécurisée entre le serveur et le client, surveille le chiffrement/déchiffrement des données et protège l'intégrité de la connexion. Il effectue également la mise en cache et la compression des données.
  • La couche d'authentification . Effectue la procédure d'authentification du client.
  • La couche de connexion . Gère les canaux de communication après l'authentification.

Le canal créé par SSH utilise la cryptographie à clé publique pour authentifier le client. Une fois la connexion établie, SSH fournit un moyen crypté d'échanger des informations en toute sécurité, quelle que soit l'infrastructure réseau sous-jacente.

SSH a été conçu pour les systèmes d'exploitation de type Unix, tels que Linux, macOS et BSD. Cependant, cela fonctionne également sur Windows.

Un bref historique de SSH

SSH a été créé par Tatu Ylönen en 1995. Le protocole a été conçu pour empêcher le reniflage de mot de passe attentats à l'Université de technologie d'Helsinki. La première version du protocole, maintenant appelée SSH-1, a été conçue pour remplacer les protocoles non sécurisés tels que rsh, rlogin et Telnet. Il a commencé comme logiciel gratuit, mais est rapidement devenu un logiciel propriétaire.

Après que le SSH-1 d'Ylönen soit devenu un outil populaire dans le monde entier, l'Internet Engineering Task Force (IETF) a réuni un groupe dont le but était de développer un successeur au protocole. En 2006, SSH-2 est devenu une nouvelle norme, avec des améliorations de sécurité telles que l'échange de clés Diffie-Helman.

La communauté open source a développé OSSH, une version du protocole SSH basée sur la version 1.2.12 de SSH-1. Les développeurs OpenBSD ont ensuite créé OSSH pour créer OpenSSH, l'implémentation SSH la plus populaire au monde aujourd'hui. Depuis la version 7.6, OpenSSH ne prend en charge que SSH-2. La prise en charge de SSH-1 a été interrompue .

Terminologie SSH

Le tableau suivant contient certains termes que vous pouvez rencontrer lorsque vous travaillez avec SSH :

Terme Explication
~ ou $HOME Répertoire personnel d'un utilisateur sur un système Unix ou de type Unix.
Couche d'authentification La couche responsable de la conduite de l'authentification SSH.
Client Un programme client pour établir une connexion avec le serveur.
Machine cliente Un ordinateur exécutant un client SSH.
Couche de connexion La couche du protocole SSH qui gère les canaux de communication.
Ordinateur local Un ordinateur exécutant un client SSH sur le site.
Utilisateur local Un utilisateur accédant à SSH sur l'ordinateur local.
Clé privée Une partie de la paire de clés publique-privée pour l'authentification de l'utilisateur est gardée secrète sur la machine locale.
Clé publique Partie de la paire de clés publique-privée pour l'authentification de l'utilisateur copiée sur le serveur SSH pendant le processus d'authentification.
Ordinateur distant Un ordinateur exécutant un serveur SSH auquel les clients SSH se connectent.
Utilisateur distant Un utilisateur accédant à SSH sur un ordinateur distant.
Serveur Un programme serveur SSH pour communiquer avec les clients SSH.
Machine serveur Un ordinateur exécutant un serveur SSH.
PCS Secure Copy - un utilitaire CLI qui utilise SSH pour le transfert de fichiers sécurisé.
SFTP Secure File Transport Protocol - un protocole utilisant SSH pour sécuriser les transferts de fichiers réseau, à ne pas confondre avec FTPS, qui exploite TLS/SSL
Couche transport La couche du protocole SSH surplombant l'intégralité de la session SSH.

Utilisations de SSH

SSH est largement utilisé dans les centres de données pour fournir une gestion sécurisée, un accès à distance aux ressources, des correctifs logiciels et des mises à jour. Le protocole permet également la gestion du routeur protégé, la maintenance du matériel du serveur et l'administration de la plate-forme de virtualisation.

En raison de sa facilité d'utilisation, de sa robustesse et de ses nombreuses fonctionnalités, SSH peut être appliqué dans divers scénarios.

Ces scénarios incluent :

  • Connexion à un hôte distant.
  • Sauvegarde, copie et mise en miroir de fichiers à l'aide de SFTP
  • Mapper le port d'un client sur le port du serveur pour sécuriser TCP/IP et d'autres protocoles réseau.
  • Transfert du système X Window du serveur vers les clients.
  • Tunnelisation des données sensibles via un canal sécurisé.
  • Utilisation d'un réseau privé virtuel.

Les clés SSH sont souvent utilisées pour automatiser l'accès au serveur avec une connexion sans mot de passe, la gestion de la configuration et la sauvegarde.

Comment utiliser SSH ?

La connexion à un serveur SSH s'effectue à l'aide d'un client SSH. La plupart des systèmes d'exploitation basés sur Unix et de type Unix sont livrés avec le démon et le client préinstallés. Sur ces systèmes, le client SSH est disponible dans le terminal.

Pour se connecter à un hôte distant à l'aide du terminal, l'utilisateur émet la commande ssh suivie du nom d'utilisateur et de l'adresse du serveur ou du nom d'hôte :

ssh [username]@[server_ip_or_hostname]

Par exemple :

Windows 10 propose le client et le serveur OpenSSH à partir de la version 1709. Les versions antérieures de Windows n'incluaient pas SSH en tant que fonctionnalité, de sorte que des outils tels que PuTTY étaient utilisés pour établir une connexion SSH. PuTTY est un client SSH avec une interface graphique pour SSH et Telnet :

Certains autres clients SSH populaires pour Windows incluent :

  • Bitvis
  • WinSCP
  • Kitty
  • Solar-Mastic
  • SmartTY

Dans quelle mesure SSH est-il sécurisé ?

Lorsqu'il est utilisé avec les précautions de sécurité standard, le protocole SSH est considéré comme hautement sécurisé. Cependant, les facteurs humains jouent un rôle important dans le maintien de la sécurité des connexions SSH.

Les attaques par force brute sur les serveurs SSH sont un scénario courant. Les attaquants tentent de se connecter à un grand nombre de serveurs SSH en utilisant des noms d'utilisateur et des mots de passe communs. Lorsqu'ils accèdent à un serveur, ils utilisent l'élévation de privilèges pour accéder au compte root.

Les clés SSH sont recommandées comme méthode d'authentification plus sécurisée que les mots de passe. Cependant, une mauvaise gestion des clés SSH présente toujours un risque important pour les organisations dont les informations critiques dépendent de la confidentialité des clés.

Bien que les clés SSH offrent une meilleure protection, leur utilisation abusive peut permettre à des individus malveillants d'accéder à des informations privilégiées. Ces informations incluent les comptes et les ressources, telles que les bases de données, les routeurs, les systèmes de paiement, etc.

Ports SSH exposés sont une autre faiblesse de sécurité potentielle. Certains programmes malveillants attaquent les appareils IoT avec des ports exposés, les utilisant comme une porte dérobée vers le réseau local.

Enfin, un grand nombre de clients SSH sur le marché signifie que la sécurité du protocole dépend également de la sécurité des applications tierces.


Linux
  1. Qu'est-ce qu'un utilisateur Linux ?

  2. Ssh – Restreindre un utilisateur Ssh/scp/sftp à un répertoire ?

  3. Qu'est-ce que c'est ?

  4. Qu'est-ce que le protocole de transfert de fichiers (FTP)

  5. Qu'est-ce qu'un certificat SSL ?

Qu'est-ce que SFTP ?

Commande SSH

Renforcement de la configuration SSH

Serveur SSH

Qu'est-ce qui arrive dans GNOME 42 ?

Qu'est-ce que l'analphabétisme numérique ?