Mise en place d'un proxy transparent sous PFsense (sans filtrage). Nous verrons dans un second temps, la mise en place d'un proxy avec authentification radius.
PFsense 2.2.2 Utilisation de SQUID
Installation des paquets nécessaire :
System - Packages - Available Packages
Rechercher et installer les paquets SARG et Squid
Configuration de Squid
Services - Proxy server
Proxy server : General settings
Proxy interface : Sélectionner la ou les interfaces qu'utilisera le proxy
Allow users on interface : Si c'est cocher, vous n'avez pas besoin de configurer Access Control, tout les sous réseau de l'interface sont autorisé
Transparent proxy : Cocher cette option
Enable logging : Cocher cette option
Log rotate : Spécifier le nombre de jours avant de faire la rotation des logs
Proxy port : Spécifier le port d'écoute de votre proxy
Visible hostname : Renseigner le nom d'hote à afficher
Language : Spécifier votre langue (ici French)
Suppress Squid Version : Cocher cette option afin de masquer la version de Squid
Proxy server : Traffic management
Vous pouvez spécifier des limites de Download, Upload, Bande passante alloué ...
Proxy server : Access control
Si vous n'avez pas cocher la case Allow users on interface dans l'onglet General, vous devez spécifier les réseaux autorisés à utiliser votre proxy de cette façon
Test du proxy transparent :
Sur vos poste client, indiquer en passerelle votre par feu PFsense
Aller sur le site http://www.monip.org/
Vous devriez obtenir le résultat suivant :
PFsense 2.2.5 Utilisation de SQUID 3
Installation de SQUID 3
System - Packages - Available Packages
Rechercher et installer le paquet Squid3
Configuration de Squid 3
Pour la réalisation de cette configuration, j'ai utilisé une pfsense 2.2.5 vierge sans règles de NAT ou firewall.
La configuration étant très proche de celle de SQUID, je ne détaillerai pas les différents choix
/!\ Il est nécessaire d'initialiser le CACHE avant de réaliser la configuration /!\
Service - Squid Proxy Server - Local Cache
Vous pouvez laisser par défaut et cliquer sur SAVE pour initialiser le cache. Une fois l'initialisation réalisée, cliquer sur General
Voici une configuration basique en proxy transparent
Test de la configuration via le site http://www.monip.org
/!\ Aucun règle de NAT/Firewall a été nécessaire /!\
Afin de pouvoir consulter les logs du proxy, il faut configurer SARG :
Configuration de Sarg sous PFsense
Pour mettre en place une authentification RADIUS, lisez l'article suivant :
Configuration d’un serveur RADIUS sous Windows Server 2012
Au top, merci pour ce tuto ultra simple mais efficace !
Bonjour,
Merci pour la mise à jour de votre article, j'avais un problème de dns il fallait que je forward mes dns !!!
Par contre avec le proxy transparent ça marche bien en http mais en https il faut que j'active le https/ssl interception, mais ça m'oblige à installer un certificat sur les postes clients ça me pose des problèmes c'est un point wifi publique !!!
Connaissez-vous une solution pour contourner ce type de problème ?
Merci d'avance
Laurent
Sauf erreur de ma part, pour ne pas installer de certificat sur les postes client, il est nécessaire d'acheter un certificat émanant d'une autorité compétente (pour ne pas avoir d'erreur dans le navigateur).
Second point, d'un point de vu législation, il me semble qu'il est nécessaire d'en informer vos utilisateurs via une charte informatique et de placer impérativement des exceptions sur certains sites de type "banque en ligne". Ce type de proxy exploite une attaque de type Man In The Middle et décrypte intégralement le trafique Internet (et donc les identifiants de vos utilisateurs).
Merci pour votre retour !!!
Je voulais les informer par le biais du portail captif !!!
J'ai vu qu'on pouvait aussi utiliser le wpad mais visiblement il faut utiliser un serveur web à coté
Vous avez déjà testé ?
Merci Laurent
Je n'ai jamais testé en utilisant WPAD (une idée pour un prochain article :)). Le serveur WEB permet juste la publication du fichier de configuration. Si vous travaillez en environnement virtualisé, une simple VM sous Linux DEBIAN & Apache par exemple fera amplement l'affaire.
Parenthèse sur le sujet, il existe des solutions ayant beaucoup plus de fonctionnalités qu'une pfsense pour réaliser un proxy.
Pour en cité quelques une : UTM Sophos - Artica
Bonsoir,
J'utilises Pfsense 2.2.5 avec squid3, j'essaie de mettre en place le proxy transparent.
J'ai suivi votre procédure mais quand j'ouvre mon navigateur j'ai "cette page ne peut pas s'afficher"
Donc j'ai fait des recherches sur Google, j'ai vu qu'il fallait aussi faire une règle de nat, qui permet à l'ip du pc avec tout les ports d'être rediriger vers le port du proxy transparent (port 80).
Mais ça ne marche toujours pas, une petite précision quand je configure à la main l'ip et le port dans mon navigateur ça marche très bien !!!
Une piste pour m'aider ?
Merci d'avance
Laurent
Je viens de mettre à jour l’article en montrant une configuration basique de SQUID3. Aucune règle NAT a été nécessaire pour la mise en place du proxy transparent. J’espère que cela vous aidera 🙂
Bonjour,
Merci pour ce tuto, quand je coche la case Transparent proxy, quand je me connecte avec IE Chrome ou Firefox, quand je rentre les identifiants sur le portail captif, voici ce qui apparait:
ERROR
The requested URL could not be retrieved
While trying to process the request:
GET / HTTP/1.1
Host: http://www.ch-millau.fr
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:42.0) Gecko/20100101 Firefox/42.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
The following error was encountered:
Invalid Request
Some aspect of the HTTP Request is invalid. Possible problems:
Missing or unknown request method
Missing URL
Missing HTTP Identifier (HTTP/1.0)
Request is too large
Content-Length missing for POST or PUT requests
Illegal character in hostname; underscores are not allowed
Your cache administrator is webmaster.
Generated Thu, 19 Nov 2015 07:59:34 GMT by pfSense.localdomain (squid/2.7.STABLE9)
Merci de pouvoir m'aider, je suis actuellement en stage et c'est pour mon rapport.
Cordialement.
Pouvez vous décrire ce que vous désirez faire plus précisément ainsi que l'infrastructure mise en place ? le portail captif est mis en place sur la pfsense ?
Je viens de réaliser un test rapide :
Installation d'une pfsense
Installation de SQUID
Configuration de SQUID en transparent (comme sur le tuto)
Configuration du portail captif avec authentification local
Le seul problème rencontré -> Si la page de démarrage est en HTTPS, le portail captif ne fonctionne pas
A part ce détail, l'authentification fonctionne ainsi que le proxy transparent