Certificats pour le filtrage HTTPS
-
:)
Et donc tu t'es bien assuré que le Fw accepté les connexions du LAN vers pfsense sur le port d'ecoute du proxy….Par ailleurs, si le proxy est sur pfSense, il est utile de mettre dans ton proxy.pac une directive no-proxy (direct) pour les IP sur le LAN
-
Oui bien-sur mon FW laisse tout passé :)
Pour la directive no-proxy, c'est bien ce qui correspond à mon premier "if" ? ???
function FindProxyForURL(url, host) { if (isInNet(host, "192.168.2.0", "255.255.255.0")) { return "DIRECT"; } else { if (shExpMatch(url, "http:*")) return "PROXY 192.168.2.254:3128" ; if (shExpMatch(url, "https:*")) return "PROXY 192.168.2.254:3128" ; if (shExpMatch(url, "ftp:*")) return "PROXY 192.168.2.254:3128" ; return "DIRECT"; } }
-
Oui.
Donc dans ce cas, et comme je le suggère un peu plus haut, il faut faire les choses dans l'ordre et commencer par configurer un proxy qui fonctionne.
Toutes les histoires de .pac, wpad et autres viendront plus tard.
Dans ce que je comprends, pour le moment ton proxy ne fonctionne pas en mode explicite donc ce n'est pas la peine d'aller plus loin.N'aurais tu pas, par hasard, commencé par un proxy en mode transparent, ce qui expliquerait ton forward :P
-
Etape 1 OK!!
Quand je renseigne l’adresse du proxy sur le navigateur, ça fonctionne le proxy est bien détecté!! (alleluia)Et non j'ai su résister à la tentation de ne pas cliquer sur "Enable Transparent Proxy" ;D
-
C'est une bonne nouvelle sauf que si tu n'explique pas ce qui ne fonctionnait pas et ce que tu as configuré, ça n'aide personne. C'est du forum à sens unique : "aidez moi svp.. ça y est ça marche merci et au revoir…". Et le prochain va faire pareil si il ne tire aucun enseignement de ton expérience.
Mais ce n'est que mon point de vue, bien sûr :P
-
C'est pas faux !
Mais la solution que je vais apporter n'est pas très réjouissante…
J'ai considéré qu'à force d'avoir essayer plusieurs solutions différentes, il valait mieux remettre les valeurs d'usine de PFSense et recommencer sur une base saine en faisant une configuration au plus simple c'est à dire :- Faire le wizard du début
- Règles de Firewall au plus simple en laissant tout passé
- Enable le DHCP + Donner la plage d'adresse IP sur le DHCP
- Laisser le DNS en Resolver sans rien cocher
- Enable le serveur Squid en choisissant l'interface souhaité + cliquer sur Save dans local cache
- Reboot du Firewall
- Renseigner l'adresse du proxy dans le navigateur
Du coup c'est assez spartiate!
-
Donc maintenant que cette partie fonctionne, le reste devrait aller presque tout seul ;). Step by step
-
Trop beau pour être vrai, ça n'a pas durer longtemps… >:(
J'ai pas remis de message depuis hier pour la suite des étapes,
Mais j'ai un nouveau problème... mon proxy n'est pas stable! Je navigue avec puis tout seul il va me couper la connection ! :(
Sur Google Chrome j'ai "ERR_TUNNEL_CONNECTION_FAILED"
Et dans les logs de Squid "TAG_NONE/503"
Et je ne comprend pas à quelle raison ça arrive !Pour le refaire démarrer correctement, il faut que je redémarre le routeur! Et encore ça marche pas tout le temps
-
Ça ressemble à quelque chose de pas très propre avec la connexion SSL et je suppose que ça ne t'arrive qu'en HTTPS.
Il faut regarder cette partie de ta conf dans Squid. -
Le problème était aussi avec les sites en http, je tombais sur la page de squid qui me disait qu'il n'arrivait pas a résoudre le nom du site…
Du coup j'ai retouché mes DNS et ça à l'air de fonctionner pour le moment! :)Pour la configuration automatique du proxy, je dois bien ajouter les fichiers .pac, .dat et .da dans /usr/local/www?
Et rajouter le nom de sous-domaine à mon routeur?
c'est bien ça? -
Ton fichier proxy.pac doit être exposé par un serveur web qui répond à http://wpad.mon_domaine
Je doute que pfsense sache faire ça. C'était le cas dans des versions précédentes mais la fonctionnalité de hosting avec vhost n'est plus supportée.
Donc un serveur interne est tout indiqué pour cet usage.Quand au "sous-domaine", je ne sais pas ce que c'est. D'un point de vue DNS, wpad.mon_domaine est un enregistrement de type A ou CNAME. Et je suis hermétique à la dénomination de sous-domaine pour cet usage. Mais ça n'engage que moi, bien sûr :)
-
Véritablement tout milite en faveur du proxy dédié …
Sur un proxy dédié, on installe
- le proxy Squid
- SquidGuard pour les blacklist et le filtrage éventuel par user ou groupe
- LightSquid (ou autre) pour la visualisation des logs
- ...
L'outil LightSquid permet de visualiser les logs, et nécessite forcément un serveur web (Apache ou Nginx).
Le serveur web peut alors servire proxy.pac, wpad.dat et wpad.da (avec les bons types mime !)...
-
Oui je suis désolé Chris4916,
Par "sous-domaine" j'entendais bien http://wpad.mon_domaine, je ne voyais pas utiliser quoi d'autres comme terme ::)Et sinn, oui Jdh j'ai compris récemment qu'il fallait utiliser le serveur web nginx
avec ce lien (Google Translate pour les allergique à l'anglais, la traduction est reste compréhensible) :
https://forum.pfsense.org/index.php?topic=109190.msg623963#msg623963)Ce qui m'a permis de mieux comprendre ce tutorial (à adapter au fichier du routeur):
https://nguvu.org/pfsense/pfSense-2.3-WPAD-PAC-proxy-configuration-guide/Il ne me reste plus qu'à créer mes serveur nginx ;D
-
Bonjour à tous!
j'avance petit à petit dans le monde du WPAD, mais j'ai une question? ::)
Lorsque je tape dans mon navigateur http://wpad.mon_domaine/proxy.pac, le fichier doit apparaître ou bien se télécharger? ???
Dans mon cas il apparaît seulement…Je suis actuellement ce tutorial :
https://datalogus.blogspot.fr/2016/06/pfsense-231-security-explicit-squid.htmlJe teste ce lien (qui est donné dans le tutorial) qui me donne les infos que reçoit le navigateur de la part du proxy :
chrome://net-internals/#proxy
Sauf que dans mon cas, je vois que le navigateur ne reçoit pas mon fichier proxy.pac... -
Chaque mot, chaque phrase a son importance !
J'ai écrit (pas pour rien !)
Pour le serveur web, il est nécessaire de bien configurer le mime-type pour .dat et .pac
Ecrivez votre script et tester http://wpad/wpad.dat ou proxy.pac : recevez vous bien le script ?A la lumière du lien indiqué par Juve, je recommande (désormais) d'utiliser autoprox.exe …
WPAD fonctionne bien ... si on fait ce qu'il faut pour qu'il fonctionne, et il y a une procédure précise pour cela !
-
Bonjour jdh et merci pour ton post!
Oui effectivement, j'ai lu la fin de ton topic un peu vite sans voir la dernière partie sur autoprox…
Avec autoprox j'ai pu faire deux tests.
Le premier test =>
"C:\Users\stagiaire\Desktop\4628.autoprox>autoprox -h http://www.facebook.com C:\Users\stagiaire\Desktop\proxy.pac
The Winsock 2.2 dll was found okay
Will call InternetInitializeAutoProxyDll with helper functions
url: http://www.facebook.com
autoproxy file path is : C:\Users\stagiaire\Desktop\proxy.pac
Calling InternetInitializeAutoProxyDll with C:\Users\stagiaire\Desktop\proxy.pac
Calling InternetGetProxyInfo with url http://www.facebook.com and host www.facebook.com
ResolveHostByName called with lpszHostName: www.facebook.com
ResolveHostByName returning lpszIPAddress: 31.13.69.228
IsInNet called with lpszIPAddress: 31.13.69.228 lpszDest 192.168.2.0 lpszMask 255.255.255.0
IsInNet returning FALSE
Proxy returned for url http://www.facebook.com is:
PROXY 192.168.2.254:3128"Sur ce premier test, j'ai utilisé le chemin du fichier .pac sur mon ordinateur. A priori ça a l'air de fonctionner avec mon fichier.
Donc le contenu du fichier doit être justeLe deuxieme test =>
"C:\Users\stagiaire\Desktop\4628.autoprox>autoprox -h http://www.facebook.com http://wpad.localdomain/proxy.pac
The Winsock 2.2 dll was found okay
Will call InternetInitializeAutoProxyDll with helper functions
url: http://www.facebook.com
autoproxy file path is : http://wpad.localdomain/proxy.pac
File located on an http server: downloading http://wpad.localdomain/proxy.pac to C:\Users\STAGIA~1\AppData\Local\Temp\7EC4.tmp
URLDownloadToFileA error : 800C0019 -2146697191ERROR: URLDownloadToFileA failed with error number 0x0 0."
Sur ce deuxième test, j'ai utilisé le chemin du fichier .pac sur mon routeur. L'erreur qui ressort est
ERROR: URLDownloadToFileA failed with error number 0x0 0.
donc il n'arriverait pas télécharger le fichier
Donc ce que je ne comprend pas, c'est pourquoi je ne télécharge pas le fichier, alors qu'il s'affiche quand je tape l'adresse "wpad.localdomain/proxy.pac" ? ???
-
Il y a 2 points à regarder :
- selon le browser, le fichier lu peut être wpad.dat ou wpad.da
- pense au type mime
-
Le code d'erreur correspond à un certificat SSL invalide…
code => 800C0019 -2146697191
https://msdn.microsoft.com/en-us/library/ms775145(v=vs.85).aspxLà je suis perdu...
Je n'y ai jamais touché depuis le début... :( -
Si vous affichez le certificat, que contient il ? La chaine de certification est bonne ? L'objet etc … ?
Pas si facile de tordre le cou à la logique de sécurisation de bout en bout qui est celle de SSL ... -
Si on réfléchit juste une minute, il est très clair que le navigateur, qui respecte WPAD, va chercher http://wpad.domaine/proxy.pac (ou wpad.dat).
Et certainement pas https://… .... à cause de l'inutilité de https dans la méthode (doit on vérifier le certificat ou l'accepter ?).La démarche normale de debug est de vérifier, à la main, par exemple, soit avec un navigateur qui doit proposer d'enregistrer le fichier, soit, en bash, par un wget.
Si d'aventure, il y a redirection vers https, cela signifie que l'on ne maitrise pas le serveur web (indispensable) qui fournit les fichiers script, en http seulement !
Et il y a lieu de se demander qui est l'administrateur ...Je répète que mettre en place WPAD n'est pas trop difficile, et est affaire d'une méthode simple : il y a des étapes, on les distingue, et on les vérifie une après l'autre ...