IPsec est un groupe de protocoles réseau utilisés pour établir des connexions chiffrées sécurisées, telles que des VPN, sur des réseaux partagés publiquement.
Cet article s'articule autour des points suivants :
Contenu associé
Couche réseau
Qu'est-ce que la valeur MSS ?
Qu'est-ce que le MTU ?
Réseau étendu (WAN)
Réseau local (LAN)
Abonnez-vous à theNET, le récapitulatif mensuel par Cloudflare des informations les plus populaires sur Internet !
Copier le lien de l'article
IPsec est une suite de protocoles conçue pour la sécurisation des connexions entre appareils. Il contribue également à la sécurisation des données envoyées sur les réseaux publics. Il est souvent utilisé pour configurer des VPN. Son fonctionnement repose sur le chiffrement des paquets IP et l'authentification de la source des paquets.
Dans le terme « IPsec », « IP » signifie « Internet Protocol » et « sec » signifie « secure ». Internet Protocol est le principal protocole de routage utilisé sur Internet ; il désigne la destination des données avec des adresses IP. IPsec est sécurisé, car il ajoute le chiffrement* et l'authentification à ce processus.
*Le chiffrement est le processus consistant à dissimuler des informations en modifiant mathématiquement les données afin qu'elles apparaissent aléatoires. En termes simples, le chiffrement est l'utilisation d'un « code secret » que seules les parties autorisées peuvent interpréter.
Les protocoles de sécurité tels qu'IPsec sont nécessaires, car les méthodes de connectivité réseau ne sont pas chiffrées par défaut.
Lorsqu'une personne envoie du courrier par l'intermédiaire d'un service postal, elle n'écrit généralement pas son message à l'extérieur de l'enveloppe. Au lieu de cela, elle glisse son message dans une enveloppe fermée, afin qu'aucune personne ne puisse lire pendant l'acheminement du courrier entre l'expéditeur et le destinataire. Cependant, les suites de protocoles réseau, telles que TCP/IP, gèrent uniquement la connexion et la livraison, et les messages envoyés ne sont pas dissimulés. Toute personne présente entre l'expéditeur et le destinataire peut les lire. IPsec et les autres protocoles qui chiffrent les données agissent comme si, fondamentalement, ils ajoutaient une enveloppe autour des données lorsqu'elles transitent sur les réseaux, afin d'en assurer la sécurité.
Un réseau privé virtuel (VPN, Virtual Private Network) est une connexion chiffrée entre deux ou plusieurs ordinateurs. Les connexions VPN sont déployées sur des réseaux publics, mais les données échangées sur le VPN restent privées, car elles sont chiffrées.
Les VPN permettent la consultation et l'échange sécurisés de données confidentielles via une infrastructure réseau partagée, telle que l'Internet public. Par exemple, lorsque des collaborateurs travaillent à distance, plutôt qu'au bureau, ils utilisent souvent des VPN pour accéder aux fichiers et applications de l'entreprise.
De nombreux VPN utilisent la suite de protocoles IPsec pour établir et gérer ces connexions chiffrées. Cependant, tous les VPN n'utilisent pas IPsec. Un autre protocole utilisé par les VPN est SSL/TLS, qui opère sur une couche différente d'IPsec dans le modèle OSI. (Le modèle OSI est une représentation abstraite des processus sur lesquels repose le fonctionnement d'Internet).
Les utilisateurs peuvent accéder à un VPN IPsec en se connectant à une application VPN, également appelée « client ». Cela nécessite généralement que l'utilisateur ait installé l'application sur son appareil.
Les connexions à un VPN nécessitent généralement la saisie d'un mot de passe. Bien que les données envoyées par un VPN soient chiffrées, en cas de compromission du mot de passe d'un utilisateur, des acteurs malveillants peuvent se connecter au VPN et dérober ces données chiffrées. L'utilisation de l'authentification à deux facteurs (2FA) peut renforcer la sécurité des VPN IPsec, puisque le vol d'un mot de passe ne permettra pas à un acteur malveillant d'accéder au VPN.
L'établissement d'une connexion IPsec comprend les étapes suivantes :
Échange de clés : les clés sont nécessaires au chiffrement ; une clé est une chaîne de caractères aléatoires pouvant être utilisée pour « verrouiller » (chiffrer) et « déverrouiller » (déchiffrer) des messages. IPsec configure des clés avec un échange de clés entre les appareils connectés, afin que chacun puisse déchiffrer les messages de l'autre.
En-têtes et queues de paquets : toutes les données envoyées sur un réseau sont décomposées en petits fragments appelés « paquets ». Les paquets comportent à la fois un contenu (c'est-à-dire les données envoyées) et des en-têtes (c'est-à-dire des informations sur ces données), afin que les ordinateurs qui reçoivent les paquets sachent quoi en faire. IPsec ajoute aux paquets de données plusieurs en-têtes contenant des informations d'authentification et de chiffrement. Il ajoute également des queues de paquet, qui sont placées après le contenu de chaque paquet, au lieu d'être placées avant.
Authentification : IPsec fournit, pour chaque paquet, une authentification, semblable à un cachet d'authenticité sur un objet de collection. Cela garantit que les paquets proviennent d'une source de confiance, et non d'un acteur malveillant.
Chiffrement : IPsec chiffre le contenu de chaque paquet, ainsi que l'en-tête IP de chaque paquet (sauf si le mode transport est utilisé à la place du mode tunnel, voir ci-dessous). Les données envoyées par IPsec restent ainsi sécurisées et privées.
Transmission : les paquets IPsec chiffrés transitent par un ou plusieurs réseaux jusqu'à leur destination en utilisant un protocole de transport. À ce stade, le trafic IPsec diffère du trafic IP ordinaire en ce qu'il utilise le plus souvent le protocole de transport UDP, plutôt que TCP. Le protocole TCP (Transmission Control Protocol) établit des connexions dédiées entre les appareils et garantit l'arrivée de tous les paquets. Le protocole UDP (User Datagram Protocol) n'établit pas ces connexions dédiées. IPsec utilise UDP, car ce protocole permet aux paquets IPsec de traverser les pare-feu.
Déchiffrement : à l'autre extrémité de la communication, les paquets sont déchiffrés et les applications (un navigateur, par exemple) peuvent désormais utiliser les données transmises.
Dans le domaine des réseaux, un protocole est une méthode spécifique de mise en forme des données, permettant à tout ordinateur connecté à un réseau de les interpréter. IPsec n'est pas un protocole, mais une suite de protocoles, constituée des protocoles suivants :
Authentication Header (AH) : le protocole AH garantit que les paquets de données proviennent d'une source fiable et que les données n'ont pas été altérées, comme un sceau inviolable sur un produit de consommation. Ces en-têtes n'assurent aucun chiffrement, et n'aident pas à dissimuler les données à des acteurs malveillants.
Encapsulating Security Protocol (ESP) : ESP chiffre l'en-tête IP et le contenu de chaque paquet, sauf si le mode transport est utilisé, auquel cas il chiffre uniquement le contenu. ESP ajoute à chaque paquet de données un en-tête et une queue spécifiques au protocole.
Security Association (SA) : SA désigne un certain nombre de protocoles utilisés pour négocier des clés et des algorithmes de chiffrement. L'un des protocoles SA les plus courants est Internet Key Exchange IKE).
Enfin, bien qu'Internet Protocol (IP) ne fasse pas partie de la suite IPsec, IPsec opère directement au-dessus d'IP.
Le mode tunnel d'IPsec est utilisé entre deux routeurs dédiés, chaque routeur agissant comme une extrémité d'un « tunnel » virtuel traversant un réseau public. Dans le mode tunnel d'IPsec, l'en-tête IP original contenant la destination finale du paquet est chiffré, en plus du contenu du paquet. Pour indiquer aux routeurs intermédiaires où les paquets doivent être acheminés, IPsec ajoute un nouvel en-tête IP. À chaque extrémité du tunnel, les routeurs déchiffrent les en-têtes IP afin de livrer les paquets à leur destination.
En mode transport, le contenu de chaque paquet est chiffré, mais pas l'en-tête IP d'origine. Les routeurs intermédiaires peuvent ainsi voir la destination finale de chaque paquet, sauf si un protocole de tunnellisation distinct (comme GRE) est utilisé.
Un port réseau est l'emplacement virtuel par lequel les données entrent dans un ordinateur. Les ports permettent aux ordinateurs d'assurer le suivi des différents processus et connexions ; si des données sont envoyées vers un port particulier, le système d'exploitation de l'ordinateur sait à quel processus elles appartiennent. IPsec utilise généralement le port 500.
Les valeurs MSS et MTU sont deux mesures de la taille des paquets. Les paquets ne peuvent atteindre qu'une certaine taille (mesurée en octets) avant que les ordinateurs, les routeurs et les commutateurs ne puissent plus les traiter. MSS mesure la taille du contenu de chaque paquet, tandis que MTU mesure le paquet entier, en-têtes compris. Les paquets qui dépassent la valeur MTU d'un réseau peuvent être fragmentés, c'est-à-dire divisés en paquets plus petits, puis réassemblés. Les paquets qui dépassent la valeur MSS sont simplement abandonnés.
Les protocoles IPsec ajoutent plusieurs en-têtes et queues aux paquets, qui occupent tous plusieurs octets. Pour les réseaux qui utilisent IPsec, les valeurs MSS et MTU doivent être ajustées en conséquence, faute de quoi les paquets seront fragmentés et leur livraison sera légèrement retardée. Habituellement, la valeur MTU d'un réseau est de 1 500 octets. Un en-tête IP normal a une longueur de 20 octets, tout comme un en-tête TCP, ce qui signifie que le contenu de chaque paquet peut représenter 1 460 octets. Cependant, IPsec ajoute un en-tête Authentication Header, un en-tête ESP et les queues associées. Ces données ajoutent 50 à 60 octets à un paquet, voire plus.
Pour plus d'informations sur les valeurs MTU et MSS, consultez la section Qu'est-ce que la valeur MTU ?
Cloudflare prend en charge IPsec en tant qu'accès direct (on-ramp) à notre solution Secure Access Service Edge (SASE), Cloudflare One.
Pour sécuriser le trafic, IPsec nécessite la configuration d'une association de sécurité (Security Association, SA) entre deux points, afin de créer un tunnel par lequel le trafic peut transiter. Selon le modèle de mise en œuvre, cela peut comporter certaines difficultés. Par exemple, dans un modèle maillé, tous les nœuds (ou emplacements) sont connectés les uns aux autres par des tunnels dédiés. Cependant, cela nécessite la création et la gestion de plusieurs tunnels IPsec, une approche dont l'évolutivité est complexe.
Cloudflare utilise toutefois le modèle Anycast IPsec. (Un réseau Anycast est un réseau qui achemine les requêtes entrantes vers différents nœuds.) Avec Anycast IPsec, les utilisateurs n'ont besoin de configurer qu'un seul tunnel IPsec vers Cloudflare pour bénéficier d'une connectivité vers plus de 250 emplacements de notre réseau mondial.
Pour permettre le déploiement du modèle IPsec Anycast, Cloudflare duplique et distribue les associations de sécurité sur les serveurs du réseau de périphérie de Cloudflare. Cela signifie que l'ensemble du réseau Cloudflare fonctionne comme un tunnel IPsec unique vers votre réseau.
En savoir plus sur les réseaux IPsec Anycast et Cloudflare One.