Salut !
Ci-dessous brut de fonderie la conf de squid et samba pour faire marcher chez moi l'authentification transparente.
Attention cela se base sur des versions de squid et samba récentes (notemment pour la vérif de groupe intégrée).
- Code: Tout sélectionner
/etc/samba/smb.conf :
workgroup = <ton_domaine>
winbind use default domain = yes
encrypt passwords = yes
security = domain
password server = <ton_dc_primaire>, <ton_dc_secondaire>
winbind separator = +
template shell = /bin/bash
template homedir = /home/%D/%U
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
- Code: Tout sélectionner
/etc/squid/squid.conf :
cache_effective_user squid
http_port 3128
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
cache_dir ufs /var/spool/squid 100 16 256
logfile_rotate 0
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp --require-membership-of="<ton_domaine>+<ton_groupe_internet>"
auth_param ntlm children 5
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
auth_param ntlm use_ntlm_negotiate off
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="="<ton_domaine>+<ton_groupe_internet>"
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl localhost src 127.0.0.1/255.255.255.255
acl lan src 10.14.0.0/16
acl all src 0.0.0.0/0.0.0.0
acl pass proxy_auth REQUIRED
http_access allow localhost
http_access allow all pass
http_access deny all
Bon c'est à adapter mais chez moi ça marche :
- Si ma machine est dans le domaine et que je suis un user valide appartenant au groupe je passe
- Si ma machine est dans le domaine et que je suis un user valide n'appartenant pas au groupe un popup me demande de m'authentifier autrement (je ne voulais pas que mes users administrateurs génériques passent incognito sur Internet)
- Si ma machine n'est pas dans le domaine un popup me demande de m'authentifier
Il faut en outre évidemment avoir intégré ton serveur avec squid au domaine et avoir les services samba et winbind qui tournent.
Pour info les versions que j'ai utilisé et surtout les options de compilation de squid qu'il faut absolument pour pouvoir faire du NTLM :
- Code: Tout sélectionner
smbd --version
Version 3.0.10
squid -v
Squid Cache: Version 2.5.STABLE7
configure options: --build=i386-redhat-linux --host=i386-redhat-linux --target=i386-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --exec_prefix=/usr --bindir=/usr/sbin --libexecdir=/usr/lib/squid --localstatedir=/var --sysconfdir=/etc/squid --enable-poll --enable-snmp --enable-removal-policies=heap,lru --enable-storeio=aufs,coss,diskd,null,ufs --enable-ssl --with-openssl=/usr/kerberos --enable-delay-pools --enable-linux-netfilter --with-pthreads --enable-ntlm-auth-helpers=SMB,winbind --enable-external-acl-helpers=ip_user,ldap_group,unix_group,wbinfo_group,winbind_group --enable-auth=basic,ntlm --with-winbind-auth-challenge --enable-useragent-log --enable-referer-log --disable-dependency-tracking --enable-cachemgr-hostname=localhost --disable-ident-lookups --enable-truncate --enable-underscores --datadir=/usr/share --enable-basic-auth-helpers=LDAP,MSNT,NCSA,PAM,SMB,YP,getpwnam,multi-domain-NTLM,SASL,winbind
Bon courage.
A+