Pour les besoins du labo, nous avons utilisé une IP privée (172.20.0.0/12) pour simuler l'internet.
Le fonctionnement reste cependant le même.
Un collaborateur souhaite, depuis chez lui, pouvoir accéder au site intranet de son entreprise hébergé sur un serveur web (SRV-WEB) dans le batîment.
Nous allons (en temps qu'administrateur, depuis le PC admin) configurer le pare-feu de l'entreprise (pfsense1) afin qu'il devienne un serveur OpenVPN, auquel le PC collaborateur pourra se connecter pour accéder au serveur SRV-WEB.
On considère que tous les OS sont déjà installés sur les différentes machines.
On ne s'occupe ici que du paramétrage.
(Conformément au schéma, voici ce que vous devez obtenir, après avoir assigné les interfaces 1) et attribué l'IP pour chaque interface ainsi que la passerelle pour le WAN 2))
(pour ce labo, on monte un second pfsense)
(Conformément au schéma, voici ce que vous devez obtenir, après avoir assigné les interfaces 1) et attribué l'IP pour chaque interface ainsi que la passerelle pour le WAN 2))
Pour le PC collaborateur, ne pas oublier de faire un enregistrement DNS pour le site intranet auquel il souhaite pouvoir accéder.
Nous allons créer le site assistance.lan (GLPI).
Donc, dans le fichier hosts :
10.1.0.200 assistance.lan
(Par défaut, PFSENSE laisse passer tous les paquets en provenance du LAN et à destination du WAN (comme la box SFR)
Donc même si ce n'est pas une vraie box SFR, le fonctionnement est le même. Il n'y a donc aucune règle à ajouter.)
Téléchagez le script de configuration global debian ou freebsd pour aller plus vite.
faîtes également un enregistrement DNS sur le PC admin pour pouvoir tester le bon fonctionnement et faire la première configuration de GLPI.
On se connecte depuis le PC admin à l'interface grahpique de pfsense via son URL : http://10.10.0.254
(en fait, on prend directement celle de pfsense, pas besoin d'en créer une)
System -> Cert. Manager -> CAs -> + Add
Descriptive Name : VPN-CA
Method : Create an internal Certificate Authority
Lifetime (days) : 1095 (3 ans)
Country Code : FR
State or Province : ce que vous voulez
City :
Organization : VOTRE ENTREPRISE
Organizational Unit : IT
Save
System -> Cert. Manager -> Certificates -> + Add/Sign
Method : Create an internal Certificate
Descriptive name : VPN-SERVER
Certificate authority : VPN-CA
Lifetime (days) : 1095 (3 ans)
Common Name : VPN.domaine (s'il y a un domaine.. genre TSSR.INFO -> VPN.TSSR.INFO)
Country Code : FR
State or Province : ce que vous voulez
City :
Organization : VOTRE ENTREPRISE
Organizational Unit : IT
Certificate Type : Server Certificate
Alternative Names : FQDN or Hostname : VPN.domaine
Save
Si vous voulez créer un certificat spécifique à un utilisateur, faîtes cette étape 3), sinon, pour créer un certificat pour tous les utilisateurs, répétez l'étape 2), donnez le Descriptive Name : VPN-CLIENT et changez le Certificate Type pour User Certificate.
System -> User Manager -> Users -> + Add
Username : micheline
Password : P@ssw0rd (NE PAS DEPASSER 15 CARACTERES... SINON PROBLEMES SUR DES CLIENTS BSD SI VOUS CHOISISSEZ UNE AUTHENTIFICATION SSL/TLS/USER AUTH LORS DE LA CREATION DU SERVEUR !!!)
Certificate : Click to create a user certificate
Descriptive name : VPN-MICHELINE
Lifetime : 1095
Save
VPN -> OpenVPN -> Servers
Server mode : Remote Access (SSL/TLS) -> Permet de ne pas avoir à rentrer d'identifiant et de mot de passe sur le client au moment de la connexion au VPN
Device mode : tun - Layer 3 Tunnel Mode
Protocol : UDP on IPv4 only (par exemple)
Interface : WAN
Local port : 1194
Description : SERVEUR-OPENVPN
TLS Configuration : Use a TLK Key
Peer Certificate Authority : VPN-CA
Server certificate : VPN-SERVER (Server: Yes, CA: VPN-CA, In Use)
DH Parameter Length : 2048 bit
Data Encryption Negotiation : Enable Data Encryption Negotiation
Data Encryption Algorithms : enlever l'AES-128 de la colonne de droite en cliquant dessus
Fallback Data Encryption Algorithm : AES-256-CBC (256 bit key, 128 bit block)
Auth digest algorithm : SHA-256 (256-bit)
Certificate Depth : Two (Client+Intermediate+Server)
Client Certificate Key Usage Validation : Enforce key usage
IPv4 Tunnel Network : 10.199.199.0/24 (ou une adresse de classe APIPA 169.254.0.0/16)
Redirect IPv4 Gateway : Force all client-generated IPv4 traffic trough the tunnel (dans le cas où vous souhaitez que toutes les requêtes web du client passent par le tunnel.. Attention aux règles de pare-feu OpenVPN qui suivront !! Dans le cas présent, on ne l'active pas, puisqu'on ne va autoriser la connexion QUE vers le SRV-WEB)
IPv4 Local network(s) : 10.1.0.0/24
Concurrent connections : 20 (tout dépend du nombre de personnes qui se conecteront au serveur openvpn) Dynamic IP : A vous de voir si vos clients sont en IP fixes ou dynamiques...
Topology : net30 --Isolated /30 network per client (si vous voulez isoler les clients.. attention, utilise 4 adresses IP par connection ! -> /30)
Inactive : 0
DNS Default Domain : cocher si vous avez un domaine (genre TSSR.INFO)
DNS Server enable : permettre au client d'utiliser le DNS de l'entreprise (indispensable dans le cas d'un active directory). Rajoute une carte réseau virtuelle sur le client, permettant de renseigner le DNS du Serveur AD de l'entreprise (où celui qui vous arrange !)
Block Outside DNS : pour clients windows 10
Force DNS cache update : forcer la mise à jour du cache DNS sur les clients windows
NTP Server enable : si l'entreprise est reliée à un serveur NTP particulier
Save
Firewall -> Rules -> WAN -> Add
Protocol : UDP
Source : any
Destination Port Range : From 1194 To 1194
Description : OpenVPN-access
Save
Apply Change
Firewall -> Rules -> OpenVPN -> Add (créer les règles souhaitées.. interdire l'accès à l'AD etc..)
Pour l'exemple, on va uniquement autoriser la connexion vers le SRV-WEB
Protocol TCP
Source Network : 10.199.199.0 /24
Destination : Single host or alias : 10.1.0.200 (IP de SRV-WEB)
Destination : From 80 to 80
Description : SRV-WEB_access
Save
Apply Change
Dernier point à modifier : dans notre cas de figure, le WAN est un réseau d'IP privé..
Or, par défaut, PFSENSE bloque les IP provenant des réseaux privés à son entrée WAN.
Firewall -> Rules -> WAN : RFC1918
Ouvrez la règle par défaut concernant l'interdiction des réseaux privés d'accéder par la WAN (RFC1918)
Allez décocher les 2 options tout en bas de la règle, enregistrez, et appliquez les changements.
System -> Package Manager -> Available Packages -> Search term : openvpn -> Search
installez openvpn-client-export
VPN -> OpenVPN -> Client Export -> Remote Access
Server : SERVEUR-OPENVPN UDP4:1194
Additional configuration options : auth-nocache
Save as default (descendre plus bas)
VPN-CLIENT-MICHELINE
Pour un client sur FreeBSD, le script de configuration général permet de configurer le client automatiquement.