Problème MAJ windows proxy squid



  • Contexte : Société d'informatique pour filtrage web de nos clients - débute sur pfsense

    Besoin : Bloqué les sites qui m’intéresse (HTTP ou HTTPS), à ce niveau tout est OK, par contre depuis je ne peux plus faire de windows update

    Schéma :

    WAN (modem/routeur/box) : Un seul WAN, un LAN, proxy pas en mode transparent

    LAN : simple réseau local, pas de DHCP (que des serveurs TS pour les clients)

    DMZ :

    WIFI : pas de wifi

    Autres interfaces :

    Règles NAT : Juste des redirections bureau à distance pour accéder aux serveurs TS

    Règles Firewall : par defaut

    Packages ajoutés : squid3 + squidguard

    Autres fonctions assignées au pfSense : rien d'autre

    Question : Problème précis rencontré et questions posées, …
    : Suite à l'installation de Squid3 et squidguard pour filtrer le HTTP et HTTPS, je n'arrive plus à mettre à jour mes machines via Windows Update.
    Je rencontre l'erreur : 80072F8F (l'heure de ma machine est OK) lorsque dans la saction "SSL Man In The Middle Filtering" de Squid Proxy server je sélectionne : "accept remote server certificate with errors"
    et si je sélectionne le deuxième choix "do not verify remote certificate" j'ai l'erreur windows update : 803D000A
    Remarque, fonctionne quand je désactive le filtrage HTTPS, c'est à dire "SSL Man In The Middle Filtering"

    Pistes imaginées

    Recherches : Comme dit précédemment, après désactivation du filtrage SSL (SSL Man In the Middle Filtering), le windows update fonctionne bien, mais je ne peux plus bloqué les sites en HTTPS...

    Logs et tests : complément de "Recherches" : Je me répède : après désactivation du filtrage SSL (SSL Man In the Middle Filtering), le windows update fonctionne bien, mais je ne peux plus bloqué les sites en HTTPS...
    Je rencontre l'erreur : 80072F8F (l'heure de ma machine est OK) lorsque dans la saction "SSL Man In The Middle Filtering" de Squid Proxy server je sélectionne : "accept remote server certificate with errors"
    et si je sélectionne le deuxième choix "do not verify remote certificate" j'ai l'erreur windows update : 803D000A



  • MITM (SSL Bump) est, sur le principe, une assez mauvaise idée puisque ça consiste à dire: "on fait du HTTPS pour chiffrer la session entre le client et le serveur mais en même temps, on veut faire le contraire, à savoir casser ce tunnel".

    Il n'y a malheureusement pas de solution intermédiaire car la problématique est de répondre à 2 aspects totalement antinomiques  :-\

    A partir de là, il faut déterminer si la mise en oeuvre de MITM est indispensable pour le filtrage.

    Si il s'agit de faire du filtrage de contenu (par exemple pour de l'anti-virus ou du contrôle sur des mots clé) alors il faut avoir accès au contenu des pages donc MITM semble être la seule solution.

    Si il s'agit de bloquer l'accès à certains sites (et non plus aux pages de ce site), alors Squid permet, par le biais des ACL par exemple, d'en interdire l'accès sans avoir recours à MITM puisque la partie gauche de l'URL qui contient l'adresse du site est transmise en clair au moment du CONNECT et celui-ci passe par le proxy en mode explicite.

    Si ton filtrage est basé sur des catégories, tu peux également d'appuyer sur la mise en place d'un service de type OpenDNS qui ne va pas résoudre certains FQDN, et c'est assez facile à mettre en œuvre avec un proxy explicite puisque dans ce cas, c'est le proxy qui prend en charge la résolution des noms.

    Au final, si il faut absolument conserver MITM, il n'y a pas à ma connaissance de solution qui permette à la fois de passer par le proxy, avec MITM et de conserver le contrôle interne de Microsoft qui vérifie que son certificat est le bon.

    Donc 2 solutions:

    • écrire un bout de code qui fait le bypass de cette vérification (tu trouveras facilement des exemple sur le web)
    • mettre en place des exceptions à l'utilisation du proxy, ce qui va être grandement facilité par l'utilisation d'un fichier de type proxy.pac (éventuellement au travers de WPAD)


  • Merci d'avoir prit le temps de répondre à ma question.

    Effactivement MITM n'est pas obligatoire pour moi, ce que je veux c'est juste bloqué les sites, j'y arrive très bien mais pas pour ceux en HTTPS si je n'est pas MITM d'activer avec un certificat installé sur chaque poste.
    Si vous pouvez m'expliquer comment bloquer par exemple https://youtube.com ou https://facebook.com sans passer par MITM, je suis preneur !

    Merci de votre réponse



  • Posez vos questions sur un forum Squid. elles n'ont rien à voir avec Pfsense.



  • Je confirme ce qu'écrit ccnet : problème Squid.
    (Et j'infirme le piste foireuse de MITM : rien à voir !)

    Quelques informations utiles :

    • Squid devrait être placé ailleurs que sur un firewall, à partir d'une certaine taille (disons 15 utilisateurs).
    • Squid et Windows update ne font pas bon ménage : les correctifs que l'on trouve, ne fonctionnent guère !
    • Les sites de Windows update ne doivent pas passer par un proxy Squid !
    • Pour Windows update, dans une société d'une certaine taille (disons 50 micros), une bonne idée est d'installer un serveur WSUS (compter 200-250 G).
    • Ce serveur WSUS ne doit pas passer par un proxy Squid !

    Il faut savoir que Windows Update utilisent des connections qui peuvent ne pas se terminer :

    • un fichier est téléchargé partiellement à partir d'une source,
    • le reste peut provenir d'une autre source ! (incroyable mais vrai)
      Sauf que Squid ne fonctionne pas comme ça : un chargement doit se terminer pour Squid …
      D'où les problèmes avec Squid ...

    NB : Je cite le lien http://wiki.squid-cache.org/SquidFaq/WindowsUpdate : il y a des explications mais les réglages proposés ne résolvent pas le problème (pour 2.7 et 3.0)

    (Je peux en parler, j'ai tenté, j'ai échoué, j'ai observé, et j'ai fini par mettre en place WSUS : c'est toujours mieux que de parler sans savoir.)


Log in to reply