Pourquoi HTTPS
Leçon 38 sur 47 du cours Réseautage avec le terminal de Coddy.
Jusqu’à présent, tout a circulé en texte brut. Ce n’est pas une figure de style : la ligne de requête, vos en-têtes et votre corps sont transmis exactement tels que vous les avez saisis, et toute personne se trouvant sur le trajet peut les lire.
Vous disposez déjà de l’outil pour le prouver. Dirigez un écouteur vers votre propre requête et regardez le corps : un mot de passe envoyé via HTTP en clair s’y trouve intégralement.
HTTPS est le même HTTP enveloppé dans TLS, une couche qui chiffre la conversation avant qu’elle ne quitte votre machine. Un observateur voit toujours que vous vous êtes connecté à un hôte, ainsi qu’une estimation de la quantité de données transférées, mais pas le chemin, les en-têtes ni le corps.
Il fait encore une chose tout aussi importante : il prouve que le serveur est bien celui qu’il prétend être. Le chiffrement seul vous permettrait d’avoir une conversation parfaitement privée avec un imposteur.
Défi
DifficileVoyez par vous-même pourquoi HTTP en clair n’est pas privé.
- Démarrez l’écouteur de capture sur le port 9128
- Envoyez le champ
password=hunter2en POST vers/login - Affichez la dernière ligne de
req.txt
Le secret se trouve dans la requête, bien en évidence. Sortie attendue :
password=hunter2Essayez vous-même
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Réseautage avec le terminal
1Comment les réseaux communiquent
Qu’est-ce qu’un réseauClients et serveursAdresses IPVotre première requête2Noms et DNS
Pourquoi les noms existentLe fichier hostsRechercher un nomTypes d’enregistrementsRécapitulatif : les noms5HTTP à la main
Anatomie d’une requêteMéthodes de requêteCodes d’étatEn-têtes de réponseRédiger une réponseRécapitulatif : notions de base sur HTTP8HTTPS et TLS
Pourquoi HTTPSLe schéma choisit le portCertificats et confianceQuand TLS échoueRécapitulatif : HTTPS3Ports et sockets
Qu’est-ce qu’un portPorts bien connusLocalhostÉcoute ou connexionRécapitulatif : les ports6curl en profondeur
Afficher les en-têtesEnregistrer les réponsesEn-têtes personnalisésStatut et duréeCodes de sortie de curlRécapitulatif : options de curl9Authentification et débogage
Clés API et BearerL’agent utilisateurDélais d’attente et nouvelles tentativesLire un échecRécapitulatif : débogageEntraînez-vous par vous-même : Playground Terminal