Certificats pour le filtrage HTTPS
-
Si vous aviez cherché un peu sur le site, par exemple avec le mot clé WPAD, vous auriez trouvé.
Je suis certain que quelqu'un a rédigé un fil assez complet sur le sujet …. -
Dans le design de la solution, il ne faut pas te focaliser sur WPAD qui n'est, finalement, "que" le service qui va permettre d'éviter de devoir configurer la grande majorité des navigateurs à la main.
A noter que, même si la solution est loin d'être idéale, tu peux, dans un environnement "full Windows domain" pousser le proxy par GPO.
Pour en revenir à WPAD, j'ai écris il y a quelques années ça. Ce n'est pas pour pfSense mais c'est facile à adapter car le principe ne change pas.
En gros, en terme de démarche, WPAD est vraiment la dernière roue du carrosse.
Dans l'ordre, de mon point de vue, il faut commencer par:
1 - t'assurer que ton proxy en mode explicite fonctionne correctement, y compris en ce qui concerne l'authentification et le filtrage
=> ça se vérifie en configurant ton proxy manuellement dans le browser
2 - déployer sur un serveur web interne un fichier proxy.pac qui fonctionne
=> ça se vérifie en définissant manuellement l'URL du proxy.pac dans le navigateur
3 - tu peux alors, et uniquement après les 2 étapes précédentes, pousser via DHCP et DNS (je te conseille de vraiment implémenter TOUTES les solutions de publication car tous les clients ne s'appuient pas sur la même) l'URL du proxy.pac, car au final, WPAD, ce n'est qu'une manière de dire où trouver le proxy.pac
=> ton browser en mode "automatique" devrait alors accéder au proxy.pac qui lui dit où se trouve le proxyCe n'est pas plus compliqué que ça 8)
Et ça ne marche pas pour 100% des devices, notamment avec les smartphones.Tu noteras que WPAD n'adresse absolument pas d'autres points qui sont pour toi importants dans le design, comme par exemple l’authentification unique basée sur celle du domaine. Il y a plein de tutos sur le web pour ça. Par exemple.
L'important, c'est de bien comprendre quel sont les besoins et les priorités et quelles solutions techniques les adressent et, à partir de là, de ne pas essayer de résoudre toutes les questions en parallèle.
Enfin, si tu as un domaine Windows, il est fort probable que ton DNS et ton serveur DHCP soient ceux de Microsoft: ça ne change absolument rien à ce que je décris ci-dessus.
Il faut juste pousser l'option 252 de DHCP avec le serveur Microsoft. Et idem pour les enregistrements DNS. Et pfSense ne sert à rien dans ce design… sauf à s'assurer que seul le proxy et quelques éventuelles autres machines peuvent accéder à internet :) -
Merci chris4916
j'ai trouvé des tutos assez sympas pour faire tout ça ;D
pour d’éventuels passants
https://nguvu.org/pfsense/pfSense-2.3-WPAD-PAC-proxy-configuration-guide/
Je vais commencer par tester ça :D
-
Comme je l'ai écrit, il y a, sur ce forum, un fil assez complet sur la mise en oeuvre de WPAD … (nul besoin d'aller ailleurs)
Le post de Chris1496 est, à son habitude, : oui mais non mais oui, bref embrouillant parce qu'il veut absolument rajouter SA participation
Pourtant le raisonnement est très simple :
- nécessité de filtrer HTTP et HTTPS
- solution 1 : proxy transparent : ok pour HTTP, incorrect pour HTTP, aucun impact sur tous browser ou tous logiciels, DONC à revoir
- solution 2 : proxy explicite : ok pour HTTP et HTTPS, mais nécessité de configurer tous browser et tous logiciels, DONC à améliorer
- WPAD : permet l'auto-config des navigateurs (IE, Chrome, Edge) et quelques logiciels (pas tous), pour Firefox une option à cocher
- il restera (toujours) les smartphone, les logiciels qui vérifient leur mise à jour sans regarder la conf proxy 'système', les wget pour lequel il faut 'export http_proxy', ...
Les GPO, déjà mentionné par le même, n'est qu'un gros marteau qui ne fonctionne QUE pour les pc internes de l'entreprise (sous Windows).
Bref WPAD fait mieux et plus simple ...Au moins dans ce fil, il y a les bons liens, et notamment l'apport de Juve pour 'autoprox'
-
Salut tout le monde!
Poiral j'ai, à un de chose près, la même problématique que toi…
Si tu pouvais partager ta manipulation pour mettre en place WPAD ça serait super sympa ! ;D
J'essaie d'installer WPAD depuis quelques jours, essayer le tuto que tu as mis un peu avant et encore d'autres, mais rien n'y fait :'( -
Donc, cela fait 2 personnes qui n'arrivent pas à trouver un fil 'synthèse' sur WPAD sur ce forum et à en suivre les indications …
La recherche doit être plus difficile que je le pensais ... -
J'essaie d'installer WPAD depuis quelques jours, essayer le tuto que tu as mis un peu avant et encore d'autres, mais rien n'y fait :'(
Si tu décrivais ce que tu fais, ce qui fonctionne et ce qui ne fonctionne pas, ce serait beaucoup plus simple pour t'aider.
- est que le proxy fonctionne en mode explicite ?
- est-que ton proxy.pac fonctionne ?
- arrives-tu à le lire sur le serveur "http://wpad.tondomain/wpad.dat" ?
- comment pousses-tu l'information relative à ce serveur ? (WPAD, c'est cette ligne uniquement et c'est assez simple, via DHCP et/ou DNS)
-
jdh ton post sur wpad est, je pense, très complet! (https://forum.pfsense.org/index.php?topic=105675.msg643146#msg643146) je l'ai relu ton post en long large et travers, depuis plusieurs jours en espérant pouvoir me débloquer.
Comme je l'ai dit juste avant, ayant vu plusieurs tutos, topics de forum (pour ne pas dire beaucoup! Mes résultats sur Google s'affichent maintenant en grande majorité violet!)
Mais malgré cela, en ayant :
- Créé les 3 fichiers .pac, .dat et .da dans le répertaoire /usr/local/www/ de mon routeur
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"; } }
- Ajouté l'option 252 sur le dhcp de mon LAN pour chaque fichier
- Ajouté un "Host Overrides" wpad
- Bloqué les ports 80 et 443 (Internet coupé)/ Créé un port Forwarding des 80 et 443 vers celui du proxy (3128) (ne redirige rien du tout)
Et en testant avec monip.org et lagado.com pour vérifié si mon proxy était détecté ( Il ne l'est pas )
je n'arrive pas à mettre en place WPAD
voilà voilà
Donc tout ça pour dire, oui jdh j'ai vu ton post ;D
-
Merci Chris4916 :)
Oui le Proxy fonctionne en mode explicite, lorsque je renseigne dans les options du navigateur l’adresse de celui-ci.
Comment peut-on vérifier le fichier proxy.pac? ???
Quand j'écris l'adresse http://wpad.mondomain/wpad.dat je récupére bien le fichier wpad.dat
Pour ce qui est pousser l'information, comme je l'ai dit juste avant j'utilise le DNS Forwarder et mon DHCPPetite information supplémentaire,
Je sais qu'il a été dit et re-dit d'utiliser un serveur Proxy dédié mais le proxy se trouve sur mon routeur car j'ai n'ai qu'une quinzaine de connections à tenir maximum, et pas d'autres PCs à pouvoir mettre en place.Voilà voilà :D
-
Donc probablement que ta syntaxe pour l'option 252 n'est pas la bonne.
Voila un exemple qui fonctionne.
Option: 252
type: string
Value: "http://wpad.mon_domaine/wpad.dat" (avec les quotes)un petit point de détail: un des modes de découverte de l'URL du proxy se base sur la résolution de nom.
Il faut donc que ton serveur DHCP pousse un domaine de recherche, mais ce doit être le cas avec le serveur DHCP de pfSense.
Tu peux le vérifier en cherchant "http://wpad/wpad.dat"Pour le DNS (je n'utilise pas "forwarder" mais "resolver"):
local-data: "wpad IN TXT service:wpad: http://wpad.mon_domaine/wpad.dat"
local-data: "_wpad._tcp IN SRV 0 0 80 wpad.mon_domaine."Et le forward des ports 80 et 443 vers le port 3128…. bof... quelle utilité si tu as un proxy en mode explicite ?
-
Mon Option 252 est juste, je l'avais bien écrit comme ça :)
Pour ce qui est du DNS resolver je pensais pas qu'il y avait de l'importance
Je Check tout ça demain matin ! :) -
Mon Option 252 est juste, je l'avais bien écrit comme ça :)
en type "string" ? si oui, alors il n'y a pas vraiment de raison que ça ne marche pas ;)
-
Pour compléter un ce sujet:
-
il faut bien configurer, je ne le dirais jamais assez, toutes les méthodes de découverte. DHCP n'est utilisé, je crois que par IE. Firefox utilise le DNS (well known domain)
-
A noter que l'enregistrement SRV de mon exemple précédent n'est très probablement pas utile tant qu'il n'y a pas de navigateur qui implémente la RFC2782 mais ça ne fait pas de mal de le préparer…
-
WPAD est très utile, voire indispensable dès que le nombre de client devient un peu conséquent. Ne pas oublier cependant que cette solution présente un risque potentiel puisqu'il est assez facile de déployer sur un réseau, ne serait-ce que brièvement, un serveur DHCP qui pousserait l'option 252 vers un proxy autre que le proxy officiel et de configurer ce proxy pour casser un flux HTTPS :-X
-
-
Je reviens au rapport !
Du coup j'ai changé le value dans le DHCP, j'ai utilisé ton exempleMon fichier wpad.dat apparaît bien lorsque je tape http://wpad.mon_domaine/wpad.dat
J'ai bien changé en DNS Resolver
Et j'ai ajouté les lignes dans "Customs Options"
local-data: "wpad IN TXT service:wpad: http://wpad.mon_domaine/wpad.dat"
local-data: "_wpad._tcp IN SRV 0 0 80 wpad.mon_domain."Et pour finir j'ai retiré ma regle de forwarding des ports 80 et 443 vers 3128,
Je bloque juste les ports 80 et 443 maintenant :)Par contre je me suis trompé…
Quand je renseigne l'adresse du proxy dans le navigateur, je n'accède plus à internet...
Mais je peux quand même accéder à mon fichier wpad.dat quand je tape http://wpad.mon_domaine/wpad.dat :( -
C'est l'étape numéro 1: le préalable est que le proxy soit configuré correctement !
Ou est ton proxy ? -
Mon proxy est sur le router
-
:)
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