apr 02 2008

Autenticazione Squid NTLM e DansGuardian

Published by Dev at 14:15 under Opensource, Tutorial

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

Articoli Correlati:

Segnala presso:
  • del.icio.us
  • Google
  • Live
  • Segnalo
  • Slashdot
  • Facebook
  • Upnews
  • Wikio IT
  • Digg
  • E-mail this story to a friend!
  • Ma.gnolia
  • MySpace
  • Diggita
  • LinkedIn
  • OKNotizie
  • ZicZac

11 responses so far



11 Responses to “Autenticazione Squid NTLM e DansGuardian”

  1. Enricoon 25 lug 2008 at 17:11

    Ciao ho seguito le tue istruzioni che trovo molto utile ma al join al dominio ho questo errore :
    [2008/07/25 19:39:52, 0] utils/net_ads.c:ads_startup(289)
    ads_connect: No such file or directory

    Hai idea di che tipo di problema possa essere ?
    Grazie
    Ciao
    Enrico

  2. devon 26 lug 2008 at 11:29

    Verifica di aver messo nel resolve.conf i nomi dei dns del dominio ADS.

    Ciao

  3. Luigion 21 ago 2008 at 09:04

    Ciao
    Ho seguito le tue istruzioni passo passo, ma l’autenticazione con dansguardian non funziona, se utilizzo solo squid funziona, invece se uso squid+dansguardian allora mi presenta la finsetra per l’autenticazione, provo comunque ad inserire username e password, ma non mi fa atenticare.
    Un’altra cosa net tuo tutorial indichi come porta per dansguardian

    proxyport = 3030

    ma con questa configurazione non riesco a far partire dansguardian perché non riesce a connettersi e mi da il seguente errore
    Error connecting to parent proxy

  4. Devon 21 ago 2008 at 09:28

    Ciao Luigi,
    Se su Proxyport in Dansguardian usi la porta 3030 anche in squid devi configurarla con http_port 3030.
    Inoltre sempre nello squid.conf verifica di avere questa riga:

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

  5. mykolon 12 gen 2010 at 19:05

    ciao

    ho impostato esattamente come te ma mi dice error connecting to parent proxy come luigi
    grazie

  6. Devon 12 gen 2010 at 23:55

    Ciao Mykil, verfica di non aver firewall locali. Se da terminale fai un telent diretto alla porta 3030, risponde?

  7. mykolon 13 gen 2010 at 18:52

    ciao
    ma hai indicato http_port 3128 e poi proxyport 3130 , nn ha molto senso….
    grazie

  8. devon 14 gen 2010 at 12:41

    Ciao Mykol, credo che stai facendo un po di confusione…. rileggi bene i punti 2 e 12.

  9. mykolon 14 gen 2010 at 16:56

    ciao dev

    allora nn ho ben capito a cosa serve impostare proxyport=3030
    visto ke il proxy ascolta sulla 3128
    scusa la testardaggine e grazie

  10. Devon 14 gen 2010 at 17:15

    Mykol, son un po rinco io non mi ero proprio accorto….hai ragione.
    La mia intenzione era di usare la 3030 x sfruttare l’autenticazione ecc e la 3128 per una connessione classica bypassando il sistema per i vari test.
    Ho apportato la modifica al post.
    Grazie e scusa
    Ciao

  11. mykolon 15 gen 2010 at 09:51

    ciao dev

    grazie a te per il supporto mi sei stato di grande aiuto

    ps:complimenti per il blog!

Trackback URI | Comments RSS

Leave a Reply