Mise en place d’un VPN IPSec avec un Netasq U70

Cet article a pour but d’expliquer comment configurer le routeur Netasq U70 (configuration de l’autorité de certification, mise en place du tunnel et configuration du pare-feu) et le client IPSec gratuit Shrew Soft afin d’établir un tunnel sécurisé entre ces deux éléments.

 

I.Configuration du routeur Netasq U70 :

I.1 – Configuration de l’autorité de certification (PKI) :
Il convient dans un premier temps de créer notre PKI interne qui servira à fournir les certificats aux différents utilisateurs du VPN. Pour cela nous allons dans le menu de gauche : PKI > Général

Nous utiliserons l’assistant de création de PKI en cliquant sur le bouton du même nom.

Nous allons ensuite détailler les différentes informations de notre PKI :

Une fois la page remplie, nous pouvons passer à l’étape 2 en cliquant sur Suivant. Nous allons ensuite définir un mot de passe associé à la CA. Celui-ci est important car il vous sera demandé à chaque création de certificat.

Nous allons personnaliser la validité de notre autorité de certification CA et des certificats utilisateurs ainsi que la complexité de leurs clés. J’ai choisis de laisser les valeurs par défaut.

Aucun outil particulier n’a besoin d’accéder à la CRL, nous ne définirons donc aucun lien vers celle-ci. En effet, lors de l’échange de certificat la CRL est consulté de manière locale sur le routeur, afin de vérifier si le certificat est bloqué ou non.

Enfin nous pouvons spécifier à l’étape 5 si nous permettons aux utilisateurs d’effectuer eux-mêmes la demande de certificat. Dans notre cas de figure ce paramètre est inutile, nous ne le cochons donc pas.

Notre PKI est maintenant fonctionnelle et peux délivrer des certificats aux utilisateurs.

I.2 – Création de l’utilisateur LDAP :

Nous allons créer l’utilisateur dans l’annuaire LDAP du routeur Netasq et lui associer un certificat. Cela nous permettra d’exporter le certificat sur la machine cliente et d’avoir dans le rapport syslog un nom de connexion VPN plus précis sur l’utilisateur connecté.

Cliquons dans le bandeau de gauche sur le menu Objets. Une nouvelle fenêtre s’ouvre. Cliquons sur le bouton Nouveau et choisissons Utilisateur :

Dans cette fenêtre remplissez le nom, l’identifiant (pour Florent Fragnol -> ffragnol par exemple) le prénom ainsi que l’email et plus si vous le désirez. Ensuite cliquons sur « Terminer ».

Une fenêtre récapitulant les informations saisies s’ouvre. Allons dans l’onglet accès et cochons comme VPN autorisé le VPN IPSec sans modifier la clé.

Plaçons nous dans l’onglet certificat puis cliquons sur « Créer le certificat ».


Une fenêtre apparait nous demandant le mot de passe de la CA précédemment définit, et nous demande de choisir un mot de passe associé au certificat de l’utilisateur. Il est fortement conseillé de choisir un mot de passe complexe. Ce mot de passe sera demandé à l’utilisateur dès qu’il établira une connexion avec le réseau distant.

Un message nous avertira que la création du certificat a été effectuée. Il ne nous reste plus qu’à exporter le certificat en cliquant sur le bouton « Exporter le certificat ». Puis nous choisirons le format d’export PKCS12.

Nous disposons donc d’un certificat « PrenomNom.p12 » qui contient les informations telles que le certificat X509 d’identification de l’utilisateur, une clé publique et une clé privé. Ce fichier sera à transférer manuellement sur le poste de l’utilisateur vers cet emplacement : « C:\Program Files\ShrewSoft\VPN Client\certificates ».


I.3 – Création du tunnel IPSEC :

Nous allons maintenant créer notre tunnel IPSec nous permettant de connecter un ordinateur nomade au réseau de l’entreprise. Naviguons dans le bandeau de gauche pour aller sur le menu VPN > Tunnels IPSec :

Étape 1 = Une fenêtre s’ouvre nous proposant de sélectionner un slot VPN. Nous sélectionnerons un slot vide et éditerons celui-ci avec le bouton « Editer ».
Un assistant s’ouvre nous guidant dans le processus de création de tunnel IPSec. Nous donnerons dans un premier temps un nom à notre tunnel IPSec puis nous choisirons un modèle de protection. Par défaut Netasq propose le modèle « Good Encryption » qui d’après eux est le meilleur rapport sécurité/rapidité, nous choisirons celui-ci :

Étape 2 = cette deuxième étape nous propose de choisir le type de tunnel. Nous avons le choix entre deux tunnels dynamique (le modèle statique étant obsolète). Ces deux types de tunnels sont basés sur une négociation dynamique des paramètres des tunnels VPN grâce au protocole IKE. Nous choisirons le second mode Dynamique qui consiste en un échange de certificats, plus sécurisé que le premier.
Nous n’oublierons pas de cocher la case « Mode avancée » qui va nous permettre de spécifier en extrémité « Any », nos clients étant des nomades avec une IP dynamique.

Étape 3 = cette étape va nous permettre de définir les extrémités de notre tunnel. Nous choisirons au niveau de notre interface locale, l’interface qui communique avec l’extérieur (internet, le réseau dit « non-sur ») c’est-à-dire l’interface « Firewall_Internet_Neuf » qui a été configuré au préalable avec les paramètres PPOE (notre Neufbox étant en mode bridge).
Le correspondant à l’autre bout de l’extrémité étant un nomade, avec une adresse IP dynamique nous préciserons un objet de type « Any » :

Étape 4 = a partir de cette étape, nous allons devoir définir les extrémités du trafic. Nous allons donc spécifier le réseau que nous voulons atteindre à savoir le réseau 172.16.0.0, qui est définit sur l’interface Network_IN. Nous aurions pu être plus restrictif en spécifiant également une seule machine.
L’autre extrémité sera encore une fois régler sur « Any », notre poste nomade ayant une adresse IP dynamique.

Cliquez ensuite sur suivant puis sur « Terminer ». Une nouvelle fenêtre s’ouvre récapitulant les informations déjà entrées ainsi que d’autres à définir. Nous devons maintenant générer la clé privée du Netasq. Cliquons sur « Choisissez un certificat » :

Dans la fenêtre qui s’ouvre nous allons cliquer sur le bouton « Certificat interne » afin de générer une clé privée propre au Netasq.

Dans la fenêtre qui vient de s’ouvrir cliquons sur le bouton « Créer un certificat VPN ». Le mot de passe de la CA nous sera demandé. Une fois la création effectuée, un message nous avertira du bon déroulement de l’opération.

Nous pouvons apercevoir la clé associée à cette extrémité du tunnel :

Nous validons cet écran en cliquant sur le bouton « OK ». Nous allons ensuite éditer quelques options afin que notre tunnel puisse s’établir correctement. Pour cela nous allons cliquer sur le bouton « Configuation avancée ».

Il suffit de cocher l’option « Envoi du certificat » de manière à ce que les deux interlocuteurs puissent s’échanger leur clé publique. Sans cette option cochée, le tunnel ne peut s’établir.

Ensuite, nous cliquons sur le bouton «Paramètres avancés» en bas de cette fenêtre. Une nouvelle fenêtre apparait où il faudra cocher « Faire confiance à la PKI interne », puis cliquez sur OK.

Il le nous reste plus qu’à valider le paramétrage de notre tunnel en cliquant sur « Envoyer » puis confirmer en cliquant sur « Oui ». N’oublions pas d’activer votre slot VPN en cliquant sur « Activer » :

Notre tunnel est maintenant configurer, ainsi nos utilisateurs pourront s’y connecter. Cependant, notre pare-feu bloque par défaut les ports nécessaires à la négociation des éléments de sécurité ainsi que le trafic des données via notre tunnel VPN.
Pour un tunnel de Passerelle à Passerelle ces règles peuvent être configurées de manière implicite par notre routeur (page 280 sur la documentation du Netasq), mais notre tunnel pointe vers un objet Any, nous allons donc devoir créer des règles manuellement.

I.4 – Définition des règles du pare-feu Netasq :

Nous allons dans un premier temps devoir autoriser le trafic provenant de notre machine nomade, soit « Any » vers notre port recevant le flux internet à savoir Firewall_Internet_Neuf.

Les premiers échanges ayant lieu sont les phases de négociation des paramètres de sécurité, nous autorisons les règles suivantes :

Le protocole de transport utilisé est UDP pour l’isakmp.

 

Notre réseau se trouvant derrière un routeur nous allons devoir utilisé le NAT Transversal qui consiste à rendre compatible IPSec derrière un NAT. Un premier échange est envoyé avec le protocole ISAKMP sur le port 500, lors du retour du paquet en question notre client compare un hash de l’adresse IP et des ports afin de voir s’ils sont identiques. S’ils sont différents c’est que l’adresse ou le port a été translaté. Dans ce cas de figure l’échange se fera en utilisant le NAT-T sur le port 4500 d’où l’utilité d’ouvrir le port 500 (isakmp, Règle 2) et 4500 (isakmp_natt, Règle 3).

Enfin il faut également veillez à autoriser nos trames cryptés ESP. Nous autoriserons donc le protocole vpn-esp en provenance d’Any vers Firewall_Internet_Neuf (Règle 4) et également l’inverse du Firewall_Internet_Neuf vers Any (règle défini implicitement par la Règle 10).

A ce stade les phases de négociations les sécurités et les échanges avec le protocle ESP sont maintenant autorisés, cependant aucun trafic n’est autorisé sur notre interface IPSec. Nous allons donc autorisé le trafic via notre interface logique IPSec venant de la source « Any » vers la destination de notre réseau internet soit Network_IN (Règle 1). Le trafic devrait également être possible du réseau interne vers « Any » via l’interface IPSec, règle autorisée de manière implicite par la Règle 10.

A ce stade la configuration du coté de notre routeur est effective et fonctionnelle. Nous allons maintenant pouvoir entamer la configuration coté client.

II.Configuration du client Shrew Soft :

Procurez vous dans un premier temps le client Shrew soft à cette adresse : http://www.shrew.net/download/vpn (les différentes versions du client sont en bas de page). Après avoir installé le logiciel nous allons lancer Access Manager qui permet comme son nom l’indique, de configurer notre (ou nos) connexion VPN IPSec.

Nous allons maintenant cliquer sur le bouton « ADD » afin d’ajouter une nouvelle connexion :

Une nouvelle fenêtre s’ouvre :

Nous allons y remplir l’adresse publique de notre routeur (en ce qui nous concerne notre nom de domaine DynDNS) ainsi que le port par défaut 500 (ISAKMP). Nous désactiverons l’auto-configuration et nous utiliserons notre carte réseau (et non une virtuelle) pour établir la connexion.

Ensuite allez dans l’onglet Client :

Nous activons le NAT Transversal en laissant le port par défaut, puis nous désactiverons la fragmentation IKE dispensable dans notre cas. Enfin, nous laisserons les autres paramètres par défaut.
Allez ensuite dans le Name Résolution :

Afin d’avoir une résolution des noms de machines du réseau local nous activerons le DNS en précisant le suffixe dns : etudarmor.lan. Ceci nous permettra d’utiliser les mêmes scripts déjà établis, nous évitant de les refaire avec les @ IP des machines.
Passons maintenant a l’étape Authentification en cliquant sur l’onget du même nom :

La méthode d’authentification est Mutual RSA (échange de certificats).
Ici nous allons déterminer l’identification locale, qui identifie le nomade. Cette identification doit correspondre à une entrée dans l’annuaire LDAP précédemment défini. Nous choisirons donc le type d’identification « ASN.1 Destinguished Name » et cochons l’option « Use the subject in the client certificate ».

Ensuite nous allons configurer l’identité distante en cliquant sur « Remote Identity » :

Nous allons définir la même identité que nous avons défini plus haut lors de la configuration du tunnel, à savoir ASN.1.
Passons maintenant à l’onglet « Credentials » :

Nous allons sélectionner trois fois notre certificat P12 se trouvant dans C:\Program Files\ShrewSoft\VPN Client\certificates\. En effet, ces trois informations se trouvent toutes dans le même fichier p12.

Paramétrons ensuite les éléments de sécurité de la phase 1 pour qu’ils correspondent à ceux du tunnel VPN (nous avons gardé ceux par défaut, mais il est tout à fait possible de changer ceux-ci, tant qu’ils correspondent avec la configuration sur le Netasq) :

Dans l’onglet de la phase 2 nous procédons de la même manière que la phase 1 :

Enfin, allons dans l’onglet Policy :

Nous désactivons la case « Obtain Topology Automatically or Tunnel All » et spécifions le réseau à atteindre : 172.16.0.0/16
Puis nous choisirons une niveau de politique unique pour la SA.
Notre client est maintenant configuré, il ne nous reste plus qu’à sauvegarder les différents paramètres renseignés en cliquant sur Save.
La connexion est maintenant créée :

Il ne nous reste plus qu’à la sélectionner et à cliquer sur « Connect », une fenêtre s’ouvre alors :

Cliquons sur « Connect » pour établir la liaison avec le réseau distant. Le mot de passe du certificat nous sera demandé, assurant une sécurité supplémentaire.

Si tout se déroule bien il apparaitra ceci dans le log de la fenêtre :

Si la négociation est effective nous verrons dans l’onglet Network ceci :

Une SA est bien établie et notre statut est connecté. Il ne vous reste plus qu’à nous connecter au réseau local.

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.