wiki:howto/SquidKerberosAuthentication

Version 19 (modified by Edwin Eefting, 13 years ago) (diff)

--

Squid en Kerberos authenticatie

Deze howto zorgt ervoor dat Windows XP, Windows 7 en hoger , die zijn aangemeld op een Windows Active directory server, zich ook transparant autenticeren bij uw SYN-3 squid server.

Er zijn geen registry aanpassingen/hacks nodig in de Windows omgeving.

Bron howtos:

in progress

Algemeen

  • Zorg dat alle servers op tijd lopen, het liefst via ntp.

Windows config

Windows 2003/2008 server configuratie

Volg de AD wizard. Volgende instellingen op server

  • Domein: ADTEST.PSY.DATUX.NL
  • IP: 192.168.13.13
  • Server hostnaam: w2k3-edwin.adtest.psy.datux.nl
  • Server als DNS laten configureren door de AD wizard.
  • Gewone standaard gebruiker: edwin, pass test

Windows 7 client

  • Als DNS 192.168.13.13 instellen.
  • Aanmelden op het domein(Inloggen als Administrator, niet als user) en testen

Als je zover bent heb je dus een werkende windows Active directory met 1 aangemelde computer.

DNS

  • Het essentieel dat DNS goed geconfigureerd is, anders werkt kerberos niet.
  • Maak een A record en Reverse record in de Windows server, voor uw proxy server. In ons geval: proxy.adtest.psy.datux.nl <-> 192.168.13.150
  • Zorg dat alle machines de Windows server als DNS gebruiken
  • Controleer met het dig commando of alle forward en reverse looksups goed gaan.

Syn-3 config

  • Zorg dat u minimaal SYN-3 versie 4.4.2 heeft.
  • Zorg dat de hostname goed is ingesteld. In ons geval: proxy.adtest.psy.datux.nl

Kerberos config

Eerst moeten we zorgen dat kerberos goed werkt. De config staat nog in /etc, maar deze komt later misschien in /home/system:

[Syn-3] root@proxy.adtest.psy.datux.nl ~# cat /etc/krb5.conf
[libdefaults]
      default_realm =  ADTEST.PSY.DATUX.NL
      dns_lookup_kdc = no
      dns_lookup_realm = no
      default_keytab_name = /etc/krb5.keytab

; for Windows 2003
      default_tgs_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
      default_tkt_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
      permitted_enctypes = rc4-hmac des-cbc-crc des-cbc-md5

; for Windows 2008 with AES
;      default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
;      default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
;      permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
;
; for MIT/Heimdal kdc no need to restrict encryption type

[realms]
       ADTEST.PSY.DATUX.NL = {
              kdc = w2k3-edwin.adtest.psy.datux.nl 
              admin_server = w2k3-edwin.adtest.psy.datux.nl 
      }

[domain_realm]
      .adtest.psy.datux.nl =  ADTEST.PSY.DATUX.NL
      adtest.psy.datux.nl =  ADTEST.PSY.DATUX.NL

[logging]
  kdc = FILE:/var/log/kdc.log
  admin_server = FILE:/var/log/kadmin.log
  default = FILE:/var/log/krb5lib.log

Let op de hoofdletters en op het feit dat je de LANGE domain naam gebruikt voor het AD-domain. (dus NIET de volledige hostname) Gebruik voor kdc het ip van de AD-server.

Testen of het werkt doe je zo:

[Syn-3] root@proxy.adtest.psy.datux.nl ~# kinit administrator
Password for administrator@ADTEST.PSY.DATUX.NL: 
[Syn-3] root@proxy.adtest.psy.datux.nl ~# klist -e
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@ADTEST.PSY.DATUX.NL

Valid starting     Expires            Service principal
12/22/10 20:16:44  12/23/10 06:16:12  krbtgt/ADTEST.PSY.DATUX.NL@ADTEST.PSY.DATUX.NL
        renew until 12/23/10 20:16:44, Etype (skey, tkt): ArcFour with HMAC/md5, ArcFour with HMAC/md5 

Let op de hoofdletters en zo.

Je hebt nu een werkende kerberos omgeving die authenticeert naar de Kerberos server.

Active directory kopelling maken

Dit doe je met de msktutil:

[Syn-3] root@proxy.adtest.psy.datux.nl /etc#  msktutil -c -b "CN=COMPUTERS" -s HTTP/$HOSTNAME -h $HOSTNAME -k /etc/krb5.keytab --computer-name syn3proxy --upn HTTP/$HOSTNAME --server w2k3-edwin.adtest.psy.datux.nl  
No computer account for syn3proxy found, creating a new one.
dn: cn=syn3proxy,CN=COMPUTERS,dc=ADTEST,dc=PSY,dc=DATUX,dc=NL

Voor een Windows 2008 server voegt u --enctypes 28 toe aan het commando.

Squid instellen

Squid moet bij de keytab file kunnen:

[Syn-3] root@proxy.adtest.psy.datux.nl ~# 
chown nobody /etc/krb5.keytab               

Debugging

Werkt het niet, zet dan cache logging aan en voeg de -d optie toe aan squid_kerb_auth.

Windows clients instellen.

  • Zorg in Internet Explorer dat u de SYN-3 server opgeeft als proxy.
  • Gebruik de volledige HOSTNAME en niet het IP. Dus in dit geval: proxy.adtest.psy.datux.nl