Oguz Yilmaz
2011-Nov-01  09:56 UTC
[Samba] Enhancing NTLM Authentication to Remote Site Active Directory server
Hi,
We use NLTM Authentication with Squid is some setups.On those setup,
local machine joins active directory and squid ntlm_auth helper
authenticate through local samba service. Users transparently
authenticate through NTLM authentication handshake on HTTP without
entering any password in their browser.
However, in some cases, branch offices has no local active directory
server. Branch office is connected to the headquarters through a IPSEC
vpn. I can make branch office samba to join to the headquarter active
directory domain and set NTLM authentication on Squid up correctly.
This setup has a weakness inherited from high latency, packet loss
ofsome other things that I dont know about samba. 3-4 times in a
dayusers get prompted with user name password authentication popup
ontheir browser. Sometimes this recovered naturally in a few
minutes.However, it requires rejoining to the domain in come cases.
(wbinfo -tgives error and wbinfo -l can not list users).
I have made some tunings in samba:
? getwd cache = yes
? winbind cache time = 3000
? ldap connection timeout = 10
? ldap timeout = 120
Which other tunings can I do on samba and squid? I need your experiences.
Best Regards,
squid.conf:
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 20
auth_param ntlm keep_alive off
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 20
auth_param basic realm Squid AD Auth
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
/etc/samba/smb.conf:
[global]
  netbios name = SQUID
  realm = MY.DOM
  workgroup = my.dom
  security = ads
  encrypt passwords = yes
  password server = 172.16.5.10
  log level = 3
  log file = /var/log/samba.log
  ldap ssl = no
  idmap uid = 10000-20000
  idmap gid = 10000-20000
  winbind separator = /
  winbind enum users = yes
  winbind enum groups = yes
  winbind use default domain = yes
  domain master = no
  local master = no
  preferred master = no
  template shell = /sbin/nologin
  getwd cache = yes
  winbind cache time = 3000
  ldap connection timeout = 10
  ldap timeout = 120
/etc/krb5.conf:
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log
[libdefaults]
 default_realm = MY.DOM
 default_tkt_enctypes = rc4-hmac des-cbc-crc
 default_tgs_enctypes = rc4-hmac des-cbc-crc
# dns_lookup_realm = false
# dns_lookup_kdc = false
 dns_lookup_realm = false
 dns_lookup_kdc = false
[realms]
 MY.DOM = {
 kdc = 172.16.5.10
 admin_server = 172.16.5.10
 default_domain = MY.DOM
 }
[domain_realm]
 .ronesans.hol = MY.DOM
 ronesans.hol = MY.DOM
Andrew Bartlett
2011-Nov-03  10:23 UTC
[Samba] Enhancing NTLM Authentication to Remote Site Active Directory server
On Tue, 2011-11-01 at 11:56 +0200, Oguz Yilmaz wrote:> Hi, > > We use NLTM Authentication with Squid is some setups.On those setup, > local machine joins active directory and squid ntlm_auth helper > authenticate through local samba service. Users transparently > authenticate through NTLM authentication handshake on HTTP without > entering any password in their browser. > > However, in some cases, branch offices has no local active directory > server. Branch office is connected to the headquarters through a IPSEC > vpn. I can make branch office samba to join to the headquarter active > directory domain and set NTLM authentication on Squid up correctly. > > This setup has a weakness inherited from high latency, packet loss > ofsome other things that I dont know about samba. 3-4 times in a > dayusers get prompted with user name password authentication popup > ontheir browser. Sometimes this recovered naturally in a few > minutes.However, it requires rejoining to the domain in come cases. > (wbinfo -tgives error and wbinfo -l can not list users). > > I have made some tunings in samba: > getwd cache = yes > winbind cache time = 3000 > ldap connection timeout = 10 > ldap timeout = 120 > > Which other tunings can I do on samba and squid? I need your experiences.None of these things can help, as we cannot cache authentication details. The only way to speed things up is to run a Read Only DC, and allow the local users to have their passwords cached on that DC. That can be done with Samba4 or Windows 2008. Technically, only other option would be to use kerberos to the proxy, as that will not have the same latency. (However, the support in Samba for this mode is poor at the moment). Andrew Bartlett -- Andrew Bartlett http://samba.org/~abartlet/ Authentication Developer, Samba Team http://samba.org