Autenticazione Squid NTLM e DansGuardian

Spesso, come nel mio caso, puo’ presentarsi la necessità di monitorare la navigazione degli utenti tramite un proxy, con la possibilità di filtrare Chat, Siti per adulti ecc..
Tutto questo autenticando l’utente in una struttura ADS di un dominio windows preesistente.
Vi dico subito che si puo’ fare…..ed è anche piuttosto semplice!

1. Aggiungiamo la porta di ascolto dello squid:

joe /etc/squid/squid.conf

squid.conf:

http_port 3128

http_port 3030

2. configuriamo dansguardian.conf file

nano /etc/dansguardian/dansguardian.conf

dansguardian.conf:

usernameidmethodproxyauth = on
filterip = 127.0.0.1
filterport = 8080
proxyip = 127.0.0.1
proxyport = 3030

3. Per prima cosa aggiungiamo NTLM authentication nel file squid.conf:

joe /etc/squid-ntml/squid.conf

squid.conf:

auth_param ntlm program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp
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 offauth_param basic program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-basic
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

4. Abilitazione del programma NTLM authentication in http_access & the acl rules

nano /etc/squid-ntml/squid.conf
squid.conf:

# (in the acl’s area)
acl ntlm proxy_auth REQUIRED# (in the http_access area)
http_access allow localhost
http_access allow ntlm

make sure that the http_access rules are the first in the list.

5. Fermiamo windbind. Nei punti successivi abiliteremo Winbind ad autenticarsi nell’active directory del dominio windows:

/etc/init.d/smb stop
/etc/init.d/winbind stop

6. Edit Kerberos
nano /etc/krb5.conf

krb5.conf:

[libdefaults] default_realm = WINDOWS.SERVER.INT[realms] WINDOWS.SERVER.INT = {
kdc = mc1.windows.server.int
default_domain = WINDOWS.SERVER.INT
kpasswd_server = mc1.windows.server.int
admin_server = mc1.windows.server.int
}[domain_realm] .windows.server.int = WINDOWS.SERVER.INT

7. Edita il file di configurazione samba

/etc/samba/smb.conf

smb.conf:

workgroup = server
security = ads
realm = WINDOWS.SERVER.INT
encrypt passwords = yesusername map = /etc/samba/smbuserswinbind uid = 10000-20000
winbind gid = 10000-20000
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes

8. Joina nel dominio windows principale:

net ads join -U administrator -S mc1

9. Facciamo ripartire samba e winbind

/etc/init.d/smb start
/etc/init.d/winbind start

10. Verifica di aver accesso al dominio con il seguente comando, dovrebbe resistuire l elenco dei gruppi utente di active directory.

/usr/bin/wbinfo -g

11. Next step is to disable the caching in squid, edit the ‘/etc/squid/squid.conf’

12. Settiamo Dansguardian ad essere la seconda cache di squid.

/etc/squid/squid.conf

squid.conf:

cache_peer 127.0.0.1 parent 8080 0 no-query login=*:nopassword

13. Facciamo  partire Squid e Dansguardian

/etc/init.d/dansGuardian start
/usr/sbin/squid -f /etc/squid/squid.conf -z
/usr/sbin/squid-cache -f /etc/squid/squid-cache.conf -z





0