Open VPN sous Pfsense

Le but de ce tutoriel est d’installer un serveur VPN sur Pfsense.

L’identification de l’utilisateur passe par un serveur Active Directory (supinfo.local)

Nous devons aussi configurer Pfsense afin que l’utilisateur puisse se connecter à une interface graphique pour qu’il puisse télécharger le logiciel OpenVPN.

1 – Configuration du serveur Active Directory

Domain Controler

  • Dans notre cas le domaine est supinfo.local
  • Nous avons créer l’arborescence suivante : UO :  Pfsense > Users
  • Dans l’UO Users, nous avons créé 3 objets :
    • Un utilisateur autorisant l’accès à Pfsense (OpenVPN) : accesvpn
    • Un utilisateur “test”
    • Un groupe permettant de donner des droits d’accès (exemple : télécharger le logiciel)

2 – Création d’un certificat :

Cert Manager Menu

  • Cliquer sur le + afin de créer un nouveau certificat

Nouveau CA

  • Remplir les champs comme ci-dessous puis cliquer sur SAVE :

Informations CA

3 – Gestion des utilisateurs du domaine

Afin de connaitre le chemin exact de l’utilisateur :

    • Sur votre Contrôleur de Domaine
      • Lancer une mmc
      • Ajouter le composant “Utilisateurs & ordinateurs”
      • Dans Affichage sélectionner “fonctionnalités avancées”
      • Recherche votre utilisateur et faîtes un clique droit puis“Propriété”
      • Afficher l’onglet “Editeur d’attributs”
      • Rechercher la variable “distinguishedName” et noter ses paramètres

distinguishedName

User Manager Menu

  • Cliquer sur le + afin d’ajouter un nouveau moyen d’authentification

AD Authentification

  • Remplir les champs :
    • IP : celle de votre serveur Active Directory
    • Port : celui par défaut 389
    • Certificat : Celui créer précédemment (CA_access_VPN)
    • Search Scope :
      • Sélectionner : Level : “Subtree”
      • Base Name : supinfo.local : DC=supinfo,DC=local

Authentification DC Paramètres

      • User DN : la valeur de distinguishedName trouvé dans la manipulation sur le DC
      • Entrer le mot de passe de l’utilisateur
      • Valider

Paramètres DC

  • Dans le User Manager, sélectionner le DC (Supinfo)

User Manager Settings

  • Installer le package OpenVPN Client Export Utility
    • System > Packages > Available Packages

Installation OpenVPN Client Export Utility

  • Dans le User Manager, Créer un nouveau Groupe
    • Le nouveau groupe sur Pfsense doit-être identique au groupe sur le DC

Groupe User Manager

  • Ajouter le droit de pouvoir télécharger le package d’installation d’OpenVPN avec la configuration du client
    • Cliquer sur le + de Assigned Privileges et selectionner “OpenVPN : Client Export Utility”

Droits groupes User Manager

4 – Création du serveur OpenVPN :

  • Lancer VPN > OpenVPN > Wizard

Wizard OpenVPN

  • Sélectionner le serveur DC (Supinfo)

Wizard OpenVPN LDAP

  • Sélectionner le certificat (CA_access_VPN)

Wizard OpenVPN CA

  • Créer le certificat du serveur (les informations sont pré-remplies)

Wizard Création certificat

Wizard Création certificat Suite

  • Choisir comme Encryption Algorithm : BF-CBC (128 bit)

BF-CBC (128 bit) Wizard Création

  • DNS Default : Celui de votre DC, DNS 1 : L’adresse IP de votre DC

Paramètres IP du client

Wizard règles automatique Firewall

Wizard Terminé

5- Configuration du Firewall

  • Dans Interfaces > WAN
    • Vérifier que la case “Block private networks” est décochée

Vérification paramètrage Firewall sur l'interface WAN

  • Ajouter une règle sur votre Firewall afin que vos utilisateurs puissent accéder à l’interface web pour télécharger leurs configurations

Règle HTTP WAN > Internet

Règle HTTP WAN > Internet Suite

6 – Installation d’OpenVPN sur le client :

  • Lancer un navigateur web et entrer l’adresse de votre serveur Pfsense

Connexion du client sur l'interface web

  • Descendre en bas de la page et télécharger votre Installeur en fonction de votre plateforme

Téléchargement de l'installeur

  • Lancer votre installation …
    • Lancer OpenVPN et faire un clique droit sur l’icône de notification (fenêtre avec un cadenas)
    • Cliquer sur connecter

Première connexion

  • Identifiez-vous avec un utilisateur du domaine appartenant au groupe VPN

Identification OpenVPN

  • Notre client est bien connecté avec l’IP 10.0.10.6

Connexion réussie, Adressage IP Automatique

 

Vous avez correctement configuré Pfsense pour un serveur OpenVPN.

Publicités

Installation et Configuration de SquidGuard sur Pfsense

SquidGuard permet de bloquer certain contenu sur Internet.

Les listes de contenu peuvent-être manuel ou téléchargeable :

http://www.shallalist.de/Downloads/shallalist.tar.gz

http://squidguard.mesd.k12.or.us/blacklists.tgz

Les listes ci-dessus sont compatible avec Pfsense.

  • Installer le package “squidGuard-squid3 « 

menu  menu

Installation du Package SquidGuard

  • Configurer votre Proxy filtrer :

menu

  • Aller dans “Blacklist”

menu

  • Entrer l’URL d’une source de liste de filtrage et attendre “Blacklist update complete” :

http://www.shallalist.de/Downloads/shallalist.tar.gz

OU

http://squidguard.mesd.k12.or.us/blacklists.tgz

Téléchargement et Installation de la blacklist

  • Retourner dans la configuration générale

menu

  • Cocher la case “Blacklist” et cliquer sur “Save”

activation du blacklistage

  • Remonter et activer le proxy

activation de SquidGuard

  • Dans Commun ACL cliquer “Rules”

menu

  • Choisir les catégories à bloquer

catégories de filtrage

  • Activer la protection des moteur de recherche : “SafeSearch”.
  • Dans notre cas, lorsqu’une page est bloquée, Pfsense l’a remplace par un message d’erreur.

activation du safesearch

  • Appliquer les changements

application des changements

page bloquée

La page est bloquée.

Vous avez configuré votre filtrage web.

Mise en place de Squid3 avec Pfsense (mode Transparent)

Nous allons mettre en place un proxy avec Pfsense.

Ce proxy sera l’intermédiaire entre le réseau Internet, notre réseau LAN et Pedago.

Le but de ce serveur est de protéger les réseaux ascendants du réseau Internet ou externe.

Un proxy régule les données qui transite par lui-même.

Dans notre cas, nos clients ne recevrons que des informations sur des pages web.

Il sera impossible d’établir un contrôle distant depuis le réseau Internet directement sur un client connecté au proxy.

  • Installation du package SQUID3

image

  • Cliquer sur “Available Packages”

image

  • Installer le package SQUID3 et patienter pendant l’installation

image

image

  • Aller dans “Services” puis dans “Proxy server”

image

  • Configurer votre serveur proxy :
  1. Sélectionner les réseaux (ici : LAN et PEDAGO)
  2. Cocher : Allow users
  3. Cocher Transparent HTTP proxy (permet de ne pas renseigner l’utilisation d’un proxy sur les clients).

image

  • Descendre en base de la page et cliquer sur “SAVE”

image

 

 

 

Ci-dessous la vidéo de la manipulation.

DNS avec Pfsense

Dans un précèdent billet, nous avons routé les trames d’un réseau vers un autre afin d’afficher la page web Cubbyhole.

Le problème, c’est que le client devait taper : http://10.0.0.2

Afin de facilité la tâche aux clients nous allons mettre en place une résolution DNS.

Lorsque le client tape www.cubbyhole.com Pfsense va résoudre 10.0.0.2 puis router les trames d’un réseau à l’autre afin d’afficher la page web.

 

  • Aller dans “Service” puis “DNS Forwarder”

image

  • Descendre en bas de la page afin d’ajouter un hôte

image

  • Remplir les champs, Hôte, Domaine, et adresse IP ainsi qu’une description puis valider.

image

  • Appliquer les changements

image

 

  • Tester : Faire un ping de votre hôte :

image 

  • Dans notre exemple, le système résout et le navigateur nous affiche la page web :

image

 

Ci-dessous la vidéo de la manipulation.

Routage via Pfsense

image

Nous allons mettre en place un routage pour que le terminal sur le réseau 192.168.1.0/24 puisse communiquer avec le serveur WEB sur le réseau 10.0.0.0 /16.

Il faut créer une règle permettant au terminal d’envoyer et recevoir les requêtes et permettre aussi au serveur web d’envoyer et recevoir les requêtes vers son client.

  • Aller dans “Firewall” puis dans “Rules”

image

  • Créer une nouvelle règle sur le réseau “source” :

image

  • Choisir l’interface, le Protocol, la source, la destination et les ports

image

image

  • Valider
  • Faire la même chose pour le réseau “destinataire” :

image

  • La même chose sauf qu’il faut inverser source et destination 😉

image

  • Ne pas oublier de sauvegarder la configuration :

image

Tester votre configuration :

image

Nous arrivons à afficher notre page web.

 

Ci-dessous la vidéo de la manipulation :

Ajouter une interface réseau sur Pfsense

  • Lancer votre navigateur Internet et se connecter sur l’interface WEB de Pfsense (Interface LAN par défaut 192.168.1.1) puis entrer vos identifiants de connexion.

image

  • Rendez-vous dans le menu “Interfaces” et cliquer sur “Assign”

image

  • Cliquer sur le bouton “add”

image

  • Sélectionner dans la liste votre interface réseau à assigner sur la nouvelle interface OPT1 et cliquer sur SAVE

image

  • Configurer votre Interface en la sélectionnant dans le menu Interface.

image

  • Activer l’interface en cochant la case “Enable Interface”
  • Ajouter un nom dans “Description”
  • Définir la configuration IP : ici IPV4

image

  • Entrer une IPv4 : 10.0.0.1
  • Entrer un masque de sous réseau : /16
  • Cliquer sur Save

image

  • Appliquer la nouvelle configuration en cliquant sur “Apply changes”

image

  • Retourner sur l’interface principale, votre nouvelle interface réseau est configurée.

image

 

Ci-dessous la vidéo de la manipulation :

Configuration de Pfsense avec l’interface WEB.

  • Se connecter avec un équipement se trouvant sur le même réseau que l’interface LAN.

image

Dans mon cas, le serveur DHCP de Pfsense m’a attribué une adresse IP : 192.168.1.100.

Cette IP se trouve dans le même sous réseau que l’interface LAN (192.168.1.1 soit 192.168.1.0 /24).

 

  • Lancer un navigateur Internet et entrer l’URL : 192.168.1.1 (L’adresse IP de l’interface LAN)
  • Votre navigateur détecte un problème de certificat, créer une exception ou comme sous IE poursuivre votre navigation.

image

  • Pour votre première configuration, Pfsense demande une authentification.

Par défaut les identifiants sont :

Utilisateur : admin

Mot de passe : pfsense

 

image

  • Pfsense vous propose de lancer un assistant, cliquer sur Next

image

  • Pfsense vous demande de remplir des champs :
  1. Le nom
  2. Le domaine
  3. Les serveurs DNS (ces derniers sont modifiables par la suite).

Dans notre exemple, notre serveur Pfsense pourra être appeler par : pf-valenciennes.supinfo.com

Les serveurs DNS permettent à Pfsense de résoudre les noms de domaines afin de télécharger les différents packages nécessaires.

image

  • Sélectionner votre fuseau horaire

image

  • Configurer votre interface WAN.

Dans mon cas je laisse l’interface en adressage dynamique.

En production, je vous conseil de fixé cet IP (IP fixe).

image

  • Configurer votre interface LAN

image

  • Pfsense vous demande de changer votre mot de passe admin

image

  • Cliquer sur Reload afin de charger votre nouvelle configuration et patienter.

image

image

  • Une fois votre configuration initialisé, vous pouvez ouvrir l’interface WEB en cliquant sur le lien correspondant.

image

 

Ci-dessous la vidéo de la configuration.