Forum Linux.redhat squid - authentification via Active directory

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
31
juil.
2014

Bonjour,

J'ai suivi un tuto pourque l'authentification sur squid est géré par un AD windows 2008. cf https://www.dalemacartney.com/2012/07/06/squid-proxy-integration-with-active-directory-the-quick-and-simple-way/
Le squid est sur un RHEL 6 et le server en question est déjà sur le domaine et trouve tous les user domaine quand je tape wbmin -u ou wbmin -g.

Ci-après la configuration de mon squid.conf :

 auth_param negotiate program /usr/lib64/squid/squid_kerb_auth
 auth_param negotiate children 10
 auth_param negotiate keep_alive on
 acl ad_auth proxy_auth REQUIRED

 http_access deny !ad_auth
 http_access allow ad_auth

J'ai déjà configuré kinit et msktutil et tout s'est bien passé, de même j'ai déjà ajouté
KRB5_KTNAME=/etc/squid/squid.keytab
export KRB5_KTNAME
sur l'init du demarrage de squid.

Le problème c'est que même tout semble bien configuré quand le navigateur est configuré à utiliser le proxy, il me demande toujours login / mot de passe sur le domaine.
Est-ce que quelqu'un peut m'aider…

Merci

  • # logs ?

    Posté par  (site web personnel) . Évalué à 3.

    Tu trouveras certaines infos dedans.

    Système - Réseau - Sécurité Open Source - Ouvert à de nouvelles opportunités

  • # sur le logs

    Posté par  . Évalué à 1. Dernière modification le 31 juillet 2014 à 21:10.

    sur /var/log/squid/access.log :

    1406805562.618      0 192.168.101.61 TCP_DENIED/407 4340 GET http://www.google.fr/ - NONE/- text/html

    et sur /var/log/squid/cache.log

    2014/07/31 11:50:06| authenticateNegotiateHandleReply: Error validating user via Negotiate. Error returned 'BH gss_acquire_cred() failed: Unspecified GSS failure.  Minor code may provide more information. Unknown error'
    2014/07/31 14:19:14| authenticateNegotiateHandleReply: Error validating user via Negotiate. Error returned 'BH received type 1 NTLM token'
    • [^] # Re: sur le logs (mettre des sous dans une SSLL ?)

      Posté par  . Évalué à 3.

      Essaye de vérifier que ton fichier de tocken kerberos est lisible par l'utilisateur qui lance squid, à mon avis le pb est là. Autre piste, vérifie ton DNS, kerberos est très sensible à ce genre de choses.

      Et sinon, tu peux toujours faire appel à une SSLL proche, histoire d'injecter un peu d'argent dans les rouages des salariés qui font aussi vivre le libre :)

      a++
      Éric

      eric.linuxfr@sud-ouest.org

  • # keytab

    Posté par  . Évalué à 0. Dernière modification le 01 août 2014 à 08:33.

    Bonjour,

    Voici le privilège sur les keytab :

    $ ls -l /etc/krb5.keytab
    -rwxr--r-- 1 root root 584 Jul 30 09:49 /etc/krb5.keytab
    
    $ ls -l /etc/squid/squid.keytab
    -rwxr----- 1 root squid 1617 Jul 31 11:41 /etc/squid/squid.keytab

    et voici l'init de démarrage de squid :

    #KRB5_KTNAME=/etc/squid/squid.keytab
    KRB5_KTNAME=/etc/krb5.keytab
    export KRB5_KTNAME
  • # indices

    Posté par  . Évalué à 1.

    Voici quelques remarques qui peut aider pour la diagnostic

    wbinfo -u et wbinfo -g liste bien les users et groupe users mais wbinfo -t non :

    $ wbinfo -t
    checking the trust secret for domain TELMA via RPC calls failed
    Could not check secret

    secondo, quand je fais la commande :

    $ kinit -V -k -t /etc/krb5.keytab
    Using default cache: /tmp/krb5cc_10084_H30tfi
    kinit: Cannot determine realm for host (principal host/rhel6test@)

    Est-ce que cela indique quelque chose?

    • [^] # Re: indices

      Posté par  . Évalué à 2.

      Oui un problème DNS ou de nom de la machine squid dans ton AD.

      Ta machine essaye de se connecter en tant que "host/rhel6test@" sur ton AD … et ce mappage de compte n'existe visiblement pas.

      Comment est-ce que ce compte a été créé dans l'AD ? ktpass ou msktutil ? peux tu nous communiquer la commande utilisée pour créer le compte ? il devrait y avoir normalement le nom de mappage et c'est là qu'il faut que ça soit strictement identique avec le nom de mappage sous lequel ton serveur essaye ensuite de se connecter.

      À ce sujet "host/rhel6test@" ne me semble pas être un nom très adroit / pérenne je te conseille de le modifier pour avoir un truc un peu plus compréhensible, j'imagine l'envie de faire du nettoyage de la part de l'administrateur de l'AD dans 3 ans quand il sera face au compte "host/rhel6test@" :)

      Dernière info que j'ai oublié dans mon 1er post, installe une mise à jour automatique de l'horloge via ntp sur ton serveur linux, il faut absolument qu'il soit synchro avec le serveur AD sinon dans quelques jours/semaines/mois tu va perdre la connexion kerberos sans comprendre pourquoi …

      a+
      Éric

      PS: les SSLL font aussi des formations <?-)

      eric.linuxfr@sud-ouest.org

  • # RE:Indices

    Posté par  . Évalué à 1. Dernière modification le 01 août 2014 à 15:20.

    Merci pour le feedback.

    Premièrement, je confonds un petit peu la différence entre le krb.keytab et le squid.keytab (HTTP.keytab pour la plupart de tuto) parceque dans certain tuto il indique de mettre krb.keytab dans l'init de démarrage de squid et dans certain celui de msktutil (HTTP.keytab)

    Voici la commande que j'ai fait pour la création :

    $ kinit useradm@DOMAINE.COM
    
    $msktutil -c -b "CN=COMPUTERS" -s HTTP/RHEL6TEST.DOMAINE.COM -h RHEL6TEST.DOMAINE.COM -k /etc/squid/squid.keytab --computer-name RHEL6TEST --upn HTTP/RHEL6TEST.DOMAINE.COM --server tdcp02wp.DOMAINE.COM --enctypes 28 --verbose

    Et dans init /etc/init.d/squid :

            #KRB5_KTNAME=/etc/squid/squid.keytab
            KRB5_KTNAME=/etc/krb5.keytab
            export KRB5_KTNAME

    J'ai douté un petit peu également du domaine ce matin, parce que dans le contenu du keytab on a le nom de la machine repeté deux fois,
    dans /etc/krb5.keytab :

    $ klist -ekt /etc/krb5.keytab
    Keytab name: WRFILE:/etc/krb5.keytab
    KVNO Timestamp         Principal
    ---- ----------------- --------------------------------------------------------
       2 07/30/14 09:49:32 host/rhel6test.domaine.com@DOMAINE.COM (des-cbc-crc)
       2 07/30/14 09:49:32 host/rhel6test.domaine.com@DOMAINE.COM (des-cbc-md5)
       2 07/30/14 09:49:32 host/rhel6test.domaine.com@DOMAINE.COM (arcfour-hmac)

    et dans /etc/squid/squid.keytab :

    $ klist -ekt /etc/squid/squid.keytab
    Keytab name: WRFILE:/etc/squid/squid.keytab
     3 07/31/14 10:46:22 HTTP/RHEL6TEST.DOMAINE.COM@DOMAINE.COM(arcfour-hmac)
       3 07/31/14 10:46:23 HTTP/RHEL6TEST.DOMAINE.COM@DOMAINE.COM (aes128-cts-hmac-sha1-96)
       3 07/31/14 10:46:23 HTTP/RHEL6TEST.DOMAINE.COM@DOMAINE.COM (aes256-cts-hmac-sha1-96)

    Je suis pas très sur de vois le nom de domaine deux fois, quand j'ai edité le fichier /etc/hosts :

    192.168.10.22  RHEL6TEST  RHEL6TEST.DOMAINE.COM

    Est-ce la raison que ce soit répété deux fois.

    Merci

    • [^] # Re: RE:Indices

      Posté par  . Évalué à 3.

      quand tu colles des bouts de codes, pense à faire un saut de ligne avant le ```langage
      et apres le ``` de cloture du bout de code, sinon le moteur ne fait pas la coloration

      et pour info, tu colles des extraits de shell (ligne de commande),
      ce n'est donc pas ```Perl mais plutot ```sh qu'il faut mettre à l'ouverture

  • # pas encore résolu

    Posté par  . Évalué à 1.

    est-ce que quelqu'un peut m'aider, c'est pas encore résolu?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.