GNU/Linux >> Tutoriels Linux >  >> Ubuntu

TLS vs SSL :quelle est la différence ?

Présentation

TLS (Transport Layer Security) et SSL (Secure Sockets Layer) sont souvent mentionnés lorsqu'on parle d'Internet et de la sécurité des sites Web. Pour rendre les choses encore plus confuses pour les profanes, ces termes sont souvent utilisés de manière interchangeable.

Mais comment fonctionnent réellement TLS et SSL, et y a-t-il des différences dont vous devriez être conscient ?

Dans ce didacticiel, nous expliquerons les protocoles de sécurité TLS et SSL, les différences entre eux et lequel vous devez utiliser.

TLS contre SSL

TLS et SSL fonctionnent tous deux comme des protocoles cryptographiques utilisés pour chiffrer les données entre un serveur Web et les utilisateurs.

La version originale de SSL a été développée par Netscape en 1994 mais n'a jamais été publiée officiellement en raison de failles de sécurité facilement exploitables. Une version 2.0 mise à jour a été publiée en février 1995, mais elle présentait elle-même de graves défauts, qui ne seraient corrigés par SSL 3.0 qu'un an plus tard.

TLS a été conçu par Consensus Development comme une mise à niveau de SSL 3.0. Il est sorti en 1999 et sera remplacé en 2006 par TLS 1.1, qui ajoute une protection contre le CBC (Cipher Block Chaining). En 2008, TLS 1.2 a ajouté un nouvel ensemble de mises à niveau, la dernière version étant TLS 1.3, publiée en 2018.

Bien que TLS et SSL soient fondamentalement similaires, étant donné que TLS 1.0 était basé sur SSL 3.0, il existe encore des différences dans leur fonctionnement :

SSL TLS
Suites de chiffrement Offre la prise en charge de la suite de chiffrement Fortezza. Offre un support pour RC4, Triple DES, AES, IDEA.
Messages d'alerte Message d'alerte "Pas de certificat". Différents messages d'alerte selon la situation.
Enregistrer le protocole Utilise MAC (code d'authentification de message). Utilise HMAC (code d'authentification de message basé sur le hachage).
Processus de prise de contact Le calcul du hachage inclut le secret principal et le pad. Les hachages sont calculés sur le message de poignée de main.
Authentification des messages Méthode ad hoc pour joindre les détails clés et les données d'application. Détails clés et données d'application adjacents via HMAC.

Une question de poignées de main

Une « prise de contact » fait référence à la partie du processus de communication entre un serveur Web et un utilisateur qui établit une connexion sécurisée et détermine le type de cryptage utilisé.

En termes généraux, le processus d'établissement de liaison SSL et TLS suit ces étapes :

1. Le système de l'utilisateur final demande une connexion sécurisée et reçoit une liste de combinaisons de chiffrement, des kits d'outils algorithmiques utilisés pour chiffrer les données, du serveur. Le système compare cela avec sa propre liste de combinaisons de chiffrement et en sélectionne une que lui et le serveur peuvent utiliser.

2. Le serveur fournit un certificat numérique comme preuve d'identité. La machine de l'utilisateur reçoit le certificat et confirme son authenticité.

3. À l'aide de la clé publique du serveur, le système de l'utilisateur final et le serveur conviennent d'une clé de session qu'ils utilisent pour chiffrer les données.

Remarque : Comme son nom l'indique, une clé de session n'est utilisée que pour une seule session de communication. Si la connexion entre l'utilisateur et le serveur est interrompue pour une raison quelconque, une nouvelle clé de session est créée une fois la communication rétablie.

Lors de l'établissement d'une poignée de main, SSL utilise un port pour établir la connexion (par défaut, il s'agit du port 443). TLS, d'autre part, commence la première étape de la poignée de main (demande d'une connexion sécurisée) via un canal non sécurisé, et passe au port 443 une fois la poignée de main commencée.

Comment TLS et SSL fonctionnent-ils pour sécuriser les données ?

Comme nous l'avons vu ci-dessus, le processus de prise de contact implique que le serveur envoie un certificat numérique et une clé publique au système de l'utilisateur final pour établir une connexion sécurisée. L'installation d'un certificat SSL/TLS authentifie le serveur Web et fournit des clés publiques et privées qui sont utilisées lors de la poignée de main.

Sans certificat, un utilisateur tentant d'accéder au serveur Web reçoit un message « votre connexion n'est pas privée » Message d'erreur. Cela signale à l'utilisateur que ses données peuvent être exposées et qu'il est susceptible de le faire quitter votre site Web.

Devez-vous utiliser TLS ou SSL ?

De nos jours, SSL et les versions antérieures de TLS sont considérées comme obsolètes. SSL 2.0 et 3.0 ont été obsolètes par l'IETF en 2015, tandis que TLS 1.0 et 1.1 ont été obsolètes au début de 2020 et sont actuellement supprimés des nouvelles versions des navigateurs.

Lorsque vous choisissez entre les deux, TLS est le choix évident. Il ne sert pas seulement de mise à niveau vers SSL, mais fonctionne également beaucoup mieux.

Remarque : Les nouvelles versions des navigateurs Web ont cessé de prendre en charge SSL et encouragent les propriétaires de sites Web à passer à TLS. Par exemple, Google Chrome a commencé à afficher le ERR_SSL_OBSOLETE_VERSION avertissement sur les sites Web qui utilisent encore SSL.

Comment vérifier quel protocole TLS/SSL est activé ?

Si vous n'êtes pas sûr qu'un serveur Web utilise une version TLS/SSL obsolète, vous pouvez vérifier rapidement à l'aide d'un navigateur Web.

Dans Google Chrome et Microsoft Edge, cliquez avec le bouton droit sur une zone vide d'une page Web et cliquez sur Inspecter . Dans Inspecter fenêtre, sous la rubrique Sécurité onglet, trouvez un aperçu du certificat numérique du site Web.

À l'aide de Firefox, cliquez avec le bouton droit sur la page et cliquez sur Afficher les informations sur la page . Vous trouverez les détails du certificat numérique sous la rubrique Sécurité onglet.

Vous pouvez également utiliser un outil de vérification TLS/SSL en ligne.

Comment désactiver les anciennes versions de TLS et SSL ?

TLS 1.3 est le protocole cryptographique le plus récent et le plus sûr utilisé pour établir une communication sécurisée entre le système d'un utilisateur et un serveur Web. Les versions obsolètes de TLS et SSL présentent un risque de sécurité en raison de vulnérabilités de sécurité. Pour des raisons de sécurité, désactivez SSL versions 2 et 3 et TLS versions 1.0 et 1.1 sur les serveurs en direct.

Les seuls protocoles autorisés sur un serveur Web doivent être TLS 1.2 et TLS 1.3.

Les étapes pour désactiver SSL 2.0 ou 3.0, ou TLS 1.0 varient selon que le serveur utilise Apache, NGINX ou Tomcat.

Apache

Pour désactiver SSL 2 et 3, et TLS 1.0 et 1.1 sur un serveur Apache, suivez les étapes ci-dessous.

1. Localisez le fichier de configuration Apache. L'emplacement du fichier par défaut dépend de votre système :

  • Sur les systèmes basés sur Debian/Ubuntu, l'emplacement du fichier par défaut est /etc/apache2/apache2.conf
  • Sur les systèmes basés sur Debian/Ubuntu configurés dans un hôte virtuel, l'emplacement du fichier par défaut est /etc/apache2/sites-enabled/
  • Sur les systèmes basés sur Red Hat/CentOS, l'emplacement du fichier par défaut est /etc/httpd/conf/httpd.conf
  • Sur les systèmes basés sur Red Hat/CentOS configurés dans un hôte virtuel, l'emplacement du fichier par défaut est /etc/httpd/sites-enabled/

2. Ouvrez le fichier de configuration et recherchez le SSLProtocol entrée.

3. Modifiez l'entrée pour désactiver SSL 2.0, SSL 3.0, TLS 1.0 et TLS 1.1 :

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

4. Redémarrez le service Apache pour que les modifications prennent effet :

service apache2 restart

ou

service httpd restart

Remarque : Selon la configuration de votre serveur, vous devrez peut-être apporter ces modifications à plusieurs endroits, pas seulement dans le fichier de configuration par défaut.

NGINX

Pour désactiver SSL 2 et 3, et TLS 1.0 et 1.1 sur un serveur NGINX, suivez les étapes ci-dessous.

1. Recherchez le fichier de configuration NGINX. L'emplacement par défaut du fichier de configuration global est /etc/nginx/nginx.conf , mais il peut y avoir des configurations de bloc de serveur individuelles dans /etc/nginx/sites-enabled/ .

2. Modifiez le fichier de configuration pour activer TLS 1.2 :

ssl_protocols TLSv1.2;

3. Redémarrez le service NGINX :

service nginx restart

Remarque : Découvrez comment installer un certificat SSL sur NGINX.

Tomcat

Pour désactiver SSL 2 et 3, et TLS 1.0 et 1.1 sur un serveur Tomcat, suivez les étapes ci-dessous.

1. Recherchez le fichier de configuration Tomcat. L'emplacement par défaut est TOMCAT_HOME/conf/server.xml .

2. Modifiez le fichier de configuration pour activer TLS 1.2.

  • Pour Tomcat 5 et 6 (avant la version 6.0.38) :
sslProtocols = "TLSv1.2"
  • Pour Tomcat 6 et 7 (version 6.0.38 ou ultérieure), modifiez la ligne suivante :
sslEnabledProtocols = "TLSv1.2"

3. Redémarrez le service Tomcat pour que les modifications prennent effet.


Ubuntu
  1. Linux vs Unix :Quelle est la différence ?

  2. Ubuntu Server vs Desktop :Quelle est la différence ?

  3. La Différence Entre [[ $a ==Z* ]] Et [ $a ==Z* ] ?

  4. Quelle est la différence entre les méthodes Tasksel et normales ?

  5. La différence entre localiser/où est/qui ?

RPM vs YUM :découvrez la différence

VPN vs VDI :Quelle est la différence ?

Basculement Vs. Restauration :quelle est la différence ?

Saveurs Ubuntu :quelle est la différence ?

Comment vérifier la date d'expiration SSL sur Plesk

Quelle est la différence entre une console, un terminal et un shell ?