WP Umbrella Logo

SSH vs. SSL : connaître les principales différences

Medha Bhatt
-

Le chiffrement est une évidence lorsqu'on gère un site WordPress. Mais lorsqu'il s'agit de la terminologie associée, comme SSH et SSL, les choses se mélangent souvent.

SSH vs. SSL est une confusion qui provient du fait que ces deux protocoles ont des objectifs similaires : aider à chiffrer et à authentifier les données entre deux systèmes, comme votre ordinateur portable et le serveur de votre site web.

Cependant, ils ont des objectifs distincts et, dans ce blog, nous allons essayer de les décomposer pour vous.

TL;DR : SSH vs. SSL

  • SSH permet d'accéder à des serveurs distants et de les gérer en toute sécurité. SSL permet de crypter la communication entre un site web et ses visiteurs afin de protéger les données sensibles telles que les mots de passe et les détails des cartes.
  • SSH utilise un nom d'utilisateur/mot de passe ou des clés cryptographiques et fonctionne sur le port 22, tandis que SSL utilise des certificats numériques pour l'authentification côté serveur et fonctionne sur le port 443.
  • SSH permet d'exécuter des commandes à distance et de transférer des fichiers cryptés, et SSL permet de naviguer sur des sites web et d'effectuer des transactions.

Qu'est-ce que SSL ?

SSL (Secure Sockets Layer) est un protocole qui sécurise les données échangées entre votre navigateur et un site web. Vous avez probablement déjà vu une petite icône de cadenas dans la barre d'adresse de votre navigateur lorsque vous visitez un site sécurisé. C'est le SSL. Il vous indique que le site utilise le cryptage pour protéger vos données.

SSL a deux objectifs principaux : le cryptage des données et l'authentification.

  • Cryptage des données : Le protocole SSL crée un "tunnel" crypté entre votre navigateur et un serveur en ligne. Lorsque vous saisissez des informations sensibles telles que votre numéro de carte de crédit ou votre mot de passe, le protocole SSL brouille les données, de sorte que même si quelqu'un les intercepte, il ne verra que du charabia.
  • Authentification : Avant que la transaction ne commence, votre navigateur vérifie le certificat SSL du site web pour s'assurer de sa légitimité. Cela permet d'éviter que vos données soient envoyées à un faux serveur ou à un serveur malveillant.

Supposons que vous ayez une boutique en ligne sur WordPress. Lorsque les visiteurs passent à la caisse, ils ont besoin de savoir que leurs données de paiement sont en sécurité. En installant un certificat SSL, vous cryptez leurs données pendant la transaction. Cela renforce la confiance et empêche les attaques de type "Man-in-the-Middle". Sans SSL, vos visiteurs verront un avertissement "Non sécurisé", ce qui est un moyen infaillible de les effrayer.

Le saviez-vous ?

SSL est le prédécesseur de TLS (Transport Layer Security)? SSL 2.0 et SSL 3.0 sont désormais obsolètes et mis à niveau vers TLS 1.2 et 1.3.

Comment fonctionne le SSL ?

SSL/TLS est un modèle client-serveur. Pour qu'un client puisse se connecter à un serveur en toute sécurité, les deux parties passent par ce que l'on appelle la "poignée de main SSL". Prenons l'exemple d'une connexion navigateur-serveur pour voir comment fonctionne la poignée de main utilisant l'algorithme RSA.

Bonjour au client : le navigateur se connecte au port 443 et initie une poignée de main SSL avec le serveur. Il envoie un message "Client Hello" qui contient des informations telles que les versions SSL et les suites de chiffrement prises en charge par le client, ainsi qu'un nombre de 32 octets généré de manière aléatoire, appelé "Client Random".

Server Hello : Le serveur répond par un message "Server Hello". Il sélectionne une version SSL et une suite de chiffrement compatibles. Il génère son numéro aléatoire de 32 octets, ou Server Random, et le renvoie avec son certificat SSL, qui contient sa clé publique.

Authentification du serveur : Le navigateur vérifie ensuite le certificat SSL du serveur pour s'assurer de son authenticité. Il vérifie si le certificat est émis par une autorité de certification (AC) de confiance, sa date d'expiration et son statut. Le navigateur confirme la légitimité du serveur si le certificat passe ces vérifications. Dans le cas contraire, l'utilisateur est averti et la connexion est généralement interrompue.

Échange de clés avec le client : Le navigateur crée ensuite un secret pré-maître, un nombre aléatoire de 48 octets, le chiffre à l'aide de la clé publique du serveur et le renvoie. Comme seul le serveur possède la clé privée correspondant à sa clé publique, il peut déchiffrer le secret pré-maître.

Génération de la clé de session : À ce stade, le navigateur et le serveur utilisent le secret pré-maître, le hasard du client et le hasard du serveur pour calculer une clé de session partagée. Cette clé symétrique cryptera et décryptera toutes les données échangées au cours de la session et sera supprimée à la fin de la session.

Vérification de la clé de session : Le navigateur envoie un message "Finished" crypté avec la clé de session pour vérifier que la clé de session est correctement partagée. Si le serveur parvient à décrypter ce message, il renvoie son message crypté "Finished" au navigateur. Une fois les deux messages échangés et vérifiés, la poignée de main est terminée et la connexion est établie.

Avantages et inconvénients de SSL

Avantages

  • Largement supporté: Il s'agit d'un protocole standard pris en charge par la plupart des navigateurs et de nombreuses applications. C'est pourquoi il s'agit du choix le plus évident pour la communication sur le web.
  • Convivialité: sa mise en œuvre est simple, même pour les débutants.
  • Cryptage fort: Le cryptage rend extrêmement difficile l'interception ou le décryptage des données transmises par les pirates informatiques. 

Inconvénients

  • Risques liés aux autorités de certification : La sécurité SSL repose en grande partie sur la fiabilité des autorités de certification. Si une autorité de certification est compromise, des pirates peuvent émettre des certificats frauduleux qui semblent légitimes.
  • Il n'est pas universellement compatible: En 2023, 82,9 % des sites web disposaient d'un certificat SSL opérationnel. Toutefois, cette étude révèle également que 17,1 % d'entre eux pourraient encore présenter un risque pour la sécurité. Cet écart s'explique souvent par le fait que certains navigateurs et appareils plus anciens ne prennent pas en charge les nouvelles versions des protocoles SSL/TLS.
  • Coût des certificats: S'il existe des options SSL gratuites, les certificats SSL haut de gamme, qui sont souvent requis pour des niveaux de confiance plus élevés ou des secteurs d'activité spécifiques, peuvent être coûteux. Cela peut constituer un obstacle pour les petites entreprises ou les particuliers.

Soyez tranquille grâce à la surveillance automatisée du SSL

WP Umbrella vérifie votre certificat SSL toutes les 6 heures, détecte les problèmes de contenu mixte et envoie des alertes.

Commencer gratuitement

Qu'est-ce que SSH ?

SSH, ou Secure Shell, vous permet de vous connecter à un ordinateur distant et d'exécuter des commandes telles que la gestion du serveur de votre site web. Il crée un canal crypté entre votre système (le client) et le serveur pour une communication sécurisée.

Imaginons que vous souhaitiez installer un nouveau plugin WordPress tel que WP Umbrella sur votre ordinateur portable. Au lieu de naviguer dans le tableau de bord de votre site web, vous ouvrez un terminal et utilisez SSH pour vous connecter.

Voici ce qui se passe :

Établissement de la connexion: Vous tapez une commande : ssh username@yourserver.com. Cette commande indique à votre ordinateur d'établir une connexion. Le système vous demande de vous authentifier par mot de passe ou par clé SSH (votre identifiant numérique stocké).

Accès accordé: Une fois authentifié, vous êtes en sécurité dans le serveur distant. Tout ce que vous tapez interagit désormais directement avec lui.

Les développeurs WordPress utilisent souvent SSH pour exécuter WP-CLI (WordPress Command Line Interface) afin de gérer les installations WordPress directement à partir du terminal. Outre la gestion des serveurs, SSH est l'épine dorsale d'autres outils tels que SFTP (SSH File Transfer Protocol). Contrairement au FTP traditionnel, le SFTP utilise le tunnel SSH pour transférer les fichiers et réduit le risque d'interception des données.

Comment fonctionne SSH ?

La fondation client-serveur : SSH fonctionne sur la base d'un système client-serveur. Le client SSH est un logiciel installé sur votre ordinateur qui communique avec les hôtes distants, tandis que le serveur SSH s'exécute sur le système distant, à l'écoute des connexions via le port 22.

Processus de vérification du serveur : La première connexion déclenche une séquence de vérification. Votre client et le serveur négocient les méthodes de cryptage et vous vérifiez la clé publique du serveur. Cette clé est enregistrée dans votre fichier "known_hosts" pour référence ultérieure, ce qui automatise les vérifications ultérieures et garantit que vous vous connectez toujours au serveur légitime.

Création d'un canal sécurisé : Après vérification, les deux parties utilisent l' algorithme Diffie-Hellman pour générer une clé de session. Cela permet de créer un tunnel sécurisé et crypté pour toutes les communications, sans jamais transmettre la clé réelle sur le réseau.

Prouver son identité : L'authentification se fait soit par mot de passe, soit par clé SSH. Si les mots de passe sont efficaces, les clés SSH offrent une sécurité supérieure. Avec l'authentification par clé, votre client prouve son identité en répondant à un défi crypté lancé par le serveur. Seul un client possédant la bonne clé privée peut décrypter et répondre correctement.

Avantages et inconvénients de SSH

Avantages

  • Communication sécurisée: SSH est l'un des protocoles les plus sûrs pour l'accès à distance et les transferts de fichiers. Il garantit que les données sensibles restent à l'abri de l'écoute ou de l'interception.
  • Authentification forte: SSH rend l'accès non autorisé extrêmement difficile car il nécessite une authentification par mot de passe et une cryptographie à clé publique.
  • Polyvalent: SSH permet aux utilisateurs d'effectuer diverses tâches telles que la connexion à un serveur distant, le transfert de fichiers et même la création de tunnels pour d'autres services.
  • Prise en charge de la cryptographie à clé publique: Comme SSH utilise la cryptographie à clé publique, il améliore la sécurité de l'authentification et du cryptage pour un accès plus sûr aux systèmes distants.

Inconvénients

  • Configuration complexe: La configuration et l'utilisation de SSH peuvent être intimidantes pour les utilisateurs non techniques. Des tâches telles que la génération et la gestion des clés SSH ou la compréhension des commandes de terminal requièrent un certain niveau d'expertise technique.
  • Problèmes de performances: Le cryptage et le décryptage SSH peuvent avoir un impact sur les performances du système, en particulier lors du transfert de fichiers volumineux ou lorsque plusieurs utilisateurs accèdent à un serveur en même temps.
  • Compatibilité limitée avec les applications: Bien que SSH soit largement utilisé, toutes les applications ne le prennent pas en charge.  

SSH versus SSL : Quand utiliser quoi ?

SSH contre SSL

SSH et SSL sont deux protocoles différents mais essentiels pour les développeurs WordPress. Utilisez SSH pour gérer des serveurs distants et exécuter des commandes, et SSL pour crypter les données sensibles des visiteurs de votre site web.

Pour maintenir cette sécurité sur plusieurs sites WordPress, WP Umbrella peut être votre plugin de référence. Il fournit des alertes en temps réel sur Slack ou par email si votre certificat SSL devient inactif, scanne les vulnérabilités toutes les six heures, et surveille le temps de fonctionnement et les erreurs PHP.

Essayez la version d'essai gratuite de 14 jours (sans carte de crédit) pour voir comment WP Umbrella vous aide à garder une longueur d'avance sur les problèmes avant qu'ils n'affectent vos clients et à vous concentrer sur l'obtention de résultats, et non sur la résolution de problèmes.