Guida alle tecnologie

Configurare il server proxy Squid con DansGuardian e ipmasq

7 min read Rete Aggiornato 11 Oct 2025
Squid + DansGuardian: guida alla configurazione
Squid + DansGuardian: guida alla configurazione

Panoramica

Questa guida descrive come configurare Squid per l’autenticazione NTLM, collegarlo a DansGuardian per il filtraggio dei contenuti e usare ipmasq per il routing e il proxying trasparente. Include inoltre uno script per impostare i permessi di winbind ad ogni avvio e suggerimenti per test e risoluzione problemi.

Definizione rapida: NTLM è un protocollo di autenticazione Microsoft usato spesso in domini Active Directory.

Prerequisiti

  • Sistema Linux con Squid, DansGuardian, Samba/winbind e ipmasq disponibili.
  • Accesso root o privilegi sudo.
  • Macchine cliente nella rete (alcune eventualmente non appartenenti al dominio) per i test.

Backup e modifica di /etc/squid/squid.conf

Fai una copia di sicurezza prima di modificare la configurazione di Squid:

cp /etc/squid/squid.conf /etc/squid/squid.conf.bak
nano -c /etc/squid/squid.conf

Modifica le righe indicate nel file:

  • Cambia la riga 73 in:

http_port 127.0.0.1:3128 transparent

  • Cambia la riga 74 in:

http_port 8080

  • Cambia la riga 593 in:

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

  • Rimuovi il commento (uncomment) tra le righe 1783 e 1791 e sostituisci il segnaposto con:

/usr/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp

  • Rimuovi il commento tra le righe 1800 e 1803 e sostituisci il segnaposto con:

/usr/bin/ntlm_auth –helper-protocol=squid-2.5-basic

  • Cambia la riga 2449 in:

acl ntlm_auth proxy_auth REQUIRED

  • Cambia la riga 2579 in:

http_access allow ntlm_auth

  • Cambia la riga 3161 in:

forwarded_for off

Salva il file.

Importante: la direttiva forwarded_for imposta se Squid aggiunge o meno l’IP interno dell’utente nella richiesta HTTP. Lasciarla attiva può esporre IP interni ai siti esterni.

Permessi di winbind e script di avvio

Squid necessita di accesso a /var/run/samba/winbindd_privileged. I permessi possono essere corretti ma vengono spesso resettati al riavvio. Per risolvere in modo persistente, crea uno script di avvio che imposti i permessi ad ogni boot.

Crea o modifica il file /etc/init.d/winbind-ch.sh e incollaci dentro il seguente contenuto:

#!/bin/sh
#set -x
WINBINDD_PRIVILEGED=/var/run/samba/winbindd_privileged
chmodgrp() {
chgrp proxy $WINBINDD_PRIVILEGED || return 1
chmod g+w $WINBINDD_PRIVILEGED || return 1
}
case "$1" in
start)
chmodgrp
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
#EOF

Quindi registra lo script per l’avvio:

update-rc.d winbind-ch.sh start 21 2 3 4 5 .

Nota: assicurati che lo script sia eseguibile (chmod +x /etc/init.d/winbind-ch.sh) e che l’utente/groupproxy esista sul sistema.

Configurare DansGuardian

Modifica il file principale di DansGuardian:

  • Apri /etc/dansguardian/dansguardian.conf e commenta la riga 3.
  • Vai alla riga 62 e cambia la porta da 8080 a 8081.
  • Cambia filtergroups = 1 (riga 102) in filtergroups = 2 e crea i file di configurazione per il nuovo gruppo.

Esempio di copia per il nuovo gruppo:

cp /etc/dansguardian/dansguardianf1.conf /etc/dansguardian/dansguardianf2.conf
nano -c /etc/dansguardian/dansguardianf2.conf

Nel file del secondo gruppo, vai alla riga 29 e impostala così:

naughtynesslimit = 100

Anti-Virus: le definizioni degli antivirus non dovrebbero essere scandite da DansGuardian perché possono essere bloccate.

Aggiungi il sito di aggiornamenti del tuo AV alla whitelist antivirus di DansGuardian:

  • Modifica /etc/dansguardian/exceptionvirussitelist e aggiungi il DNS del servizio di definizioni. Per esempio:

activeupdate.trendmicro.com

  • Se necessario, aggiungi anche il dominio alla site exception list:

Modifica /etc/dansguardian/exceptionsitelist e aggiungi:

trendmicro.com

Riavvia DansGuardian:

/etc/init.d/dansguardian restart

Configurare il firewall con ipmasq

Ipmasq è un’utilità che semplifica la configurazione di firewall e routing. Per installarla:

apt-get install ipmasq -y

Per abilitare il proxy trasparente e reindirizzare tutte le richieste HTTP in uscita a DansGuardian (porta 8081), copia la regola di esempio:

cp /usr/share/doc/ipmasq/examples/basics/I89tproxy.rul /etc/ipmasq/rules/I89tproxy.rul

Se hai server interni che necessitano di port forwarding, consulta l’esempio DNAT:

/usr/share/doc/ipmasq/examples/dnat/C50dnat.rul

Installare il modulo DansGuardian per Webmin

Apri un browser e vai a:

https://192.168.1.1:10000/

Accedi come root. Vai in Webmin > Webmin Configuration > Webmin Modules. Seleziona “From ftp or http URL” e incolla il seguente URL, poi clicca su Install Module:

http://internap.dl.sourceforge.net/sourceforge/dgwebminmodule/dg-0.5.10-pr5.wbm

Test finali e scenari

  1. Riavvia il sistema.
  2. Configura il browser su una macchina client per usare il proxy all’indirizzo IP della macchina proxy e porta 8080. Se il dominio è correttamente integrato, l’accesso NTLM dovrebbe essere automatico.
  3. In Internet Explorer, se NTLM fallisce, potrebbe essere necessario immettere domainname\username manualmente.
  4. Prova una macchina non joinata al dominio e non configurata per il proxy per vedere come viene gestita la richiesta.

Accedi a Webmin e verifica i log di DansGuardian. Dovresti vedere il nome utente del computer di dominio e i siti visitati.

Comportamento atteso:

  • I computer di dominio passano per Squid → DansGuardian → Squid.
  • I computer non joinati passano direttamente a DansGuardian → Squid.

Se non funziona, controlla il syslog e i log di Squid e DansGuardian per messaggi di errore.

Check-list operativa per l’amministratore

  • Backup di /etc/squid/squid.conf
  • Applicare le modifiche alle righe indicate in squid.conf
  • Creare e rendere eseguibile /etc/init.d/winbind-ch.sh
  • Registrare lo script con update-rc.d
  • Modificare dansguardian.conf e duplicare i gruppi filtro
  • Aggiungere eccezioni antivirus e domini alla whitelist
  • Installare ipmasq e importare la regola I89tproxy.rul
  • Installare il modulo Webmin, riavviare e testare

Test di accettazione essenziali

  • Il proxy risponde su 127.0.0.1:3128 e su 8080.
  • DansGuardian ascolta su 8081 e filtra le richieste.
  • L’autenticazione NTLM passa correttamente per utenti di dominio.
  • I permessi del file winbindd_privileged sono settati dopo il riavvio.
  • I log mostrano i nomi utente corretti e le richieste filtrate.

Risoluzione problemi comuni

  • Squid invia ancora l’IP interno: verifica forwarded_for off in squid.conf e riavvia Squid.
  • NTLM non esegue il login automatico: verifica che ntlm_auth sia installato e che Samba/winbind siano attivi.
  • Permessi winbind resettati dopo reboot: controlla lo script in /etc/init.d e la priorità di avvio.
  • Contenuti AV bloccati: aggiungi i domini di aggiornamento AV a exceptionvirussitelist e exceptionsitelist.

Box dei fatti: porte e percorsi chiave

  • Squid (locale): 127.0.0.1:3128
  • Proxy pubblico: porta 8080
  • DansGuardian: porta 8081
  • Percorsi chiave: /etc/squid/squid.conf, /etc/dansguardian/dansguardian.conf, /var/run/samba/winbindd_privileged

Privacy e conformità (GDPR) — note pratiche

  • L’autenticazione NTLM usa nomi utente. Limita la conservazione dei log e proteggi l’accesso ai log.
  • Documenta la base giuridica per il trattamento dei dati personali e informa gli interessati se necessario.
  • Proteggi la macchina proxy con aggiornamenti regolari e accesso amministrativo limitato.

Ruoli e responsabilità

  • Amministratore di rete: applicare configurazioni, testare e mantenere script di avvio.
  • Amministratore di sistema: gestire Samba/winbind, permessi file e aggiornamenti.
  • Responsabile privacy: verificare conservazione log e conformità GDPR.

Esempi di casi limite e quando questa soluzione fallisce

  • Autenticazione Kerberos pura: questa configurazione è centrata su NTLM; per Kerberos servono ulteriori impostazioni.
  • Client che forzano proxy manuale con credenziali errate: il flusso automatico NTLM non funziona.
  • Reti IPv6-only: verificare compatibilità di ipmasq e regole di iptables/iptables-legacy.

Riepilogo

Questa guida ti porta passo-passo dalla modifica dei file di configurazione di Squid e DansGuardian fino all’installazione di ipmasq e del modulo Webmin. Include uno script per mantenere i permessi di winbind e suggerimenti per test e privacy. Segui la checklist e i test di accettazione per verificare il corretto funzionamento.

Importante: conserva sempre una copia di backup dei file di configurazione e prova le modifiche in un ambiente di staging quando possibile.

Risorse e link utili

Social preview suggerito

Titolo: Squid + DansGuardian: proxy trasparente e filtraggio web Descrizione: Guida pratica per configurare Squid con NTLM, DansGuardian e ipmasq; include script, regole firewall e checklist di test.

Annuncio breve (100–200 parole)

Questa guida spiega come configurare un proxy trasparente con Squid integrato a DansGuardian per il filtraggio dei contenuti e ipmasq per la gestione del routing. Troverai le modifiche da applicare a squid.conf, uno script di avvio per correggere i permessi di winbind al boot, istruzioni per creare gruppi di filtro in DansGuardian e regole ipmasq per il redirect del traffico HTTP. La guida include una checklist operativa, i test di accettazione e note sulla privacy per la gestione dei log contenenti nomi utente. È ideale per amministratori di rete che devono implementare filtraggio e autenticazione in ambienti con Active Directory.

Glossario in una riga

NTLM: protocollo di autenticazione Microsoft; DansGuardian: filtro di contenuti web; ipmasq: utilità di configurazione firewall/router.

Autore
Redazione

Materiali simili

App a pagamento gratis su iPhone senza jailbreak
iPhone

App a pagamento gratis su iPhone senza jailbreak

Installare Opigno LMS su Ubuntu 18.04
Tutorial

Installare Opigno LMS su Ubuntu 18.04

Migliorare connessione mobile e Internet debole
Reti mobili

Migliorare connessione mobile e Internet debole

Bloccare la barra delle applicazioni in Windows
Windows

Bloccare la barra delle applicazioni in Windows

Discord TTS non funziona: guida completa
Guide tecniche

Discord TTS non funziona: guida completa

Squid + DansGuardian: guida alla configurazione
Rete

Squid + DansGuardian: guida alla configurazione