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
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
Verifica di aver messo nel resolve.conf i nomi dei dns del dominio ADS.
Ciao
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
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
ciao
ho impostato esattamente come te ma mi dice error connecting to parent proxy come luigi
grazie
Ciao Mykil, verfica di non aver firewall locali. Se da terminale fai un telent diretto alla porta 3030, risponde?
ciao
ma hai indicato http_port 3128 e poi proxyport 3130 , nn ha molto senso….
grazie
Ciao Mykol, credo che stai facendo un po di confusione…. rileggi bene i punti 2 e 12.
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
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
ciao dev
grazie a te per il supporto mi sei stato di grande aiuto
ps:complimenti per il blog!