Connecter pfsense a active directory windows serveur 2012



  • Bonjour,

    je souhaite comme son nom l'indique connecter pfsense à un AD windows serveur 2012 R2 en utilisant le protocole SMB. les utilisateurs et les profils seront créés dans l'active directory et les ACLs, les règles, les blacklists …. sont gérées dans pfsense par Squidguard.
    j'ai installé le client SMB dans pfsense (freebsd) via le shell mais je ne parviens pas à le configurer et je ne sais pas non plus quels tests faire pour vérifier que pfsense est bien en capacité de de se connecter à l'AD. il faut peut être d'ailleurs effectuer d'autres manipulations que je ne connais pas à l'heure qu'il est.

    je vous remercie par avance de l'aide que vous pourriez m'apporter dans la réalisation de ce projet.

    Cordialement

    CG77



  • Sauf si je ne comprends pas bien ta demande, je pense que tu devrais formuler celle-ci de manière un peu différente.
    En effet, pfSense n'est pas une solution qui s'appuie sur un back-end commun avec composants qui en tirent partie mais plutôt un assemblage de composants open-source qui présentent des spécificités différents en ce qui concerne l'authentification puis la gestion des profils.

    De plus, SMB (comme CIFS) est un protocole réseau visant à fournir un service d'accès à des fichiers.
    Ce protocole ne défini donc pas vraiment les aspects authentification, lesquels peuvent être NTLM, LDAP ou Kerberos.

    Par exemple tu fais référence à Squidguard: j'imagine que tu souhaites faire du profiling dans Squid, probablement en bénéficiant de l’authentification Windows (puisque tu as un serveur Windows 2012) et potentiellement en t'appuyant sur les groupes AD. Ceci passe par la configuration de Squid qui peut s'appuyer sur AD via LDAP ou utiliser Kerberos. Pas de SMB dans ce cas.

    Il te faut donc, à mon sens, clarifier tes besoins et objectifs, au moins dans la formulation si c'est déjà clair dans ta tête  ;)



  • Dans un forum, on devrait respecter les règles : il y a un formulaire de présentation des questions A RESPECTER.
    De même, mettre un titre tout en majuscules, c'est MAL : cela est général sur Internet : voir netiquette

    Par ailleurs, j'ai du mal à comprendre.
    Comment peut on imaginer configurer un firewall ou un proxy sans connaitre et comprendre les protocoles ?

    Par ailleurs, à partir d'une certaine taille, il est à considérer de mettre en place un proxy dédié …

    Le niveau de méconnaissance explique un peu tout ...



  • re bonjour,

    jdh,

    je n'avais encore jamais posté sur un forum et pour ce qui est des majuscules je m'excuse donc de cette pratique.
    les différentes questions que je pose et grâce à vos réponses vont justement me permettre de faire les bons choix.
    enfin, vous avez mis en exergue un certain nombre de manquements de ma part et je n'en prends pas ombrage à part concernant le ton que vous employez. alors peut-être êtes vous très bon en réseaux alors que je débute depuis quelques mois mais est ce la peine d'être agressif ou pire de venir se faire plaisir en faisant la leçon de cette manière sans rien apporter finalement ? cela ne me dérange de dire que je suis là aussi pour apprendre !!
    nevermind !!

    mon projet consiste à avoir des utilisateurs et des groupes de créés dans active directory, de créer des stratégies que j'appliquerais à ces profils et à ces groupes et tout cela sur windows serveur 2012.
    de l'autre côté, j'ai pfsense qui me sert de serveur proxy avec les modules squid3 et squidguard.
    ce que je souhaite réaliser : lorsque l'utilisateur s'authentifie, celui ci correspondra donc à un profil que j'aurai défini. l'idée c'est que je puisse construire des règles, des blacklists …. sous squidguard et que tout cela s'applique aux utilisateurs qui seront authentifie à l'ouverture de leur session.
    je pense donc que chronologiquement il faut (en résumé) :
    dans pfsense via le shell :

    • installer samba4
    • configurer smb.conf
    • configurer krb5.conf
    • configurer nsswitch
    • ajouter la machine pfsense au domaine préalablement créé dans win 2012 serveur

    de toutes les recherches que j'ai effectué c'est la synthèse que j'en fais.

    si la démarche est bonne, ma plus grande difficulté réside dans la rédaction des fichiers de configuration smb et krb.

    je vous remercie par avance pour votre aide.

    je m'excuse aussi par avance pour les manquements aux règles de ce forum.

    ceci étant fait, les personnes négatives et ne désirant pas aidé peuvent passer leur chemin et trouver une autre victime. merci.

    Cordialement

    CG77



  • Je ne suis pas un grand spécialiste de Squid mais dans ma compréhension, le mieux que tu puisse faire dans ce domaine (avec les composants standards car il existe plein d'add-ons), c'est de faire une authentification Kerberos puis appliquer des ACL et règles basées sur du group membership.
    Je ne pense pas que tu puisses appliquer des stratégies basées par exemple sur des GPO, mais je peux me tromper  :-[

    Par ailleurs, je ne comprends pas l'intérêt d'installer Samba sur pfSense.

    Si tu as déjà un domaine Windows, il suffit d'installer les composants qui vont permettre à Squid de gérer le ticket Kerberos obtenu de Windows pour authentifier l'utilisateur. Le reste doit, sauf erreur, se jouer dans la couche LDAP.



  • j'ai pfsense qui me sert de serveur proxy avec les modules squid3 et squidguard

    C'est en effet la grande confusion des débutants ! J'ai le regret de vous annoncer qu'un firewall N'EST PAS un proxy !

    Un bon ouvrier c'est quelqu'un qui connait bien les outils, les respectent et qui choisit le bon outil pour une tache donnée.
    Chacun verra les ressemblances …

    Un firewall, c'est la sécurité, alors pourquoi vouloir ajouter des choses inutiles comme samba ...



  • Bonjour a tous,

    Avant d'aider CG77 je précise que je n'ai pas trouvé de section présentation pour le faire correctement.
    Rapidement je suis admin système réseau en 5eme année d'alternance sur Rouen.

    Pour en revenir a nos moutons CG77, tu n'a pas besoin d'installer autre chose que squid et squidguard pour ton proxy et gérer le tout avec une authentification LDAP.

    Pour SQUID:
    Dans l'onglet "Auth" précise l'IP de ton DC avec le port 389
    pour "LDAP server user DN": Il faut aller chercher un user (avec des droits) dans ton AD en indiquant le "chemin" de type :"cn=user,cn=Users,dc=dom,dc=local" avec le password de cet user en dessous.
    "Ldap base domain': nom du domaine type "dc=dom,dc=local"
    "LDAP search filter" : tu peut aller chercher un groupe dans ton AD avec ce type d'entrée "(&(memberOf=CN=GRP_WEB,CN=Users,DC=dom,DC=local)(sAMAccountName=%s))"

    Pour SQUIDGUARD:
    "LDAP DN": "cn=user,cn=Users,dc=dom,dc=local" Attention pour le password en dessous tu est limité pour les caractères a faire attention !!

    Normalement tu a ce quil faut pour débuter, tu peut ensuite gérer des groupes d'user avec des accès differents de ceux de base au niveau de l'onglet "Groupes ACL".

    Ravi si j'ai pu aider.



  • globalement c'est assez juste  8)

    Il faut cependant faire attention à quelques points:

    • d'un point de vue strictement LDAP (mais AD est un un LDAP assez particulier quand même), il n'est pas nécessaire de 'authentifier pour…. s'authentifier  :)
      Autrement dit, fournir un "LDAP server usr DN" ne devrait pas être nécessaire.
      Mais dans e cas où ça l'est, il faut prendre les précautions suivantes:
    • ne pas utiliser un compte utilisateur lambda mais plutôt un compte spécifique pour lequel les règles de changement et d’obsolescence du mot de passe sont différentes de celles des utilisateurs
    • et SURTOUT, faire la connexion en LDAPS, donc sur le port 636 (normalement) car le protocole LDAP envoie le mot de passe en clair (base64)


  • Bonjour,
    j'ai réussi à faire à peu près tout ce que je voulais jusqu'au moment où j'ai attaqué la configuration de squidguard concernant les groups acls.

    au préalable dans squid j'ai intégré :

    auth_param ntlm program /usr/local/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp --require-membership-of=cyril.1fogenie\proxy
    auth_param ntlm children 10
    auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of=cyril.1fogenie\proxy
    auth_param basic children 5
    auth_param basic credentialsttl 2 hours
    acl auth_ntlm proxy_auth REQUIRED
    http_access allow auth_ntlm
    http_access allow localhost
    http_access allow localNet
    http_access deny all

    j'ai fait cela dans la partie "Before auth"

    j'ai fait cela pour que l'authentification se fasse en NTLM

    dans squidguard j'ai mis le chemin de mes groupes.

    l'objectif étant que l'utilisateur qui se connecte à sa session n'ait plus besoin de s'authentifier durant toute la session.

    sauf que lorsque je connecte un utilisateur dans mon domaine avec des identifiants configurés dans mon active directory windows 2012 serveur r2, le proxy  fonctionne mais ne fait pas la différence entre mes différents utilisateurs. il applique donc la même règle pour tout le monde.

    et pourtant en ligne de commande je parviens à lister mes utilisateurs et mes groupes, ....

    la dernière piste en date  : j'ai remarqué que la configuration que j'ai rentrée dans l'interface graphique de pfsense 2.2.4 ne s'écrit pas dans le fichier de configuration de Squid.conf lorsque je vérifie via le shell ....
    je finis par me demander si ce  n'est pas un bug des version de squid et squidguard avec la dernière mise à jour de pfsense ?

    voilà c'était histoire de donner des nouvelles ....

    en résumé le filtrage fonctionne mais pas avec l'authentification unique NTLM (AD win 2012)

    Cordialement,

    CG



  • @cg77:

    en résumé le filtrage fonctionne mais pas avec l'authentification unique NTLM (AD win 2012)

    Que veux-tu dire par "authentification unique" ?



  • salut

    par authentification unique je veux pouvoir utiliser le NTLM, c'est à dire s'authentifier à l'ouverture de session windows pour ainsi ne plus devoir le faire durant la navigation internent par exemple.
    mais lorsque tous les réglages sont faits, l'authentification ne se fait pas car lorsqu'un site est bloqué il n'affiche pas l'utilisateur concerné par le blocage et donc il n'affiche pas non plus le groupe acl.

    voila j'espère avoir été plus clair ….

    par ailleurs je pense qu'il pourrait y avoir un soucis au niveau de pfsense / freebsd car la configuration dans squid3 qui est acceptée au redémarrage du module dans pfsense, ne s'écrit pas dans le fichier squid.conf lorsque je le vérifie dans le shell ....

    Cordialement

    CG



  • je veux pouvoir utiliser le NTLM

    Mais êtes vous certain des caractéristiques nécessaires, notamment cryptographiques,  à vos protocoles d'authentifications entre le monde Microsoft et Squid ?

    par ailleurs je pense qu'il pourrait y avoir un soucis au niveau de pfsense / freebsd car la configuration dans squid3 qui est acceptée au redémarrage du module dans pfsense, ne s'écrit pas dans le fichier squid.conf lorsque je le vérifie dans le shell ….

    Je ne suis pas certain de comprendre. Néanmoins nous sommes plusieurs à avoir expliqué maintes fois le problème des packages. En déduire un problème avec Pfsense pour un  dysfonctionnement (selon vous) de Squid c'est prendre les choses à l'envers.



  • Bonjour CCNET

    pouvez vous être plus explicite svp ?

    CG



  • Je m'absente quelques jours. Mais en cherchant un peu vous devriez comprendre : les mécanismes d'authentification sur AD présentent des différences d’une version de Windows à une autre (LANMAN, NTLM, NTLM v2, Kerberos, …). Vérifier que cela convient à Squid et est cohérent dans vos paramétrages.
    Finalement rien de tout cela n'a de rapport avec Pfsense d'ailleurs.



  • @cg77:

    par authentification unique je veux pouvoir utiliser le NTLM, c'est à dire s'authentifier à l'ouverture de session windows pour ainsi ne plus devoir le faire durant la navigation internent par exemple.

    J'ai donc bien fait de poser la question  :)

    Cette fonctionnalité (SSO) n'est pas obtenue avec NTLM mais avec Kerberos (qui est le mode par défaut, sauf erreur avec Windows 2012).
    Il faut donc configurer Squid (et ton navigateur dans le cas de Firefox par exemple) pour supporter Kerberos.
    De plus, Kerberos ne gère que la partie authentification (ticket) qui ne gère pas l'appartenance à un groupe, mécanisme utilisé pour le profiling.

    Au niveau Squid, c'est du coup un mélange de Kerberos pour l'identification / authentification et LDAP pour le group membership et profiling.



  • A noter que tu trouveras sur la doc Squid des exemples de configuration (pour la partie Squid  ;))
    http://wiki.squid-cache.org/ConfigExamples/Authenticate/Kerberos
    http://wiki.squid-cache.org/ConfigExamples/Authenticate/WindowsActiveDirectory

    Pour Firefox:
    https://developer.mozilla.org/en/docs/Integrated_Authentication

    mais la partie support de Kerberos par Mozilla est en pleine évolution pour automatiser le process, pas sans effet de bord pour le moment semble t-il  ;)



  • bonjour chris,

    j'ai configurer krb5.conf
    mais pour ce qui est du SSO c'est dans l'interface graphique de squid dans pfsense que j'ai essayé de me servir de la commande ntlm_auth avec ntlmssp squid-2.5 ….

    mais peut etre qu'avec les dernieres versions et win 2012, ne faut il plus faire comme cela ...

    CG



  • Il y a probablement un truc que je ne comprends pas car je ne vois pas l'intérêt de NTLM si on fait du Kerberos  ???