Pop-up Squid Authentification LDAP



  • Bonjour à tous,
    Je contextualise, je souhaite changer l'ancien Proxy, pour un nouveau qui est autre que Squid sous Pfsense. Tout fonctionne comme je le souhaite excepté un seul critère. La fenêtre d'authentification qui s'affiche a chaque action que j’entreprends sur mon navigateur WEB. Ayant des Serveur Web hébergé en local, et utilisant des services, je voudrais n'avoir aucune interruption entre chaque rafraichissement de page , ou interaction avec le navigateur. Je voulais savoir si il y avait un moyen d'avoir plus de main sur les paramètres de fenêtre contextuels (Pop-Up) ou d'autoriser par exemple l'authentification que lorsque j’envoie une requête vers certains sites.



  • Squid est disponible comme package de pfSense.
    Cela a des conséquences.

    Par exemple,

    • ce n'est pas développé par la team pfSense, et il n'y a pas de garantie,
    • la charge générée par le paquet s'ajoute (au point de surcharger)
    • le binaire est une version choisie par le dévelopeur avec ses propres choix de compilation (modules inclus),
    • l'interface web de paramétrage (qui génère le fichier de conf) ne présente pas tous les paramètres disponibles (y compris ceux supportés par la version choisie).

    De facto, quand on a des besoins précis, il est beaucoup plus aisé de travailler avec un proxy dédié (donc séparé de pfSense). Là vous avez toute latitude avec le paramétrage de Squid. Mais il faut le créer soi-même ! (L'installation de Squid sur une bonne Debian est aisé, là n'est pas le problème : la difficulté est le fichier de conf et le choix des paramètres !).

    Le package a été compilé avec le support authentification LDAP, ça tombe bien pour vous. Mais il faut regarder la durée d'authentification et sur quelles cibles l'authentification s'applique ...

    Squid est un programme avec une fichier de conf pouvant contenir des dizaines (centaines ?) de lignes (de paramètres), chacune ayant un effet précis. Imaginer qu'une interface web permet de tout régler est illusion.

    NB : vous aurez noté qu'authentification est incompatible avec transparent (forcément).

    Exemple de pages donnant des infos : https://wiki.squid-cache.org/Features/Authentication



  • Cher Jdh
    Tout d'abord merci pour votre réponse constructive. Et merci de m'informer sur le logiciel que j'utilise, mais j'étais déjà au courant de tous ces "paramètres" et mon, choix a été fait consciencieusement, mais si d'autres paramètres sont venus se greffer pendant la configuration de celui. J'ai trouve un petit contournement a mes soucis, en créant fichier dans la sources "/var/squid/acl/unauth_sites.acl" et mettant les liens accessible sans authentification réquise. Et par la suite modifiant aussi le fichier dans "/usr/local/etc/squid/squid.inc" en rajoutant les lignes :
    "acl unauth_sites dstdomain "/var/squid/acl/unauth_sites.acl"
    "http_access allow unauth_sites"
    Et le domaine des sites de la liste sont autorisés sans authentifications requises.



  • Je ne pouvais connaitre votre expertise, aussi j'écris souvent les principes les plus généraux.

    Principes qui ne sont pas forcément les plus compris. C'est souvent nécessaire tant les désirs sont grands alors que la connaissance et la compréhension ne sont pas aussi grandes. Et ce n'est pas votre cas. Je vous remercie de ne pas m'avoir insulté en retour (comme c'est parfois le cas ... d'ingrats).

    Bravo pour
    votre retour
    et les contournements que vous avez trouvé et mis en place.
    (en 2 lignes, car 2 bravo.)

    Cela intéressera ceux qui font votre choix (qui n'est pas le mien).

    Evidement, les contournements ne sont pas 'inclus' dans l'interface web du package, mais on peut ajouter ce qu'on veut dans le fichier de conf. (Comme d'autres modules : OpenVPN, ...) (Je n'appelle pas 'config web' une grande zone de saisie de texte ajouté à la conf.)

    Toutefois il reste le sujet de la répétition d'authentification (ou réglage de la durée) ... Je ne doute pas que vous allez trouver (moi je ne connais pas la réponse, car je n'ai fait qu'une fois de l'authentification).

    NB : 'sur quelles cibles l'authentification s'applique' = vous avez bien traduit ma pensée (en Squid il y a 'src' et 'dst', puis selon le cas 'allow' ou 'deny'). Et vous avez raison de créer un fichier ...

    NB2 : rien n'interdit de copier la conf générée pour un proxy dédié ensuite ... (Je le conseille à ceux qui apprennent)



  • Re jdh
    Pas de soucis, vous prenez la peine de me répondre, de me conseiller, et de mettre en garde. Pourquoi je vous insulterez? Et merci pour vos félicitations.
    Ma problématique s'étend un peu plus sur mon projet, c'est pour cela que je reviens a la charge sur ce "Topic" je voudrais bénéficier un plus de votre expertise que je déduis.
    Aujourd'hui je voudrais faire en sorte que mon service d'authentification de mon Proxy puisse interroger 2 Contrôleur de Domaine (1Domaine et 1Sous-Domaine), dans la même forêt sous Active Directory. Et avec de nombreuses recherches, tout me ramène au Protocole "Radius". Ayant déduis que je ne puisse pas intégrer 2 Contrôleur de Domaines dans la configuration Squid (Incertain). J'ai décidé de me lancer dans l'aventure d'utiliser le Package FreeRadius, en ayant encore conscience des autres technologies pouvant peut-être être plus facile d’administration et de liaison. Je me lance dans cette aventure.
    Etat actuelle de la situation, j'ai pu lier le Proxy au FreeRadius, pouvant s'authentifier avec des utilisateurs du FreeRadius que j'ai crée directement sur le PfSense. Mais quand j'active "LDAP Support" sur le FreeRadius et que je rentre la configuration du Serveur-AD sur la page de Configuration "LDAP" L'authentification d'un utilisateur de l'AD cible n'est pas accepté. Ma piste, est que je pense m'être trompé dans la saisie des champs "Filter" et "Base Filter". je n'arrive pas vraiment a comprendre la syntaxe a rentrer, est elle différente que celle rentrer dans Squid?
    Merci



  • Je suis loin de maîtriser ces sujets, mais essayons d'en dire plus.

    Pour authentifier, Squid sait accéder à certaines ressources, cf le lien déjà indiqué. De façon naturelle, une source d'authentification est possible, mais peut-il y en avoir 2 ? Ce devrait être possible mais je ne sais pas comment faire.

    Radius (FreeRadius) est un service 'générique et standardisé' d'authentification, qui lui sait, me semble-t-il, être multi-authentification ou plutôt multi-sources : si la source 1 ne valide pas le couple user/mdp, Radius saura passer à la source 2, cf https://support.microfocus.com/kb/doc.php?id=3807164 (exemple avec 2 LDAP, et ActiveDir est un LDAP).

    Pour le sujet ActiveDir, il y a aussi la possibilité d'approbation entre domaines qui permettrait de s'adresser à n'importe quel DC même avec un profil d'un autre domaine (sous réserves de présenter DOMAINE\profil).

    Concernant l'interrogation, un fil récent semble couvrir le sujet : https://forum.netgate.com/topic/140135/how-connect-freeradius-to-ms-ad D'expérience, on bute que la requête AD ...

    Je ne sais pas si ça peut aider ...



  • @jdh Merci Beaucoup, j'avais déjà survolé (survolé dans un moment de fatigue🤗) le topic concernant le lien "https://forum.netgate.com/topic/140135/how-connect-freeradius-to-ms-ad" sans vraiment prendre le temps de lire, mais quand on lit vraiment, les choses s’améliorent. Dans le "FreeRadius" mes paramètres rentrés par rapport a "l'AD" étaient conformes, il n'y avait pas vraiment d'erreurs. La ou l'erreur subsistait, c'était dans le fichier de configuration "/usr/local/etc/raddb/sites-enabled/default"; Il fallait ajouter après la section: "Redundant" existante dans le fichier, cette section:

        update control { 
                Auth-Type := LDAP 
        } 
    

    Pour que l'authentification "AD" soit accepté. Mais Attention, il faut d'abord configurer le ou les Contrôleurs de domaines dans la page "LDAP" du "FreeRadius" avant d'enregistrer la légère modification, et ensuite redémarrer le service "FreeRadius"
    Ceci est un bug présent dans FreeRadius 3.X.
    Donc voila, prendre le temps de lire est primordial même en temps de crise.
    Merci à vous!



  • Il ne suffit pas de trouver, faut-il lire, relire, tester, retester, corriger, ...

    Même le fil le plus complet, n'est pas forcément parfaitement exact.

    A la manière de 'j'ai suivi le tuto', ce qui est aberrant, car il ne faut pas suivre mais adapter à sa config, ses besoins.

    En tout état de cause, bravo pour le retour avec la (petite) correction qui rendra service à celui qui veut mettre en oeuvre.


Log in to reply