Sécurité

Configurer un serveur VPN IPsec IKEv1 xAuth dans pfSense

Le système d’exploitation pfSense nous permet de configurer différents types de VPN, parmi lesquels IPsec IKEv1 xAuth, un type de VPN qui nous permettra de nous connecter avec nos smartphones et tablettes avec Android et iOS, et aussi avec nos ordinateurs ou Mac, tant que que nous installons le logiciel correspondant compatible avec ce type de protocole. Aujourd’hui, dans RedesZone, nous allons vous apprendre à configurer un serveur VPN IPsec IKEv1 xAuth afin que vous puissiez vous connecter à distance à votre réseau local en toute sécurité.

A quoi sert un serveur VPN IPsec IKEv1 xAuth ?

Le protocole IPsec est l’un des protocoles VPN les plus utilisés et les plus connus, il s’utilise aussi bien à la maison pour se connecter à notre domicile facilement et rapidement (des routeurs comme AVM FRITZ ! Intégrez ce type de VPN sécurisé), que pour se connecter au niveau de l’entreprise au bureau ou aux petites et moyennes entreprises. Ce VPN utilise le protocole IKEv1 (Internet Key Exchange) pour négocier le cryptage entre les différents clients et le serveur, en plus, il utilise l’authentification avec nom d’utilisateur et mot de passe (xAuth) qui nous permettra d’authentifier les différents clients quand ils se connectent au serveur VPN. Dans le protocole IPsec IKEv1 xAuth, nous avons deux méthodes d’authentification :

  • Mutuelle PSK + xAuth : un mot de passe est établi que chaque client VPN qui souhaite se connecter aura, cette clé est à la fois sur le serveur et sur tous les clients. Ensuite, un nom d’utilisateur et un mot de passe sont demandés pour s’authentifier individuellement auprès du VPN.
  • Mutuelle RSA + xAuth : une CA doit être créée avec des certificats serveurs et également des certificats pour les clients VPN, une fois l’authentification avec ces certificats établie, un nom d’utilisateur et un mot de passe seront également demandés pour s’authentifier dans le VPN.

Un détail très important est que nous ne pourrons pas utiliser le protocole IKEv2 car il n’est pas compatible avec ce type de VPN, nous devons utiliser oui ou oui IKEv1 pour que les clients VPN puissent se connecter correctement.

Dans ce tutoriel, nous verrons comment configurer le protocole IPsec IKEv1 xAuth 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

Avant de commencer à configurer le protocole IKEv1 xAuth IPsec, nous devons garder à l’esprit que ce protocole s’adresse aux VPN d’accès à distance, c’est-à-dire ceux appelés «Clients mobiles», par conséquent, les clients VPN seront des téléphones portables, des tablettes ou des ordinateurs, mais un tunnel Site-to-Site ne sera pas établi, pour ce faire il vaut mieux utiliser un protocole comme IPsec IKEv2 directement, sans le xAuth dont nous allons traiter ici.

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
  • Authentification étendue (xAuth)

    • Authentification de l’utilisateur : Base de données locale

Dans la section Authentification étendue, il est également nécessaire de définir le sous-réseau où seront placés les clients VPN qui se connectent.

  • Authentification étendue (xAuth)

    • 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 ».

Nous devons nous rappeler que le protocole IPsec est clairement divisé en deux phases, la phase 1 est la phase d’authentification, et la phase 2 est la phase où les chiffrements symétriques sont négociés pour l’échange d’informations. Tout d’abord, nous devons configurer la phase 1 avec un ensemble de chiffrements compatibles avec la plupart des clients, pour configurer ultérieurement la phase 2.

Configurer IPsec Phase 1

Dans ce menu, nous devrons configurer correctement le protocole IPsec pour l’utiliser avec IKEv1 avec xAuth, toutes les configurations ne fonctionneront pas avec ce protocole. De plus, un détail très important est que les paramètres de sécurité peuvent changer si vous utilisez des clients VPN pour Android, iOS, des programmes externes pour Windows, etc. Nous utiliserons une configuration conservatrice, compatible avec la plupart des clients VPN, mais vous devez en tenir compte car vous devrez peut-être modifier certains paramètres.

Les options que nous devons configurer pour fonctionner correctement sont les suivantes :

  • Informations générales

    • Version Key Exchange : IKEv1, si nous en sélectionnons une autre, cela ne fonctionnera pas.
    • Protocole Internet : IPv4 ou IPv6
    • Interface : Internet WAN
    • Description : nous mettons une description.
  • Proposition de Phase 1 (Authentification)

    • Méthode d’authentification : PSK mutuel + xAuth
    • 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 : Mon adresse IP
    • Identifiant de pair : nom distinctif de l’utilisateur – [email protected] ou ce que vous voulez.
    • Clé pré-partagée : 12345678
  • Proposition de Phase 1 (Cryptage)

    • Algorithme de chiffrement : AES 128 bits, SHA1, DH Groupe 2 (1024 bits).

pfSense est un système d’exploitation professionnel, le problème est que les clients VPN peuvent ne pas prendre en charge une sécurité plus élevée, pour cette raison, nous n’avons pas utilisé d’algorithmes plus robustes tels que SHA-512 ou un groupe DH supérieur. Pour le configurer avec une sécurité maximale, nous devons voir les journaux IPsec et savoir quelles «propositions» les clients VPN nous enverront afin de se connecter, sur la base de ces propositions reçues, nous pourrons choisir la plus sécurisée de toutes.

Le reste des options de configuration peut être laissé tel quel par défaut.

Une fois que nous aurons configuré la phase 1, nous obtiendrons un petit résumé de ce que nous venons de configurer, comme vous pouvez le voir ici :

Une fois que nous avons configuré la phase 1 d’IPsec xAuth, 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» comme vous pouvez le voir sur l’image. De plus, nous devrons également mettre le «Réseau local» auquel nous voulons que les clients VPN aient accès, une route leur sera envoyée pour y accéder. Nous pourrons leur donner une adresse IP spécifique, un sous-réseau que nous voulons, le sous-réseau WAN et même le sous-réseau LAN que nous avons dans pfSense. 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 128 bits et AES-128-GCM 128 bits

Sur la photo suivante, vous pouvez voir la version finale :

  • 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 le protocole.

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.

Maintenant que nous avons configuré le serveur VPN IPsec xAuth, nous devons créer les utilisateurs dans pfSense et leur donner les autorisations de connexion au VPN, sinon ils ne pourront pas se connecter et cela générera une erreur.

Créer des utilisateurs dans pfSense pour s’authentifier avec xAuth

Pour créer les différents utilisateurs, il faut aller dans » System / User manager » et créer un nouvel utilisateur avec son nom d’utilisateur et son mot de passe correspondants, cliquer sur enregistrer, puis entrer à nouveau pour le modifier. Nous pouvons maintenant ajouter des autorisations d’accès à différents services et parties du système d’exploitation pfSense. Nous devons ajouter l’autorisation de :

  • Privilèges attribués : Utilisateur – VPN-IPsec xauth Dialin

Une fois sélectionné, cliquez sur « Enregistrer » pour enregistrer les modifications. Désormais, cet utilisateur avec son mot de passe correspondant pourra se connecter au serveur VPN.

Ouvrir les ports dans le pare-feu pfSense

Dans ce VPN, il est également nécessaire d’ouvrir des ports sur le WAN Internet, en particulier 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

Ensuite, vous pouvez voir la règle nouvellement créée, qui est la seule que nous ayons.

Maintenant que nous avons configuré le serveur VPN IPsec, que nous avons créé l’utilisateur avec les autorisations correspondantes 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 Huawei P30 qui intègre un client IPsec xAuth 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 Xauth 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. Au moment de la connexion, il nous demandera un nom d’utilisateur et un mot de passe, ces informations d’identification sont celles que nous avons enregistrées dans le système d’exploitation lui-même, et plus tard nous lui avons donné l’autorisation de se connecter correctement. 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

Nous pouvons avoir des problèmes de connexion avec certains clients VPN si nous mettons des algorithmes de cryptage trop sécurisés, c’est tout à fait normal, de plus, en fonction du logiciel intégré dans chaque appareil, nous pouvons configurer des algorithmes plus forts ou plus faibles. Pour des raisons de sécurité, il est toujours conseillé de choisir les plus sécurisés, mais cela empêcherait de nombreux clients VPN de pouvoir se connecter.

A chaque fois qu’un client IPsec va se connecter, il est recommandé de consulter les logs et de vérifier quelle «proposition» les différents clients envoient lors de la connexion. Certains smartphones, tablettes ou clients IPsec prennent en charge un cryptage plus actuel, nous devons donc configurer la suite la plus sécurisée possible de manière à ce que tous les clients puissent se connecter correctement.

Avec ce même tutoriel, vous pourrez configurer l’IPsec IKEv1 xAuth, en modifiant le « Mutual PSK + xAuth » par « Mutual RSA + xAuth » et en configurant les certificats serveur et client correspondants. Cela entraîne également des complications, car si nous créons une autorité de certification avec un certificat client qui utilise les derniers algorithmes, il est possible qu’elle renvoie une erreur lorsque nous nous connectons car ils ne les reconnaissent pas.

Articles Similaires

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba