Bonjour à tous,
Je bloque depuis le début de la semaine sur la mise en place de l’authentification negotiate sur un proxy squid3.
J’ai principalement suivi ce tuto :
wiki.squid-cache.org/ConfigExamp … e/Kerberos
(Je me suis cependant aidé de beaucoup d’autre sur le net.)
Pour la configuration :
- Serveur AD : Windows 2003 R2
- Proxy : Ubuntu 12.04 avec Squid 3.1.19 avec krb5-user 1.10, msktutils 0.4
Le proxy et le DC communique parfaitement. (ping, reverse dns, ports adéquat ouverts)
Configuration de /etc/krb5.conf :
[libdefaults]
default_realm = DOMAINE.COM
clock_skew = 300
ticket_lifetime = 24000
default_tkt_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
default_tgs_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
dns_lookup_realm = no
dns_lookup_kdc = no
default_keytab_name = /etc/http.keytab
[realms]
DOMAINE.COM = {
kdc = dc.DOMAINE.COM
admin_server = dc.DOMAINE.COM
}
[domain_realm]
.domaine.com = DOMAINE.COM
domaine.com = DOMAINE.COM
[logging]
kdc = FILE:/var/log/krb/kdc.log
admin_server = FILE:/var/log/krb/kadmin.log
default = FILE:/var/log/krb/krb5lib.log
Avec cette configuration, j’arrive bien à me connecter en utilisant “kinit” et je vois bien mon ticket grâce à “klist”
Création de la keytab :
Le proxy est bien créé dans “COMPUTER” de l’AD avec le nom lnx-px-01 et le fichier /etc/http.keytab est bien généré :
sudo klist -e -k /etc/http.keytab
Keytab name: FILE:/etc/http.keytab
KVNO Principal
---- --------------------------------------------------------------------------
5 lnx-px-01$@DOMAINE.COM (des-cbc-crc)
5 lnx-px-01$@DOMAINE.COM (des-cbc-md5)
5 lnx-px-01$@DOMAINE.COM (arcfour-hmac)
5 host/lnx-px-01.domaine.com@DOMAINE.COM (des-cbc-crc)
5 host/lnx-px-01.domaine.com@DOMAINE.COM (des-cbc-md5)
5 host/lnx-px-01.domaine.com@DOMAINE.COM (arcfour-hmac)
5 HTTP/lnx-px-01@DOMAINE.COM (des-cbc-crc)
5 HTTP/lnx-px-01@DOMAINE.COM (des-cbc-md5)
5 HTTP/lnx-px-01@DOMAINE.COM (arcfour-hmac)
Configuration de /etc/squid3/squid.conf :
auth_param negotiate program /usr/lib/squid3/squid_kerb_auth -d
auth_param negotiate children 5
auth_param negotiate keep_alive on
ERREUR :
Lorsque je veux me connecter via un navigateur (testé sur Chrome Firefox et IE) soit une page d’erreur s’affiche directement (pour XP) soit des identifiants sont demandés (Pour Seven).
Je n’arrive pas à trouver mon erreur.
Faut-il que le proxy soit obligatoirement configuré en mode transparent ?
Peut-etre est-il nécessaire de configurer les navigateurs ?
Fichier de log /var/log/squid3/cache.log :
2012/10/18 09:43:00| squid_kerb_auth: DEBUG: Got 'YR TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgKAAAADw==' from squid (length: 59).
2012/10/18 09:43:00| squid_kerb_auth: DEBUG: Decode 'TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgKAAAADw==' (decoded length: 40).
2012/10/18 09:43:00| squid_kerb_auth: WARNING: received type 1 NTLM token
2012/10/18 09:43:00| authenticateNegotiateHandleReply: Error validating user via Negotiate. Error returned 'BH received type 1 NTLM token'
Fichier de log /var/log/squid3/access.log :
J’ai fais une analyse de trame avec Wireshark sur mon client je vois bien la requête TGS-REQ Kerberos, mais je ne sais pas comment l’exploiter pour trouver l’erreur.
N’hésiter pas à me demander pour plus d’information.
Bastien,