Lorsque vous hébergez un serveur Web ou une application Web, vous devez ouvrir le port 443 (ou le port 80) sur le serveur afin qu’il puisse recevoir une requête Web. Alors que le port 80 est lié à HTTP, le port 443 correspond à HTTPS.
Selon les recherches de Google en 2021, plus de 95 % des sites Web utilisent HTTPS. Il offre une communication plus sécurisée que HTTP et constitue la norme de facto pour la sécurité Web moderne.
Si vous souhaitez en savoir plus sur ce port et son fonctionnement, vous devez d’abord savoir ce qu’un port représente. Alors, commençons !
Qu’est-ce qu’un port ?
Dans un sens général, un port représente le point de connexion ou l’interface entre les périphériques externes et internes. Ainsi, dans un réseau informatique, il s’agit d’un point de terminaison virtuel unique où la connexion réseau commence ou se termine. Les ports peuvent autoriser ou restreindre les connexions sortantes, entrantes ou les deux, et le pare-feu est responsable des règles correspondantes.
Si vous essayez d’accéder à un autre appareil sur le réseau, votre appareil utilisera certains ports en fonction du protocole que vous utilisez pour établir la connexion. Le protocole peut être le protocole de communication habituel comme le protocole de contrôle de transmission (TCP)/le protocole de datagramme utilisateur (UDP), le protocole de partage de données comme le protocole de transfert de fichiers (FTP), etc.
Le port doit être ouvert sur l’autre appareil pour établir la connexion. Ils sont associés à différents services qui aident à établir et à mettre en œuvre la connexion en fonction du protocole de communication.
Un total de 65536 numéros de port sont disponibles pour les différents protocoles réseau. Parmi eux,
Ports système ou bien connus(0-1023) sont pré-attribués comme numéro par défaut pour certains ports bien connus. Les ports utilisateur ou enregistrés (1024-49151) sont des ports non attribués qui sont disponibles pour les utilisateurs réguliers. Ils doivent enregistrer le port auprès de l’IANA (Internet Assigned Numbers Authority) pour éviter la duplication. Les ports dynamiques ou privés(49152-65535) sont des ports de courte durée qui sont utilisés pour des services privés ou pour des raisons temporaires.
Qu’est-ce que le port 443 et quel est son lien avec HTTPS ?
De nombreux serveurs Web utilisent des certificats Transport Layer Security (TLS) pour améliorer leur sécurité. Si vous essayez d’accéder à un tel serveur Web en utilisant le protocole TCP, le réseau utilisera un canal crypté pour envoyer la demande et recevoir des données du serveur. Le port 443 est le point de terminaison virtuel par défaut de ce canal sécurisé sur le serveur Web.
Votre navigateur Web utilisera le protocole de transfert hypertexte sécurisé (HTTPS) dans la couche application pour envoyer des requêtes et recevoir les données. Ainsi, le port 443 est directement associé au protocole HTTPS. Certains VPN ou d’autres services utilisent également ce port pour contourner les restrictions du pare-feu.
TLS est une version plus récente de Secure Sockets Layer (SSL), vous pouvez donc toujours trouver SSL très utilisé pour décrire les certificats de sécurité. Mais de nos jours, SSL est obsolète et seules les versions récentes de TLS sont utilisées.
La plupart des serveurs Web utilisent désormais des certificats TLS car la sécurité des données est une préoccupation majeure. C’est pourquoi vous verrez https://au lieu de http://dans presque toutes les URL.
Comment fonctionnent le chiffrement HTTPS et TLS ?
La technologie TLS utilise un ensemble de deux clés (publique et privée) pour le chiffrement. Seule la clé privée peut décoder les données que la clé publique chiffre et vice versa. Voici le processus complet de fonctionnement du cryptage HTTPS et TLS :
Le navigateur Web doit d’abord établir une connexion (TCP Handshake) avec le serveur Web avant de pouvoir envoyer une requête TCP. Le navigateur Web envoie un paquet de données de synchronisation(SYN) au serveur Web pour demander une connexion. Le serveur Web répond par une synchronisation(SYN) accompagnée d’un paquet d’accusé de réception(ACK). Le navigateur Web répond alors par ACK, qui établit la connexion entre le navigateur et le serveur.
Pour HTTPS, une autre poignée de main, c’est-à-dire la poignée de main TLS, est nécessaire puisque les données doivent être cryptées. Cette étape n’est pas nécessaire pour HTTP car ils peuvent directement commencer à envoyer des données d’application au format texte brut. Dans TLS 1.2, le cryptage RSA est utilisé, qui se présente comme suit : Dans un premier temps, le serveur et le navigateur client échangent des messages”hello”. Ensuite, les deux terminaux communiquent leurs protocoles, norme de cryptage, etc. Le serveur envoie également le Certificat TLS contenant les informations suivantes : Nom de domaine Clé publique Autorité de certification avec leur signature numérique Date d’émission et d’expiration Version TLS Ici, le serveur envoie la clé publique incluse dans le certificat TLS au client pour le processus de chiffrement/déchiffrement. La clé privée est stockée uniquement sur le serveur Web et ne partage pas la clé Le client vérifie le certificat TLS, puis crée un bytecode aléatoire (secret pré-maître). Ensuite, il crypte le code secret à l’aide de la clé publique et le partage avec le serveur. Le serveur utilise la clé privée pour déchiffrer ces données. Les clients et les serveurs créent un ensemble de clés de session à l’aide du secret pré-maître. Ensuite, les deux terminaux enverront des messages”terminés”et ils pourront enfin commencer à envoyer des données d’application. Ils communiqueront en utilisant ces clés temporaires pour le chiffrement et le déchiffrement. Elles restent valides pendant un certain temps et expirent après la fin de la session ou la la connexion est interrompue. Le même processus se reproduit pour recréer un autre ensemble de clés de session. Dans TLS 1.3, le chiffrement DHE est utilisé, ce qui est beaucoup plus rapide.
Le client envoie un ensemble de clés pris en charge et un protocole d’accord de clé ainsi que son propre partage de clé avec le message”bonjour”au serveur. Le serveur répond avec le certificat du serveur, son partage de clé et le protocole d’accord de clé qu’il sélectionne dans l’ensemble après le message”bonjour”. Il envoie également son message”terminé”puisqu’il n’a pas besoin d’envoyer plus de données avant de commencer le connexion. Le client vérifie le certificat, génère les clés de chiffrement nécessaires et envoie le message”terminé”. Désormais, le serveur et le client disposent des clés nécessaires pour le chiffrement/déchiffrement et peuvent commencer à envoyer des données d’application.
Les serveurs Web peuvent utiliser différents niveaux (pas de versions) des certificats TLS avec HTTPS, en fonction de la rigueur de l’autorité de certification (CA) lors de la fourniture des certificats.
Certificats de validation de domaine : ce certificat valide uniquement la propriété du domaine. Il a le niveau de validation le plus bas et n’est approprié que pour les blogs et les sites Web similaires. Certificats de validation d’organisation : le propriétaire doit vérifier les informations personnelles et professionnelles ainsi que la propriété du domaine lors de la demande de ces certificats. Certificats à validation étendue : ils ont le plus haut niveau de validation et le propriétaire doit vérifier les droits exclusifs sur le domaine, son adresse physique ainsi que toutes les informations personnelles, professionnelles et de domaine.
Comment le port 443 se compare-t-il au port 80 ?
Comme la façon dont le réseau envoie les requêtes HTTPS au port 443 sur le serveur Web, les requêtes HTTP vont au port 80 par défaut. Ces requêtes HTTP et les données correspondantes du serveur Web ne passent par aucun cryptage sur le réseau. Ainsi, ces données sont en texte brut et sont très vulnérables à un accès externe.
Le port 443 est-il important ?
HTTPS améliore considérablement la sécurité des données par rapport à HTTP. Cela ne signifie pas qu’il est entièrement sécurisé, car il existe des moyens de l’exploiter, comme voler des données du cache ou de la mémoire du navigateur. Cependant, il s’agit du protocole le plus sécurisé à l’heure actuelle.
La plupart des serveurs Web n’autorisent pas les requêtes HTTP et vos navigateurs essaieront également de vous empêcher d’accéder à des sites Web via HTTP. HTTPS étant la norme actuelle, le port 80 n’est pas beaucoup utilisé. Ainsi, toutes les communications Web passent par le port 443.
Il est possible de spécifier n’importe quel autre port comme point de terminaison pour la communication HTTPS au lieu de 443 sur le serveur. Mais le client devra également spécifier le numéro de port particulier lors de la demande HTTPS. Ainsi, à moins qu’un développeur ne teste ses serveurs Web, personne n’utilisera un autre port en remplacement.
Devez-vous ouvrir le port 443 ?
Chaque fois qu’un client effectue une requête Web, l’appareil client utilise un port enregistré ou dynamique disponible (entre 1024 et 65535) pour envoyer une requête au port 443 ou 80 sur le serveur selon le protocole que vous utilisez.
Ainsi, si vous configurez un serveur Web pour d’autres personnes, vous devrez ouvrir le port 443 pour l’accès HTTPS entrant afin qu’ils puissent s’y connecter via Internet. Mais il n’est pas nécessaire d’ouvrir le port côté client pour tout accès sortant puisque l’appareil utilisera un port ouvert différent.
Avant d’essayer d’ouvrir le port, vérifiez s’il est déjà ouvert en utilisant la commande netstat-aon | findstr”LISTEN”sur l’invite de commande
S’il n’est pas ouvert, suivez les étapes ci-dessous.
Ouvrez Exécuter en appuyant sur la touche Windows + R. Tapez firewall.cpl et appuyez sur Entrée pour ouvrez le pare-feu Windows Defender. Sélectionnez Paramètres avancés dans le volet de navigation de gauche. Accédez à l’onglet Règles de trafic entrant et cliquez sur Nouvelle règle. Cochez Port et cliquez sur Suivant. Sélectionnez TCP et entrez 443 sur les ports locaux spécifiques. Appuyez à nouveau sur Suivant.
Cochez Autoriser la connexion et appuyez sur Suivant. Sélectionnez les options selon vos besoins et cliquez sur Suivant. Spécifiez le nom de votre choix et choisissez Terminer.
Remarque : l’ouverture d’un port sur un pare-feu présente des risques de sécurité potentiels. Il est crucial de mettre en œuvre des mesures de sécurité appropriées, comme l’utilisation de certificats SSL/TLS pour minimiser le risque d’accès non autorisé ou d’attaques.