Reseau:pfsense

De Wiki des Responsables Techniques du 85
Aller à : navigation, rechercher
Pfsense.jpg

Crédits

  • Auteur de la doc : Pierre-Alexandre RÉTHORÉ & Alexandre GAUVRIT

Présentation

pfSense est une distribution open source sous licence BSD. Elle est gratuite et permet de passer un simple PC en pare-feu. Il propose de nombreux services, entre autres : Firewall (il s'agit de celui de FreeBSD donc PacketFilter), Serveur DHCP, DNS, portail captif, dashboard, VPN, et bien d'autres. De plus, il dispose d'un service d'installation d'addons extrêment simplifié par rapport à la distribution IPCop par exemple (sur laquelle cela n'est pas très compliqué non plus).

Après une installation en mode console, il s'administre simplement depuis une interface web. Il peut être installé sur un ordinateur personnel ou bien un serveur, il permet entre autre de réaliser un portail captif ou bien réaliser du Load Balancing MultiWAN (pour utiliser deux connexion internet avec deux FAI différents pour avoir une redondance et ainsi éviter des pannes ADSL). La quasi-totalité des configurations possible avec pfSense se font sur son interface web. Dans ce tutoriel, une exception sera faites lors de la mise en place d'une page de redirection lors du blocage d'une URL du proxy.

Site officiel de pfSense : https://www.pfsense.org/

Matériel requis

Le matériel et la configuration minimale requise sur une machine :

  • 2 interfaces réseaux minimum
  • 2 Go de RAM
  • 4 Go de stockage (Mais il est préférable de prévoir un volume)
  • CPU : Atom C2338 2 Cores 1.7 Ghz

Le principe est que l'intégralité du réseau de l'école/établissement passe par cette passerelle de filtrage et ressorte ensuite vers la box Internet par l'autre interface.

C'est ce type de fonctionnement qui est préconisé et obligatoire dans les établissements.

Appliances pfSense

Sur le site officiel de pfSense, il est possible d'acheter des machines estampillés au nom de la distribution, la distribution est pré-installé et il y est proposé pas moins de six produits afin de répondre plus précisément aux besoins de chacun.

https://www.pfsense.org/products/

Serveur dédié

D'autres part, on peut trouver des serveurs reconditionnés pour un prix modique ( moins de 150€) sur le site allemand ServerShop24.de qui seront parfait pour ce genre de fonction.

https://www.servershop24.de/en/server/

Schéma réseau

Voici un exemple de configuration réseau possible avec pfSense, c'est aussi sous cette forme que ce tutoriel va évoluer.

Schéma réseau pfsense.png

Installation

pfSense est disponible en téléchargement sous deux options : la première pour installer pfSense et la seconde pour upgrader votre système. Par la suite, une page vous permettra à l'aide de menus déroulants de cibler la version de pfSense qui sera en adéquation avec votre équipement.

https://www.pfsense.org/download/

Si votre serveur ne dispose pas de lecteur CD on pourra installer pfSense depuis une clé USB bootable.

Pour cela il faudra utiliser un outil comme Rufus

Type de configuration réseau

pfSense peut considérer quatre types de réseaux distincts :

Zone Type Description
Rouge WAN Réseau exterieur, connecté a Internet (votre box)
Vert LAN Réseau interne/privé, connecté localement (vos ordinateurs)
Orange (OPT1) DMZ Réseau non protégé, zone démilitarisé (un serveur isolé)
Bleu WLAN Réseau sans fil, séparé pour les clients Wi-Fi

Installation de base

Démarrage

L'installeur vous demandera de définir successivement (images cliquables):

Boot.PNG

Par la suite, il peut se produire deux cas, le premier consistera dans une configuration étape par étape des paramètres primaires du serveur. L'autre situation, moins courante vous fera arriver directement à l'étape finale du premier cas, vous pourrez cependant reprendre l'ensemble des éléments de configuration vu dans le premier cas, c'est ce dernier que je vais décrire par la suite. Une signalisation écrite sera placé à l'étape où les deux cas se retrouveront.


  • Environnement

Environnement1.PNG Environnement3.PNG

Environnement.PNG Environnement4.PNG

Environnement5.PNG


Premiers paramétrages

Nous partons du principe que nous sommes dans le premier cas.

pfSense a alors redémarré, il va s'en suivre un chargement des divers paramètres du système qui peut éventuellement s'avérer être un peu long. Mais on arrive à l'écran suivant :

Vlan.PNG


Il est demandé s'il y a des VLANs à configurer. Ici, répondre non (à adapter selon votre cas bien sûre).

  • Par la suite, nous allons paramétrer les cartes réseaux. Le nommage des cartes étant parfois peu explicite, il est conseiller de repérer au minimum ceux du LAN et du WAN. Cela facilitera la détection des cartes par pfSense.

Configuration Cards.PNG


Tapez "a" si vous souhaitez opérer une détection automatique. Sinon entré le nom de la carte souhaité, ce dernier sera inscrit à gauche de l'adresse mac dans la liste des interfaces validées (en haut de la capture).

  • Ensuite, une fois la configuration des cartes effectuée, l'écran qui suit récapitule les différentes cartes réseaux et leurs affectations. Il vous posera la question si vous souhaitez procéder sous la configuration récapitulé.

End Conf Card.PNG


  • Vous avez rejoint à partir d'ici, le deuxième cas.
  • Désormais, notre pfSense est accessible à partir de son interface web sur l'adresse que vous lui avez attriburé sur sa carte LAN par la suite. On arrive donc à l'écran suivant :

10.PNG


En choisissant l'option 2, et par la suite le numéro de la carte souhaité. Vous pourrez attribuer la configuration réseau à vos cartes. Une question peut vous être posé à la suite d'une configuration si vous souhaitez remettre le configuration web via le protocole HTTP, répondez oui. Répéter l'opération jusqu'à ce que toutes les cartes soient configurées, ou bien vous pouvez aussi ne configurer que l'interface LAN puis configurer les autres via l'interface Web. Via l'interface Web, cela se fera lors de l première connexion, dans le cas contraire : onglet "Interfaces" puis choisissez la carte dont vous souhaitez modifier la configuration IP.


  • Vous pouvez désormais vous connectez à l'interface web depuis un poste du réseau LAN afin de procéder aux configurations. de base, l'identifiant est : "admin", le mot de passe : "pfsense". Ce sont les identifiants par défaut.

Connexion.PNG


  • Il est judicieux de changer le mot de passe du compte administrateur et éventuellement par la suite créer d'autres comptes. Pour ce faire, onglet "System" puis "User Manager"

User Manager.PNG


  • Dans le cas où vous souhaiteriez vous connecter à distance à pfSense via SSH. Voici la manipulation à effectuer pour rendre cela possible : onglet "System" puis onglet "Advanced", cocher la case "Enable Secure Shell" et éventuellement changer le port.

SSH.PNG

Les règles d'accès

pfSense permet de réaliser un filtrage par divers moyen (Protocoles, ports, etc...) sur chaque interface et pour cela, il est nécessaire de paramétrer des règles dans l'onglet "Firewall". dans pfSense, le système repose sur une gestion stricte des règles dans une liste, de manière hiérarchique donc. Il va alors lire les règles de haut en bas et lorsqu'il trouvera une règle concernant le traffic, il l'appliquera.


Règles de base

Par défaut, on trouvera avec pfSense un trafic totalement bloquer sur l'interface WAN et un trafic entièrement autorisé sur la LAN. Il ne faut cependant pas toucher aux règles sur l'interface WAN, du moins seulement pour autoriser un accès à un trafic entrant via un VPN ou pour une DMZ par exemple.


LAN

  • Etant donné que tout est autoriser en terme de trafic sur le LAN, il est judicieux de mettre en place une règle qui bloque tout le traffic puis créer des règles qui autorise un à un les protocoles ou les ports.


  • Les fonctions des deux règles par défaut présentes dans l'onglet LAN sont inscrites dans la colonne remplie de rouge. Il ne faut JAMAIS toucher à la première règle, cette dernière permet la connexion à l'interface web depuis la carte LAN. La seconde règle, elle autorise tout le trafic sur l'interface LAN, il faut donc qu'elle soit supprimer mais au cas où, je vous conseillerais de simplement la désactiver via le bouton edit de la règle. Onglet "Firewall" puis "Rules". Puis cliquez sur "Save" en bas de la page. (Vous pourrez aussi désactiver la règle autorisant l'ensemble du traffic IPv6 sur l'interface LAN)


Rules Lan ALL.PNG Disable Rules.PNG


  • Il faut désormais créer une règle qui bloque tout le trafic.

Create rules.PNG Create rules 2.PNG


  • Les règles à instaurer permettent un fonctionnement que l'on peut qualifier de "classique". Au travers des captures d'écrans, je vais vous indiquer la manière dont il faut remplir et les champs par la même occasion à adapter en fonction des cas. L'exemple ci-dessous concernera la création d'une règle permettant le HTTP. La troisième capture d'écran donnera un exemple d'ensemble de règles possible.

Add Rules.PNG


Example Rules.PNG Group Example Rules.PNG


WAN

  • Pour le WAN, pas besoin de s'éterniser très longtemps pour un fonctionnement basique, on peut simplement ajouter les deux règles suivantes :

Rules WAN.PNG


Squid & SquidGuard

Présentation

  • Squid est un serveur mandataire, en anglais un proxy, entièrement libre et très performant. Squid est capable de gérer les protocoles FTP, HTTP, HTTPS et Gopher. Il est généralement utilisé pour des fonctions de filtrage d'URL ou en tant que tampon. Les pages Internet sont stockées localement ce qui évite d'aller les recharger plusieurs fois et permet d'économiser la bande passante Internet.
  • SquidGuard est un filtre, un redirecteur et un plugin de contrôle d'accès pour Squid. Il va notamment permettre d'appliquer sur un proxy une liste noire de sites ou mots clés interdits.


Installation des paquets

  • Il est nécessaire de tracer toutes les communications vers l'internet au sein des établissements et pour cela, il va falloir installer des packages à pfSense. Pour cela, il faut se rendre dans l'onglet "System" puis dans "Packages". Deux onglets s'offre alors pour visualiser les paquets disponibles à l'installation et ceux actuellement installés. Donc, dans la partie "Available Packages", nous allons recherché les paquets "squid" et "squidGuard". Par la suite, il vous suffira de cliquez sur le "+" à droite du paquet.

Add packages.PNG


Configuration Squid (Proxy Server)

  • Désormais, suite aux dernières installations. Deux onglets ont été ajoutés dans le menu déroulant "Services". Il s'agit de Proxy Server et Proxy Filter, mais pour le moment, nous nous tiendrons à Proxy Server et à sa configuration. Il s'agit de squid. Pour commencer, rendons-nous dans le menu déroulant "Services" puis dans "Proxy Server". Dans la partie "General", Puis remplir les champs comme dans la capture d'cran si contre :

Conf Squid General.PNG


  • A partir d'ici, l'accès à internet est encore inactif, du moins si vous n'avez pas suivi la mise en application de mon ensemble de règles dîtes "classique". Si vous n'avez pas suivi, pas de panique, voici la règle à instaurer dans la partie LAN des règles du Firewall.

Rappel Rules.PNG


  • Nous allons donc poursuivre la configuration de squid en se rendant dans son onglet du menu déroulant "Services" puis dans la partie "Access Control". La section "Allowed Subnets" est à adapter en fonction de votre adresse réseau provenant de la carte LAN (ou l'emplacement ou vous souhaitez permettre un accès à internet).

Access Control.PNG


Configuration SquidGuard (Proxy Filter)

  • Maintenant que squid est configuré, il nous reste à préparer SquidGuard. Ce dernier permettra de filtrer et de contrôler les accès. Nous allons donc utiliser pour mettre en place ce filtrage, la blacklist de l'université de Toulouse, cette dernière est assez complète et propose un champ assez large de catégories afin de filtré au mieux un sujet précis.
  • Passons à la configuration générale de SquidGuard. Nous rentrerons dans la première page de configuration la blacklist de l'université de Toulouse Pour rappel, voici l'adresse :

ftp://ftp.univ-tlse1.fr/blacklist/blacklists_for_pfsense.tar.gz



  • MaJ 24/02/2016 : La blacklist ci-dessous est absolument à essayé, elle regroupe les éléments contenu dans la blacklist de Toulouse mais aussi des éléments

venant de diverses autres blacklist, ce qui l'a rend encore plus complète. Les catégories sont plus nombreuses et ciblent mieux les besoins en cas de filtrage.


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



  • Première page à configurer, rendez vous dans le menu déroulant, puis dans "Proxy Filter" :

Conf1 Filter.PNG


  • Ensuite, nous allons nous rendre dans l'onglet "Blacklist" et ensuite cliquer sur "Downloading" pour charger dans pfSense notre blacklist et son installation.

Blacklist.PNG


  • Une fois le téléchargement et l'installation complété, il faut désormais se rendre dans l'onglet Common ACL" et remplir la page (voir capture d'écran ci-dessous). En cliquant sur le bouton vert dans la barre rouge, vous pourrez spécifier votre configuration de filtrage avec les catégories de la blacklist installé.

Common Access.PNG


  • Il existe par ailleurs, dans la liste des catégories lors de votre paramétrage des catégories de la blacklist, un champ qui permet de tout bloquer ou tout autoriser. Cette dernière se nomme "default access".

Target Categories

  • Cette documentation couvrira la possibilité de bloquer les téléchargement de fichiers sous certaines extensions (avi, png, etc…), mais aussi bloquer l’accès à certains site par mots clés, ces règles sous pfSense se nomme Target Categories. Leur mises en application est géré dans la “Target Rules List” de l’onglet “Common ACL”, dans le panneau de configuration SquidGuard dans l’interface web de pfSense.

ATTENTION : Ce procédé nécessite la mise en place auparavant d’une blacklist.

ACCESS CONTROL LIST

  • Après avoir téléchargé votre liste noire, vous devrez configurer les catégories devraient être autorisés, bloqués, ou liste blanche. La méthode la plus simple de la configuration est d'utiliser l'onglet ACL commun. Les paramètres de la liste d'accès commun seront applicables à tous les utilisateurs du proxy. Si vous voulez appliquer des règles différentes à d'autres réseaux de la source, vous devez utiliser l'onglet groupes de l'ACL.
  • Par exemple, si vous voulez appliquer un filtrage lourd sur un groupe d'ordinateurs dans un laboratoire tout en accordant un accès illimité à des ordinateurs dans un autre réseau que vous souhaitez utiliser la configuration du groupe.
  • Dans le menu déroulant à côté de chacune des règles de cibles que vous pouvez sélectionner l'un des les actions suivantes :
    • Allow - Autorise l’accès à la catégorie cible moins bloquée par une autre règle ou l'exception.
    • Deny - Bloquer tous les accès à des sites dans la catégorie cible.
    • White List - Toujours autoriser l'accès à la catégorie cible.
  • Il est recommandé de bloquer les adresses IP dans l'URL. Cela permet d'éviter que les utilisateurs contourne le filtre en utilisant simplement l'adresse IP du site Web à la place de l'URL.
  • Par défaut lorsqu'un utilisateur tente de visiter une page bloquée, ils verront une page d'erreur interne indiquant que la page a été bloqué et qui cible la catégorie qu’elle relève éventuellement. Vous pouvez modifier la page de redirection vers une page vierge, ou tout autre URL interne ou externe. Par exemple, vous pouvez rediriger les utilisateurs de Google si vous voulez. Chaque fois que vous modifiez une règle de cible, vous devrez cliquer sur “Save” sur l'onglet des paramètres généraux pour que les modifications prennent effet.

FILTRAGE PAR EXPRESSION

  • En supplémentaire au domaine et filtrage d'URL SquidGuard pouvez créer des filtres utilisant des expressions régulières. Ces types de filtres fonctionnent quand vous voulez rechercher certaines chaînes de texte dans une URL pour prendre une décision de filtrage.
  • Pour créer un filtre qui utilise une expression, cliquez sur l'onglet “Target Categories” puis créer une nouvelle catégorie ou modifier un existant. Entrez l'expression que vous voulez filtrer dans la boîte d'expression et puis cliquez sur Enregistrer. Revenez ensuite à l'onglet “Common ACL” puis dans la partie de gestion de filtrages des catégories de la blacklist, une nouvelle ligne doit être apparue, elle porte le même nom que l’élément que vous venez de créer, sélectionnez l'action (deny ou allow) pour la catégorie de votre cible.
  • Voici quelques exemples d'expressions de filtrage. Celles-ci pourraient être modifiées en fonction de ce que vous avez l'intention de filtrer. Pour plus d'informations utiles sur le filtrage sur les expressions régulières vérifier http://www.squidguard.org/Doc/Examples.
  • Téléchargements de bloc sur la base extension de fichier
  (* \ /.* \ (zip |.. rar|exe|msi|mpeg|avi))
  • Bloquer certains domaines de premier niveau
(.gov | .xxx | .mil | .net)
  • Bloquer certains sites
(tf1|amazon)
  • Bloquer recherches pour "passer au travers d’un proxy" sur Google et Yahoo
(.*(google|yahoo).*(search_query|keywords|search|query|q|p)=.*(\+|\%20)*(passer|travers|proxy).*(\-|\+|\%20).*(passer|travers|proxy).*)

Target.PNG TargetPrecision.PNG

Astuces

  • Il est possible que pfSense ne prenne pas tout de suite en compte les modifications. Pour que la prise en compte soit plus rapide, une manipulation existe. Mais cette dernière peut aussi servir à forcer le démarrage de SquidGuard lors d'un redémarrage ou un éventuel arrêt de de ce dernier.

1 - Décocher la case "Enable" dans "General" puis sauvegarder.

2 - Recharger la blacklist en cliquant sur downloading dasn la partie du même nom que cette dernière.

3 - Une fois fini, recocher la case "Enable" puis sauvegarder, le service devrait redémarré.


Ou bien, pour une raison inexplicable. il suffit de rajouter une Target Categories vide ou non pour solutionner le problème.


Page de redirection

Lorsqu'un site web est sollicité depuis le LAN mais que ce dernier est bloqué par SquidGuard, il est judicieux de prévoir une page composé d'un avertissement expliquant la cause du blocage en cours plutôt que de rediriger ou d'afficher une page blanche. A cet effet squidGuard prévois une page de redirection très basique qu'on peut améliorer avec sa charte graphique. La page de redirection n'est pas un fichier html statique mais il est généré dans ce fichier :

/usr/local/www/sgerror.php
  • Pour le modifier, je vous conseille d'utiliser le logiciel Notepad++ sur Windows lorsque vous l'aurez exporté depuis pfSense à l'aide de WinSCP.
  • Vous pourrez retrouver une personnalisation complète avec fichier de style CSS + fonction php modifiée et images ici : GitHub pfSense sgerror

Extraction du fichier à l'aide de WinSCP

Winscp.PNG

Conseil : Il est judicieux de garder une sauvegarde du fichier original en cas d'incident et donc de travailler sur une copie. Prévoyez éventuellement un dossier avec les images que vous souhaitez intégrer. (Voir suite)

Modification de la fonction dans sgerror.php

La fonction "get_error_page" se trouve ligne 203 dans ce fichier. Voici un exemple de page de redirection modifié et son rendu quand il bloque un site blacklisté :

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# IE displayed self-page, if them size > 1024
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function get_error_page($er_code_id, $err_msg='') {
        global $err_code;
        global $cl;
        global $g;
        global $config;
        $str = Array();

        header("HTTP/1.1 " . $err_code[$er_code_id]);
			$str[] = '<html>';
			$str[] = '<head>';
			$str[] = '<meta charset="utf-8" />';
			$str[] = '<title>pfSense - Filtrage Internet College Saint-Jacques</title>';
			$str[] = '<link rel="stylesheet" href="style.css" type="text/css">';
			$str[] = '<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet" type="text/css">';
			$str[] = '</head>';
			$str[] = '<body>';
			$str[] = '<div class="header">';
			$str[] = '<h1>Accès Refusé</h1>';
			$str[] = '</div>';
			$str[] = '<div class="content">';
			$str[] = '<p class="pcontent">Le site que vous avez demandé est inaccessible depuis le réseau pédagogique de l&#039établissement.</p>';
			$str[] = '<img id="interdit" src="http://'. $_SERVER['HTTP_HOST'] .'/interdit.png" alt="Logo" width="250px" />';
			$str[] = '<p class="pcontent">Nous vous rappelons qu&#039au sein de l&#039établissement l&#039usage de l&#039accès internet est réservé à des activités pédagogiques.</p>';
			$str[] = '<div class="details">';

	if ($config['installedpackages']['squidguarddefault']['config'][0]['deniedmessage']) {
		$str[] = "<h3>{$config['installedpackages']['squidguarddefault']['config'][0]['deniedmessage']}: {$err_code[$er_code_id]}</h3>";
	} else {
		$str[] = "<h3>Requête rejetée par {$g['product_name']} : {$err_code[$er_code_id]}</h3>";
	}
			if ($cl['a'])        $str[] = "<p><span class=\"list\">Client address:  </span> {$cl['a']} </p>";
			if ($cl['n'])        $str[] = "<p><span class=\"list\">Client name:     </span> {$cl['n']} </p>";
			if ($cl['i'])        $str[] = "<p><span class=\"list\">Client user:     </span> {$cl['i']} </p>";
			if ($cl['u'])        $str[] = "<p><span class=\"list\"> URL:            </span> {$cl['u']} </p>";
			if ($cl['s'])        $str[] = "<p><span class=\"list\"> Client group:   </span> {$cl['s']} </p>";
			if ($cl['t'])        $str[] = "<p><span class=\"list\"> Target group:   </span> {$cl['t']} </p>";
			$str[] = '</div>';
			$str[] = '<img id="pf" src="pflogo.svg" alt="logo pfsense" width="150px" />';
			$str[] = '</div>';
			$str[] = '</body>';
		$str[] = '</html>';

        return implode("\n", $str);
}

Blocagesiteexemple.PNG

Une fois les modifications terminées, il faut remplacer le fichier "sgerror.php" originel par celui modifié. Si comme dans l'exemple, vous insérez une ou des images, transférez les fichiers dans le même emplacement que "sgerror.php".

Activation du blocage et redirection dans pfSense

Pour introduire le fonctionnement de cette page, une modification est nécessaire dans pfSense. Dans le menu déroulant "Services", puis "Proxy Filter" et "Common ACL".

Redirect Url.PNG

Sauvegarde Importante

  • Une fois votre page de redirection correctement configuré et fonctionnelle. Vous devez faire une copie de sauvegarde de votre fichier sgerror.php dans la version finale. Car lors des mises à jours de Squid et/ou SquidGuard, la mise à jour va remplacer le fichier par celui "d'origine".

Réglage Bande-Passante

  • Le but de cette documentation est ici d’expliquer comment, sur un réseau local, limiter l’utilisation de la bande-passante d’un ou plusieurs plans d’adressage réseau. Par exemple, considérons deux réseaux locaux ; le réseau administration en 192.168.100.0/24 et le réseau atelier en 192.168.151.0/24. Admettons que cette entreprise X dispose d’une connexion ADSL 20 Mega, le nombre d’utilisateur est beaucoup plus important sur le réseau atelier que celui de l’administration. Et de ce fait, il arrive couramment que les utilisateurs du réseau administration ne puissent pas utiliser internet, du fait d’une consommation totale de la bande passante par le réseau atelier. Le responsable de l’entreprise ne souhaite pas prendre un second abonnement internet, et voudrait qu’une solution soit déployé sur le pfSense afin de réguler l’utilisation de la bande passante entre ces réseaux.
  • Je vais ici montrer comment brider l’utilisation d’une bande passante via le firewall. Tester votre débit tout d’abord avec le site degrouptest ou speedtest. Le réseau atelier sera donc limité à titre d’exemple à 10 Méga descendant et 3 Méga montant.

Création Alias

  • L'intérêt de créer des alias ici est d'identifier clairement les adresses réseaux que nous disposons en local, ainsi lorsque nous créerons des règles, cela sera plus aisé et clair de nous y retrouvé.
  • Pour créer un alias, il faut se rendre dans l'onglet ⇒ FirewallAliases ⇒ Cliquer sur le bouton d'ajout d'élément (icône avec une croix) ⇒ Dans "Type", rentrer la valeur "Network" ⇒ Rentrer un nom ⇒ Ajouter l'adresse réseau correspondante à votre alias.
  • Créer autant d'alias que vous souhaitez en fonction de votre situation.

Mise en place

  • Pour commencer, aller dans l’onglet : ⇒ FirewallTraffic ShapperLimiterCreate new limiter

Bp 1.PNG


  • Répéter l’opération une nouvelle fois pour le debit montant cette fois-çi, hormis le nom, la description, et le débit, rien ne change.

Maintenant, aller dans “Firewall“ ⇒ “Rules“ ⇒ votre section local “LAN”. Puis cliquer sur le bouton pour ajouter une nouvelle règle. Rentré votre réseau dans la “Source”, personnellement j’ai créé un alias qui correspond à mon réseau. Ensuite rentré une description si vous le souhaitez, puis aller dans “Advanced Options”. Cette fois, allez à l’options “In/Out” dans les deux onglets disponible, rentré en premier la règle de sortie (upload) puis celle d’entrée (download), il ne vous reste plus qu’à sauvegarder.

Bp 2.PNG


  • La règle doit se trouver au plus bas du tableau possible, du moins en fonction des circonstances afin que la régulation de la bande-passante s’applique bien, puis appliquer les changements et tester sur un site de test débit comme degrouptest ou speedtest. Vous devriez voir alors que le test retourne un résultat correspondant au bridage prévu.

LightSquid

Présentation

  • Lightsquid est un analyseur de log SQUID écrit en perl, il permet d’afficher sous forme de page web l’utilisation du proxy. Avec lui, nous pouvons visualiser les sites les plus utilisé, les sites qui utilise le plus de bande passante, les utilisateurs qui se sont connecté à ces sites.

Installation du paquet

  • Vous pourrez l'installer en vous rendant sur le menu déroulant "System" puis dans l'onglet "Packages". Puis trouver le paquet "Lightsquid". Installez-le.

Configuration

  • Lorsque l'installation est terminé, il faut vous rendre sur le menu déroulant "Status" puis dans l'onglet "Proxy Report". Dans la page "Settings", renseigner les paramètres suivants :

46.PNG


  • Par la suite, il est nécessaire de vérifier que l'activation d'enregistrement des logs est bien configuré. Donc, dans le menu déroulant "Services" puis dans "Proxy server" dans la page "General" :

47.PNG


  • Maintenant, rendez-vous dans Lightsquid, il faut donc retourner dans l'onglet "Proxy Report". Sur la page général, cliquez sur "Refresh now" puis sur "Refresh full", puis cliquer sur l'onglet "Lightsquid report". Si tout s'est bien passé, vous devriez arriver sur cette page :
  • ATTENTION : Depuis la version 2.3 de pfSense, la configuration de lightsquid comporte le paramétrage d'un port d'accès. Par défaut ce port est le 7445. Cependant, vérifier bien vos règles dans le firewall afin de permettre l'accès à votre machine au pfsense sur le port en question afin d'avoir accès à l'interface web.

48.PNG


  • Ou bien, arrivez sur une erreur plutôt courante au vue des nombreuses pages ouvertes sur internet à ce sujet :

49.PNG

Pas de panique ! Retourner sur l'onglet "General" dans "Proxy report". Cliquez sur "Refresh now" puis ouvrez parallèlement deux ou trois onglets pointant sur des sites (Google, LDLC, etc... par exemple). Puis cliquez sur "Refresh full", cliquez par la suite sur "Lightsquid report", actualisé la page avec F5 et votre page web devrait s'afficher correctement.


Real Name

LightSquid permet donc de consulter la liste des destinations qu'un utilisateur a visité. Seulement, il peut être pratique de savoir dans LightSquid de voir quelle adresse est à qui sans avoir besoin de consulter la table ARP ou les journaux DHCP.

  • Méthode 1 (Manuelle)

Pour commencer, la première solution est la plus simple mais aussi la plus laborieuse si l'on souhaite résoudre cette problématique; est d'éditer un fichier permettant la corrélation entre une adresse IP et le nom d'une machine, ou éventuellement d'un utilisateur si ce dernier est en est le seul opérateur. Cette méthode ne fonctionne que si les postes sont paramétrés avec des adresses IP fixes, en effet cette dernière repose sur un système d'indication de nom par rapport à une adresse IP.

Le fichier à modifier est le suivant : realname.cfg

Vous pouvez modifier directement ce dernier par l'interface web en passant par le menu déroulant de "Diagnostic" puis en cliquant sur "Edit File".

Rentrer le chemin suivant dans le champ inscriptible : /usr/local/etc/lightsquid/

Puis cliquer sur le fichier indiqué précédemment, vous pourrez alors rentrer les données que vous souhaitez sous la forme à laquelle se trouvent les exemples déjà inscrits.

LightSquidMéthode1 1.PNG LightSquidMéthode1 2.PNG


Une fois fait,vous pourrez alors aller dans "Status", puis "Squid Proxy Reports" et rafraîchir les données dans LightSquid. Ensuite quand vous irez consulter les logs des éléments que vous aurez enregistré précédemment, vous obtiendrez ce résultat :

LightSquidMéthode1 3.PNG

  • Méthode 2 (Automatique)

En cours de R&D

VPN

OpenVPN : Présentation

  • OpenVPN est un logiciel libre permettant de créer un réseau privé virtuel (VPN). Il a été écrit par James Yonan. OpenVPN permet à des pairs de s'authentifier entre eux à l'aide d'une clé privée partagée à l'avance, de certificats électroniques ou de couples de noms d'utilisateur/mot de passe. OpenVPN n'est pas compatible avec IPsec ou d'autres logiciels VPN. Le logiciel contient un exécutable pour les connexions du client et du serveur, un fichier de configuration optionnel et une ou plusieurs clés suivant la méthode d'authentification choisie. Ce fichier voit le jour à la fin de la configuration de votre canal VPN, c'est ce qui va être présenté peu après.

Installation paquet

  • Nous allons avoir besoin d'un paquet pour compléter le service OpenVPN prévu initialement par pfSense : "OpenVPN Client Export Utility". Vous pourrez l'installer en vous rendant sur le menu déroulant "System" puis dans l'onglet "Packages".

Création Certificat & User

  • Nous allons désormais créer un certificat d'autorité, ce certificat prendra sous son autorité les certificat utilisateur créer par la suite. Pour ce faire, rendez vous ans le menu déroulant "System", puis dans l'onglet "Cert Manager".

Create Certificate.PNG Result Crate Certificat.PNG


Création Utilisateur

  • Maintenant, il est nécessaire de créer un utilisateur, pour se faire, menu déroulant "System", puis dans "User Manager". Cliquez sur l'icône avec un "+" pour créer votre nouvel utilisateur, nommez-le, indiquez lui son mot de passe et son nom complet puis cochez la case : "Click to create user certificate". Dans le champ "Descriptive name", rentrez le nom de votre futur certificat utilisateur. Assurez-vous que dans le champ "Certificate authority", le nom choisit soit le même que celui du certificat d'autorité que vous avez créé un peu plutôt.

Create User.PNG

User Create.PNG

Configuration OpenVPN

  • Désormais, rendez vous dans le menu déroulant "VPN" puis dans l'onglet "OpenVPN". Si vous ne tombez pas directement sur une pré-configuration à faire. Cliquez dans la partie "Wizard" et vous serez au même point que ce tutoriel. Dans la capture d'écran correspondant au "Tunnel settings". Le champ "ipv4 Tunnel Network" servira à définir un réseau pour le tunnel et le champ "ipv4 local network" permettra de définir le réseau sur lequel l'utilisateur doit accéder au final.

36.PNG 37.PNG 38.PNG

39.PNG 40.PNG 41.PNG

42.PNG


Récupérer le client de connexion

  • Nous pouvons désormais avoir un Tunnel sécurisé avec notre serveur depuis l'extérieur, pfSense propose de récupéré un "Client export" pour divers supports. Donc pour récupérer ce dernier, nous devons nous rendre dans l'onglet "Client export", puis tout en bas de la page dans un bandeau rouge : "Client install packages". C'est ici que se trouve vos différents clients téléchargeables en fonction de vos certificats. Il suffit ensuite dans la partie export du client souhaité de choisir la plateforme avec laquelle vous allez par la suite vous connectez.

Client Export.PNG


  • Mais il se peut que votre client n'apparaisse pas, dans ce cas, dirigez vous vers la partie "Server". Cliquer sur le bouton d'édition. Puis dans le champ "Peer Certificate Authority", vérifiez qu'il s'agit du bon nom de certificat. Cela devrait résoudre ce soucis.

44.PNG


  • Pour un environnement Windows, il faudrait donc choisir "Windows Installer".

Connexion

  • Après avoir récupéré votre client, il suffit de le lancer et de rentrer les identifiants de l'utilisateur créé précédemment. Puis si la console finit par vous indiquez : "Initialization Sequence Completed", c'est que vous vous êtes connecté avec succès à pfSense vient un canal sécurisé.

45.png