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 :

Pfsense mise en place de règles firewall

  • Se connecter à l’interface d’administration Pfsense.
  • Cliquer sur “Firewall” puis sur “Rules”

image

  • Sélectionner l’interface puis cliquer sur “add”

image

  • Remplir les règles :

image

image

  1. Sélectionner l’action : On autorise, On n’autorise pas.
  2. Choisir l’interface
  3. Choisir le protocole
  4. La Source : Une adresse IP, un sous-réseau, un réseau, etc …
  5. La destination : Une adresse IP, un sous-réseau, un réseau, etc …
  6. Les ports : 80 (http), 443 (https), 53 (DNS), etc …
  7. Cliquer sur “SAVE”

Exemple pour la configuration du HTTPS :

image

image

  • Gestion des règles fonctionnent par arborescence :

Exemple : je souhaite utiliser le protocole http, Pfsense ce pose ces questions :

  1. Est-ce un DNS ?
  2. Est-ce un HTTPS ?
  3. Est-ce un HTTP => OUI, j’actionne la règle (ici, j’autorise).

image

Il faut ajouter la règle qui bloque tout en dernier (sécurité).

Il faut faire attention à la place des règles par soucis d’optimisation.

Dans l’exemple ci-dessus, il faut placer le http en 2èmes car il est plus souvent utilisé que le https.

  • Pour modifier l’ordre des règles :
  1. Cocher la règle
  2. Cliquer sur la main avec une flèche.

image

  • Ne pas oublier d’appliquer la modification de ces règles et d’attendre le rafraichissement.

image

Test : Essayer de vos connecter en http et https (exemple : http://www.google.fr)

puis connectez-vous en ftp (ftp://ftp.univ-lille1.fr/).

La connexion http et https réussit mais la connexion ftp échoue.

Logique: nous n’avons pas autorisé ce Protocol via une règle.

 

Vous avez correctement configuré vos règles.

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 :