Vous êtes sur la page 1sur 12

Pfsense Configuration dune connexion VPN sous Pfsense avec OpenVPN et authentification AD

11 septembre 2012 papyruse Poster un commentaire Go to comments Comment configurer une architecture VPN afin de pouvoir accder son rseau dentreprise depuis lextrieur grce au firewall Pfsense et sa tech nologie OpenVPN tout en utlisant une authentification directement depuis Active Directory Prsentation Il sagit de mettre en place une solution qui va permettre un accs externe notre rseau dentreprise via une connexion VPN de type OpenVPN qui sappuiera sur un quipement de type Firewall Pfsense et se fera via le biais dune authentification Active Directory. Nous verrons comment configurer cette liaison Active Directory afin de permettre la connexion VPN un groupe restreint dutilisateur et galeme nt comment rendre cette installation/configuration trs simplifie pour le client final afin quil soit autonome sur sa mise en place grce un package gnrer et tlcharger directement depuis linterface web du firewall. Lauthentification Active Directory permettra donc la connexion en web sur le firewall afin de rcuprer ce package mais servira galement ltablissement de la liaison VPN.

Configuration et Mise en Place

> Pr-requis - Un Firewall Pfsense version 2.0 minimum dj configur avec le minium standard (interfaces, rgles de firewall, passerelle, etc) - Un Active Directory - Il est conseill davoir une trame IP rseau de lentreprise diffrente des trames standards (exemple de type trame viter : 192.168.1.0, trs prsente chez les particuliers, cyber-caf, etc) et notamment diffrentes des rseaux locaux des connexion distante afin dassurer une liaison optimum. > Creation du Certificat Sur le firewall Pfsense, rendez-vous dans le menu System > Cert Manager puis sous CAs , crez une nouvelle autorit de certification en cliquant sur le + et choisissez Create an internal Certificate Authority Remplissez alors les champs demands avec les infos que vous le souhaitez

Cliquez sur Save pour terminer la cration du certificat. > Configuration de lAuthentification AD Il va falloir crer un utilisateur sur lActive Directory d u client qui va permettre au firewall de sauthentifier sur lAD grce ce compte.

Rendez-vous maintenant sur le Firewall Pfsense qui servira pour le VPN et allez dans le menu System > User Manager puis sous longlet Server et ajoutez alors une nouvelle connexion en cliquant sur le +

Voici les info renseignes (voir galement capture ci-dessous) : Descriptive Name Hostname or IP Adresse Port value Peer Certificate Autority Protocol Version Search Scope > Level Search Scope > Base DN Authentification Contenainers Bind Credentials Serveur AD LIP du serveur AD 389 Le certificat prcedemment cre savoir ici : CA_Acces_Externe 3 Entire Subtree Dans le cadre o notre domaine AD est Corp.local nous mettrons lADSPath : DC=Corp,DC=local Dans le cadre o notre domaine AD est Corp.local nous mettrons lADSPath : DC=Corp,DC=local Decocher la case Use anonymous Le chemin AD du user prcedement cre, savoir ici : CN=AccesVPN,OU=Utilisateurs,OU=Reseau,OU=Systeme,OU=02Corp,DC=Corp,DC=localSi vous souhaitez rcuprer ce chemin, ouvrer une mmc Utilisateurs et Ordinateurs Active Directory puis afficher les fonctionnalits avancesFates un clic droit sur lutilisateur puis proprit et rendez-vous dans longlet Editeurs dAttributs Reprez la valeur distinguishedName puis cliquez sur Afficher afin de rcuprer la valeur.

Bind Credentials > User DN

Bind Credentials > Le mot de apsse associ au compte prcedemment cre Password Initial Template Remplacer Openldap par Microsoft AD

Cliquez sur Save Afin de tester que la connexion fonctionne, diter votre configuration linstant cre en cliquant sur e et cliquez sur select en face de Authentification Containers Si vous voyez larborescence de votre Active Directory cest que la connexion stablie. Vous pouvez galement vrifier cette connexion par un autre biais (qui doit rester un complment par rapport la vrification prcedente). Dans le firewall, rendez-vous dans le menu Diagnostics > Authentification et renseignez les informations requises par rapport la cration du compte prcedent en selectionnant bien votre Serveur AD et cliquez sur Test .

Si la connexion choue, vrifiez bien vos paramtres de filtrage (sur le serveur et sur le firewall pfsense), vos paramtres active directory, etc Rendez-vous de nouveau dans le menu System > User Manager puis dans longlet Settings . Slectionnez alors votre serveur AD sous la liste droulante Authentification Server puis cliquez sur Save

Maintenant, allez dans longlet Groups . Nous allons crer un groupe sur linterface du firewall qui va nous permettre de dfinir quels sont les utilisateurs de lAD qui auront le droits de se connecter en VPN. Pour cela, il faut obligatoirement que les groupes que nous allons cres portent exactement le mme nom quun groupe existant sous lAD et que ce dernier (dans lAD) comporte des Utilisateurs et non des groupes. Dans notre exemple, nous allons autoriser un groupe special pour lacces au VPN contenant des utilisateurs et que nous devrons alimenter au fur et mesure des personnes que nous souhaitons voir accder au VPN. Cliquez sur le + pour ajouter un nouveau groupe.

Sous Group Name entrez le nom exact du groupe de lAD que vous souhaitez autoriser pour la connexion VPN et cliquez sur Save Editez le groupe nouvellement cre en cliquant sur le e puis cliquez sulr le + sous Assigned Privileges Selectionnez alors uniquement la ligne WebCfg OpenVPN: Client Export Utility et cliquez sur Save

Cliquez de nouveau sur Save afin de sauvegarder vos paramtres. Rptez lopration pour tous les groupes dont vous souhaitez autoriser laccs au VPN. La connexion lAD et les privilges tant tablis, nous allons passez la cration de la connexion VPN. > Configuration de la connexion VPN Sur le Firewall VPN, allez dans le menu System > Packages > Avaibles Packages et installer le package OpenVPN Client Export Utility

Une fois le package install, rendez-vous dans le menu VPN > OpenVPN pour sous longlet Wizzard . Slectionnez alors LDAP dans la liste droulante

Slectionnez alors votre connexion Server AD puis cliquez sur Next Slectionnez ensuite votre autorit de certification prcdemment cre (ici CA_Acces_VPN ) puis cliquez sur Next Cliquez alors sur Add New Certificate

Renseignez alors les champs demander en fonction du client et mettez par exemple en Desciptive Name la valeur VPN_Acces_Externe . Cliquez ensuite sur Create New Certificate Une fois votre certificat selectionn, vous allez arriv sur la page de la configuration pur du serveur OpenVPN. Nous allons la dcortiquer. Rubrique General OpenVPN Server Information Selectionnez linterface par lequel entre le VPN (WAN si vous avez une patte sur internet en direct, LAN si vous navez quune patte local) Protocol UDP Local Port 1194 (ou autre) Description VPN_Acces_Externe Interface Rubrique Cryptographic Settings TLS Authentification Laissez la case Enable. coche Generate TLS Keys Laissez la case Automaticaly coche DH Parameters Lenght 1024 Bits Encryption Algorithm Ici il faudra selectionner BF-CBC (128 Bits) Hardware Cryto No Hardware Rubrique Tunnel Settings Entrez ici un adressage IP qui servira ladressage du tunnel VPN. Vous Tunnel Network pouvez par exemple utilisez la valeur 10.0.8.0/24 de notre exemple en vous assurant que cette adressage ne soit pas utiliser chez le client Redirect Gateway Laissez loption dcoche Entrez ici ladressage LAN du rseau de lentreprise (le rseau o nous Local Network installons le VPN) que vous souhaitez pouvoir atteindre depuis le VPN. Exemple ici 192.19.28.0/24 Concurrent Laissez vide Connections Compression Cochez la case Compression Type-of-Service Laissez loption dcoche Inter-ClientLaissez loption dcoche Communication Duplicate Cochez la case Allow Connections

Rubrique Client Settings Laissez loption coche Laissez loption coche Saisissez ici le nom de domaine (de lAD) que vous souhaitez voir au travers du VPN correspondant ici Corp.local Saisissez ici lip du serveur DNS de ce nom de domaine (en general le DNS Server 1 controlleur de domaine). Ici se sera par exemple lIP du serveur AD soit 192.19.28.12 Dynamic IP Adresse Pool DNS Default Domain Laissez le reste avec les options par dfaut et cliquez sur Next Sur lcran suivant, vous pouvez choisir si vous souhaitez que le processus de configuration cre une rgles sur le Firewall automatiquement afin dautoriser la connexion stablir depuis lextrieur (il est conseill de la coch) via loption Firewall Rule ainsi quune rgle autorisant tout le traffic client voir lensemble du rseau derrire le VPN. Concernant cette dernire, vous avez le choix de la coche si tel est le cas, mais si vous ne souhaitez autoriser quune sorte de traffic (ex : RDP, DNS uniqument) alors laissez la dcoch, nous allons voir la partie paramtrage de firewall pour ce genre de rglage par la suite.

Une fois termin, cliquez sur Finish afin de procder la cration de la connexion. Vous pourrez alors voir votre nouvelle connexion sous longlet Server et lditez si vous le souhaitez. > Configuration des rgles de filtrage

Nous allons maintenant voir la partie Firewall afin de filtrer uniquement un type de contenu autoris au travers du VPN. Si vous avez souhaitez autoris tout la traffic via loption qui le permet lors de la configuration du VPN, vous pouvez alors sauter cette tape. Rendez-vous dans le menu Firewall > Rules Sous longlet de linterface entrante du VPN (ici dans notre exemple le LAN est rep rsent par linterface 01_Production ) vous devriez avoir une rgle qui autorise la connexion du VPN sur votre firewall (cette option t cre automatiquement si vous avez bien laissez coch loption adquate comme conseille ci-dessus). Si ce nest pas le cas, il va falloir la cre.

Nous allons ici dfinir ici que, par exemple, seul le protocole RDP servant se connecter un serveur en particulier ainsi que le protocole DNS permettant de rsoudre les nom interne des machines sur le rseau est autoris. Pour cela, nous allons tout dabord crer des Alias, rpresentant ces 2 machines (le serveur TSE et le serveur DNS) Rendez-vous dans le menu Firewall > Alias . Cliquez sur + afin dajouter une nouvelle entre. Entrez alors un nom designant la machine DNS ainsi que son IP.

Fates de mme pour toutes les machines concernes par vos rgles de filtrage (Ex : Serveur TSE, ). Revenez ensuite dans le menu Firewall > Rules puis maintenant allez dans longlet OpenVPN Crez alors vos rgles de filtrage en autorisant vos protocole passer depuis le VPN et en utilisant vos alias prcedemment cres.. Voici un exemple ici de 2 rgle mises en place :

> Accessibilit du firewall depuis lextrieur Vous aurez besoin de rendre accessible votre firewall depuis lextrieur pour 2 raisons :

Afin que la connexion VPN puisse se faire Afin que lutilisateur puisse se connecter sur linterface afin de tlcharger le package dinstallation/configuration de sa connexion VPN

Pour cela, commencer par crer un pointeur DNS sur le nom de domaine Internet de lentreprise pointant vers lIP WAN du firewall VPN si vous en possdez une, ou bien vers lIP publique de la passerelle par dfaut du reseau de lentreprise sur lequel se trouve le firewall VPN (si cest le cas, vous retrouverez dans la rubrique suivante les lments configurer sur cette passerelle afin de rendre la connexion possible). Exemple de pointeur DNS sur le nom de domaine internet crer : Type Nom du pointeur IP A remote x.x.x.x (remplacez par lIP publique) Vous pourrez alors desormais accder au firewall depuis lexterieur en tapant remote.exemple.fr depuis lexterieur > Configuration de la passerelle par dfaut Si votre Firewall nest pas la passerelle par dfaut du rseau du client, il vous faudra alors configurer certaines rgles sur cette passerelle afin de pouvoir router les requtes du VPN vers votre firewall VPN (impratif)

Au niveau Routage :

Voici par exemple une rgle fates pour notre connexion VPN sur un Firewall de type Zyxell USG 100 qui est la passerelle par dfaut du rseau du client. Dans cette rgle nous indiquons tout simplement que pour atteindre le rseau 10.0.8.0/24 qui est notre rseau VPN, il faut passer par notre firewall VPN sur le rseau.

Au niveau NAT/Firewall

Il faudra galment natter et autoriser les ports 443 et 1194 (ou le port configur en amont si vous lavez chang) en destination vers lIP local du firewall VPN afin de pouvoir atteindre son interface Web depuis lexterieur afin que le client puisse se connecter pour tlcharg le package dinstallation/configuration de son accs client et galement pour redirig la connexion VPN vers ce dernier. > Installation Cliente La configuration de la connexion tant termine, afin de pouvoir lexploiter et lutiliser, il suffira de vous rendre sur linterface Web du Firewall VPN (depuis lexterieur grce au pointeur DNS sur le nom de do maine internet prcedemment cre ou en LAN depuis lIP local du Firewall VPN) afin de tlcharg le package client qui procdera linstallation du VPN sur son poste ainsi qu sa configuration. Une fois sur celle-ci, il suffit de se connecter avec un compte autoris de lAD (voir chapitre II) en utilisant ses informations de connexion Login et Mot de Passe. Vous arriverez alors directement sur la page permettant de tlcharger le package dinstallation. Avant de le tlcharger, il faudra modifier certains paramtres. Remote Acces Concerne la configuration de la connexion VPN tablie plus haut Server Host Name Choisissez Other puis entrez le pointeur du nom de domaine designant Resolution lIP publique de votre Firewall (dans notre exemple : remote.exemple.fr) Cliquez alors sur le package de votre choix

La configuration est dsormais termine et oprationnelle.