Configurer un serveur VPN IPsec IKEv2 dans pfSense
Le système d’exploitation pfSense nous permet de configurer différents types de VPN, l’un des plus sécurisés est IPsec IKEv2, qui est un protocole assez récent intégré par défaut dans les systèmes d’exploitation Windows, ainsi que dans certaines marques mobiles telles que Samsung. Malheureusement, ce protocole n’est pas compatible avec de nombreux clients VPN que l’on peut trouver sur d’autres mobiles comme Huawei. Aujourd’hui, dans RedesZone, nous allons vous apprendre à configurer un serveur VPN IPsec IKEv2 afin que vous puissiez vous connecter à distance à votre réseau local en toute sécurité.
A quoi sert un serveur VPN IPsec IKEv2 ?
Le protocole IPsec est l’un des protocoles VPN les plus utilisés et les plus connus, il est utilisé à la fois au niveau domestique et également au niveau professionnel. Normalement, le protocole IPsec IKEv2 est utilisé pour connecter différents sites, en configurant un VPN de site à site qui nous permettra d’interconnecter différents sites via Internet de manière sécurisée, car tout le trafic sera crypté, authentifié et l’intégrité des données sera vérifié. .
Dans ce cas, nous utiliserons le protocole IKEv2, qui est un protocole plus sécurisé que IKEv1 pour la négociation de chiffrement des données entre les différents clients et le serveur, de plus, nous créons une authentification basée sur PSK pour authentifier les clients. Dans le protocole IPsec IKEv2, nous avons deux méthodes d’authentification :
- PSK mutuelle : une clé pré-partagée associée à une identité est établie, une pour chaque client VPN qui souhaite se connecter. Cette clé sera à la fois sur le serveur et sur tous les clients VPN.
- RSA mutuel : une CA doit être créée avec des certificats serveurs et aussi des certificats pour les clients VPN, une fois l’authentification avec ces certificats établie, nous aurons accès au VPN sans avoir à saisir de mot de passe.
Dans ce tutoriel, nous verrons comment configurer le protocole IPsec IKEv2 dans le système d’exploitation pfSense, afin que les clients VPN puissent se connecter au réseau d’entreprise et commencer à partager des données.
Configuration du protocole IPsec IKEv2
Ce protocole IPsec IKEv2 est orienté pour les environnements où l’on peut créer un VPN Site-to-Site et interconnecter des sites, cependant, il convient également pour configurer des VPN d’accès distant, tant que les clients sont compatibles avec ce type de VPN. Par exemple, tout système d’exploitation Linux est compatible, mais aussi la dernière version des smartphones Windows 10 et Samsung, puisqu’ils intègrent un client IPsec IKEv2.
Configurer les « Clients mobiles »
La première chose que nous devons faire pour configurer le serveur VPN est d’aller dans la section » VPN / IPsec / Mobile Clients «, nous devons sélectionner les options suivantes :
- Activer la prise en charge du client mobile IPsec
- Pool d’adresses virtuelles : fournissez une adresse IP virtuelle aux clients et nous mettons un sous-réseau qui n’est pas utilisé, tel que 192.168.100.0/24.
- Serveur DNS : fournir un serveur DNS aux clients : ici, nous pouvons mettre un DNS local ou un DNS public tel que Google ou Cloudflare.
La configuration finale serait la suivante :
Une fois que nous l’avons enregistré, nous cliquons sur « Enregistrer » et au-dessus il mettra un bouton vert pour appliquer les modifications, nous cliquons sur appliquer les modifications et lorsqu’il se charge à nouveau, nous devons cliquer sur le bouton vert de « Créer la phase 1 ».
Avec le protocole IKEv2 IPsec, l’établissement de la connexion est également divisé en deux phases, la phase 1 effectuera l’authentification, et la phase 2 négociera le cryptage du tunnel avec cryptographie symétrique pour l’échange d’informations.
Nous devons d’abord configurer la phase 1 avec un ensemble de chiffrements compatibles avec la plupart des clients, en principe, IKEv2 pose moins de problèmes lors de la sélection de chiffrements plus robustes, car il s’agit d’un protocole plus récent et nous n’aurons aucun problème à choisir des chiffrements plus sécurisés.
Configurer IPsec Phase 1
Dans ce menu, nous devrons configurer le protocole IPsec pour l’utiliser avec IKEv2. Il est possible que les paramètres de sécurité changent si vous utilisez des clients VPN pour Android, iOS, des programmes externes pour Windows etc, car selon le logiciel intégré dans les appareils eux-mêmes, ils prendront en charge un niveau de sécurité plus ou moins élevé. configuration conservatrice, mais assez sécurisée, et qu’elle est compatible avec la plupart des clients VPN, mais vous devez en tenir compte, car vous devrez peut-être modifier certains paramètres pour diminuer ou augmenter la sécurité.
Les options que nous devons configurer pour fonctionner correctement sont les suivantes :
- Informations générales
- Version d’échange de clés : IKEv2
- Protocole Internet : IPv4 ou IPv6
- Interface : Internet WAN
- Description : nous mettons une description.
- Proposition de Phase 1 (Authentification)
- Méthode d’authentification : PSK mutuelle
- Mode de négociation : agressif ; sélectionner «Principal» est plus sécurisé, mais les clients VPN peuvent ne pas se connecter. Si le VPN est capable de bien se connecter avec la configuration que nous proposons, vous pourrez ensuite basculer sur «Principal» pour voir si cela fonctionne aussi.
- Mon identifiant : nom distinctif : vpn.redeszone.net
- Proposition de Phase 1 (Cryptage)
- Algorithme de chiffrement : AES 256 bits, SHA256, DH Groupe 14 (2048 bits).
pfSense prend en charge une sécurité beaucoup plus élevée et vous permet même d’activer PFS (Perfect Forward Secrecy), le problème est que les clients VPN peuvent ne pas le prendre en charge. Pour cette raison, nous n’avons pas utilisé les algorithmes les plus robustes tels que SHA-512 ou un groupe DH supérieur de 4096 bits, et avons même utilisé EC. Pour le configurer avec la meilleure sécurité, il est nécessaire de consulter les journaux de connexion, où nous verrons les différents ensembles de cryptage que les différents clients IPsec qui vont se connecter prennent en charge. De cette façon, et sachant quels modèles d’appareils et système d’exploitation vont être connectés, nous pouvons choisir la configuration la plus sûre et compatible avec tous.
Le reste des options de configuration peut être laissé tel quel par défaut.
Une fois que nous avons configuré la phase 1 d’IPsec IKEv2, nous allons configurer la phase 2.
Configurer IPsec Phase 2
Dans ce menu, la première chose que nous devons choisir est le mode de fonctionnement, nous avons choisi « Tunnel IPv4 ». De plus, nous devrons également mettre le « Réseau local » auquel nous voulons que les clients VPN aient accès, nous avons plusieurs options, la plus courante est de choisir un sous-réseau LAN ou un sous-réseau spécifique que nous définissons. Dans l’option « NAT », nous le laisserons sur « aucun ».
Dans ce menu de configuration, nous devons mettre les éléments suivants :
- Informations générales
- Mode : tunnel IPv4.
- Réseau local : sous-réseau LAN.
- Description : une description que nous voulons.
- Proposition de phase 2 (SA / Échange de clés) :
- Protocole : ESP.
- Algorithme de chiffrement : AES automatique et AES-128-GCM automatique.
- Proposition de phase 2 (SA / échange de clés)
- Algorithmes de hachage : nous sélectionnons SHA-1 et SHA-256
- Groupe de clés PFS : désactivé, non pris en charge par les clients.
Le reste des options, nous pouvons mettre celles par défaut et cliquer sur Enregistrer pour enregistrer toutes les modifications.
Une fois terminé, on peut voir le résumé de la configuration effectuée dans la rubrique « IPsec / Tunnels ».
Il va maintenant falloir créer un nom d’utilisateur et un mot de passe pour accéder :
- Identifiant : [email protected]
- Type de secret : PSK
- Clé pré-partagée : 12345678
Maintenant que nous avons configuré le serveur VPN IKEv2 IPsec, nous devons ouvrir les ports sur le pare-feu WAN.
Ouvrir les ports dans le pare-feu pfSense
Dans ce VPN, il est également nécessaire d’ouvrir des ports sur le WAN Internet, nous devrons ouvrir le port 500 UDP et le port 4500 UDP. Ensuite, vous avez tous les détails pour ouvrir les deux ports.
Nous devrons créer une règle dans la section « Firewall / Rules / WAN » avec les informations suivantes :
- Action : Passer
- Interface : WAN
- Famille d’adresses : IPv4
- Protocole : UDP
- Source : n’importe lequel
- Destination : Adresse WAN sur le port 500
La deuxième règle serait :
- Action : Passer
- Interface : WAN
- Famille d’adresses : IPv4
- Protocole : UDP
- Source : n’importe lequel
- Destination : Adresse WAN sur le port 4500
Comme vous pouvez le voir, nous avons les deux règles à accepter pour autoriser le trafic.
Nous enregistrons et appliquons les modifications, en veillant à ce que cette règle soit respectée. Maintenant, nous allons dans la section «IPsec» où nous ferons un «autoriser tout». Ensuite, lorsque nous nous connectons, si nous voulons limiter l’accès, nous pouvons le faire en mettant les règles correspondantes ici.
- Action : Passer
- Interface : IPsec
- Famille d’adresses : IPv4
- Protocole : tout
- Source : n’importe lequel
- Destination : toute
Maintenant que nous avons configuré le serveur VPN IKEv2 IPsec et que nous l’avons également ouvert dans le pare-feu, nous allons effectuer un test de connexion avec Android.
Test de connexion
Dans notre cas, nous avons établi une connexion VPN avec un smartphone Android, en particulier le Samsung S8 Plus qui intègre un client IPsec IKEv2 PSK. La configuration que nous devons effectuer est la suivante (nous ne pouvons pas mettre de capture car le système d’exploitation le détecte comme contenu privé).
- Nom : nous donnons un nom au VPN
- Type : IPsec IKEv2 PSK
- Serveur : domaine IP ou DDNS de votre serveur VPN
- Identifiant IPsec : [email protected]
- Clé partagée IPsec initiale : 12345678 ; la clé que nous mettons dans la section «Clé pré-partagée».
Nous cliquons sur enregistrer et nous connectons. Une fois cela fait, il nous connectera sans problème au serveur VPN et nous aurons accès à l’administration de pfSense et à n’importe quel réseau.
Recommandations et astuces
Bien qu’IPsec IKEv2 soit plus performant que les autres types de VPN basés sur IPsec en termes de compatibilité, nous devons porter une attention particulière aux algorithmes de cryptage que nous mettons dans le serveur VPN, car cela pourrait empêcher certains clients IPsec de se connecter. Ceci est assez courant avec le protocole IPsec, car nous dépendons du logiciel client IPsec transporté par les appareils et des algorithmes pris en charge. Logiquement, pour des raisons de sécurité, il est toujours conseillé de choisir les plus sûrs, mais cela pourrait nous empêcher de connecter des clients VPN.
Il est conseillé de voir les logs des différentes connexions IPsec, et de vérifier quelle «proposition» les clients IPsec envoient au serveur pour la négociation IKE, de cette façon, on peut forcer le serveur à n’avoir accès qu’aux meilleurs algorithmes cryptographiques, et laisser utiliser ceux qui ne sont pas sûrs.
Avec ce même tutoriel, vous allez pouvoir configurer l’IPsec IKEv2 RSA, modifier le » Mutual PSK » pour » Mutual RSA » et configurer les certificats serveur et client correspondants. Nous vous montrerons comment faire prochainement. Cela entraîne également des complications supplémentaires, car le client VPN peut ne pas être en mesure de lire le certificat RSA ou ECDSA configuré, en raison d’algorithmes trop sécurisés utilisés.