Proxy Squid avec authentification AD
Tout d'abord bonjour à vous.
J'explique mon problème:
Windows server 2008 + Ad, debian 7 + samba winbind squid et webmin, et XP pour test
Xp est bien intégré au domain
Ma débian Squid est bien dans l'AD la connexion lors des différents test se fait:
Code:
1 2
| root@Squid:~# net ads testjoin
Join is OK |
Code:
1 2 3
| root@Squid:~# ntlm_auth --username=admin
password:
NT_STATUS_OK: Success (0x0) |
Code:
1 2 3
| root@Squid:~# /usr/bin/ntlm_auth helper-protocol=squid-2.5-basic --username=administrateur
password:
NT_STATUS_OK: Success (0x0) |
Il récupère bien les infos de l'AD
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
root@Squid:~# wbinfo -g
ordinateurs du domaine
contrôleurs de domaine
administrateurs du schéma
administrateurs de lentreprise
éditeurs de certificats
admins du domaine
utilisateurs du domaine
invités du domaine
propriétaires créateurs de la stratégie de groupe
serveurs ras et ias
groupe de réplication dont le mot de passe rodc est autorisé
groupe de réplication dont le mot de passe rodc est refusé
contrôleurs de domaine en lecture seule
contrôleurs de domaine dentreprise en lecture seule
dnsadmins
dnsupdateproxy
test
root@Squid:~# wbinfo -u
administrateur
invité
krbtgt
test2 |
J'ai sur le PC utilisateur de test mis le serveur AD en passerelle par défaut et en DNS mais je n'ai pas accés au net (l'ad lui à le proxy en passerelle) même si je force les utilisateurs à passé par le proxy (GPO) une idée du problème ?
Lorsque je met le proxy en passerelle le net fonctionne (sans l'authentification pour l'instant)
Ensuite je met les paramètres pour l'authentification dans le squid.conf.
Voilà mon problème lorsque je lance firefox ou IE il me demande mes identifiants alors qu'il devrait déjà le récupérer par l'AD et donc autoriser la page (lorsque je rentre les ID de l'utilisateur de l'AD cela fonctionne).
Je ne sais pas d'ou peu venir le problème même si l'on dirait que squid ne sais pas que l'utilisateur de l'AD à ouvert une session et c'est donc pour cela qu'il demande les ID, avez-vous une idée ?
Voila mon squid.conf
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| ####ACCES PROXY AUX USER DE L'AD###################
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm keep_alive on
####DEFINITION DES ACCESS CONTROL LIST###################
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
acl test src 192.168.10.0/24
acl url url_regex "/etc/squid3/url"
acl password proxy_auth REQUIRED
##############LISTE DES AUTORISATIONS#################
http_access deny url
http_access allow manager localhost
http_access allow manager
http_access allow !Safe_ports
http_access allow CONNECT !SSL_ports
#http_access allow localhost
http_access allow test
http_access allow password
http_access deny all
icp_access deny all
htcp_access deny all
############# PORT DECOUTE DU PROXY ################
http_port 8080
####### NE PAS METTRE EN CACHE LES URLs COMPORTANT###
#hierarchy_stoplist cgi-bin ?
############ EMPLACEMENT DU FICHIER DE LOG #########
access_log /var/log/squid3/access.log
#refresh_pattern ^ftp: 1440 20% 10080
#refresh_pattern ^gopher: 1440 0% 1440
#refresh_pattern (cgi-bin|\?) 0 0% 0
#refresh_pattern . 0 20% 4320
#icp_port 3130
#log_mime_hdrs on
########### REPERTOIRE DE CACHE ####################
coredump_dir /var/spool/squid3
cache_effective_user proxy
cache_effective_group proxy
########## UTILISATION DE SQUIDGUARD REDIRECTION ###
#url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
#url_rewrite_children 5
append_domain .test.local |
Pour l'instant squidguard n'est pas installé ce qui explique les commentaires pour squidguard.
Le krb5.conf
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| [libdefaults]
default_realm = TEST.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
TEST.LOCAL = {
kdc = srv08ad.test.local
admin_server = srv08ad.test.local
default_domain = test.local
}
[domain_realm]
.test.local = TEST.LOCAL
test.local = TEST.LOCAL
[logging]
default = FILE:/var/log/krb5.log
kdc = FILE:/var/log/krb5kdc.log
admin-server = FILE:/var/log/krb5adm.log
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
} |
Et le smb.conf
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| [global]
workgroup = TEST
realm = TEST.LOCAL
security = ADS
password server = srv08ad.test.local
client use spnego = yes
client ntlmv2 auth = yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
announce version = 4
announce as = NT Workstation
dns proxy = No
idmap uid = 167771-335549
idmap gid = 167771-335549
winbind use default domain = Yes
invalid users = root |
Les droits sur /var/run/samba/
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
root@Squid:~# ls -l /var/run/samba/
total 976
-rw-r--r-- 1 root root 40200 avril 17 10:29 brlock.tdb
-rw-r--r-- 1 root root 696 avril 17 10:29 connections.tdb
-rw-r--r-- 1 root root 425984 avril 17 10:49 gencache_notrans.tdb
-rw-r--r-- 1 root root 425984 avril 17 10:49 gencache.tdb
-rw-r--r-- 1 root root 40200 avril 17 10:29 locking.tdb
-rw------- 1 root root 12288 avril 17 10:29 messages.tdb
-rw------- 1 root root 696 avril 17 10:29 mutex.tdb
-rw-r--r-- 1 root root 5 avril 17 10:29 nmbd.pid
-rw-r--r-- 1 root root 696 avril 17 10:29 notify_onelevel.tdb
-rw-r--r-- 1 root root 696 avril 17 10:29 notify.tdb
-rw-r--r-- 1 root root 12288 avril 17 10:29 printer_list.tdb
-rw-r--r-- 1 root root 8192 avril 17 10:29 serverid.tdb
-rw-r--r-- 1 root root 696 avril 17 10:29 sessionid.tdb
-rw-r--r-- 1 root root 5 avril 17 10:29 smbd.pid
drwxr-xr-x 2 root root 60 avril 17 10:51 smb_krb5
srwxrwxrwx 1 root root 0 avril 17 10:29 unexpected
-rw-r--r-- 1 root root 5 avril 17 10:29 winbindd.pid
drwxr-x--- 2 root winbindd_priv 60 avril 17 10:29 winbindd_privileged |
Et le groupe winbindd_priv
Code:
1 2
| root@Squid:~# cat /etc/group
winbindd_priv:x:106:proxy |
Merci d'avoir lu ce pavé (si vous avez eu le courage de tout lire :bravo: :cfou: )
J'espère trouver une solution à ce problème.
Merci d'avance.
Edit: voilà avec ces fichiers de conf je n'ai plus la fenêtre authentification (je suis connecté sur le client Xp avec un user du domaine et je peu utiliser firefox (avec proxy configuré dans firefox (je vais tester juste aprés avec le proxy gpo))
Cependant je vois bien dans le /var/log/squid3/access.log les différentes connections mais je ne vois pas les utilisateurs, juste les IP comment faire apparaître les noms des utilisateurs.