Guide des technologies

Comment installer et configurer Dansguardian avec filtrage multi-groupes et Squid avec authentification NTLM sur Debian Etch

7 min read réseau Mis à jour 22 Oct 2025
Dansguardian + Squid NTLM sur Debian Etch
Dansguardian + Squid NTLM sur Debian Etch

Vue d’ensemble rapide

Objectif principal : déployer une passerelle Internet avec filtrage par groupe d’utilisateurs et authentification unique NTLM pour les postes. Composants clés :

  • Dansguardian : filtre HTTP/HTTPS au niveau applicatif.
  • Squid : proxy HTTP/HTTPS, ici configuré pour NTLM (authentification Windows intégrée).
  • dnsmasq : résolveur et serveur DHCP léger, intégré à resolvconf.
  • resolvconf : gestion dynamique des serveurs DNS (utile pour connexions PPP/DHCP).
  • Samba + Winbind + Kerberos : joindre le serveur au domaine Active Directory.

Définitions rapides :

  • NTLM : protocole d’authentification Windows côté réseau.
  • Kerberos : protocole d’authentification réseau basé sur tickets.
  • Winbind : service qui expose les comptes AD sur Linux.

Pré-requis matériels et installation de base

Ce how‑to nécessite deux interfaces réseau (NIC) pour la traduction d’adresses et le proxy transparent. Installez Debian Etch avec le système de base seulement.

Suppositions réseau pour ce guide :

  • eth0 : interface externe (IP statique ou dynamique).
  • eth1 : interface interne, adresse statique 192.168.1.1/24.

L’installation de base n’installe pas SSH. Installez-le :

apt-get install ssh openssh-server

Une fois SSH installé, vous pouvez poursuivre depuis une session SSH.

Important : ClamAV dans Etch présente un bug de démarrage qui ralentit Dansguardian. Ce guide montre comment récupérer une version depuis Debian Backports pour contourner le problème.

Repositories et préférences APT

Ajoutez ces lignes dans /etc/apt/sources.lst :

deb http://download.webmin.com/download/repository sarge contrib
deb http://www.backports.org/debian etch-backports main contrib non-free

Pour forcer APT à ne récupérer ClamAV que depuis backports, éditez /etc/apt/preferences et ajoutez :

Package: clamav
Pin: release a=etch-backports
Pin-Priority: 999
Package: clamav-base
Pin: release a=etch-backports
Pin-Priority: 999
Package: clamav-freshclam
Pin: release a=etch-backports
Pin-Priority: 999
Package: libclamav2
Pin: release a=etch-backports
Pin-Priority: 999

Note : si une version officielle corrige le bug, cette étape peut devenir inutile.

Mise à jour et installation des paquets nécessaires :

apt-get update
apt-get install debian-backports-keyring
apt-get install dnsmasq webmin squid dansguardian samba winbind krb5-user libcompress-zlib-perl resolvconf ntp ntpdate

Pendant l’installation, vous serez invité à répondre à plusieurs questions sensibles à la casse.

Exemples de réponses (respectez la casse) :

  • Nom du groupe de travail : EXAMPLEDOMAIN
  • Modifier smb.conf pour utiliser WINS depuis DHCP ? : No
  • Serveurs Kerberos pour votre realm : domaincontroller.EXAMPLEDOMAIN.LOCAL
  • Serveur administratif Kerberos : domaincontroller.EXAMPLEDOMAIN.LOCAL

Configurez krb5 :

dpkg-reconfigure krb5-config

Réponses supplémentaires :

  • Royaume Kerberos par défaut : EXAMPLEDOMAIN.LOCAL
  • DNS contient des pointeurs vers les serveurs Kerberos ? : Yes

Configurer resolvconf et dnsmasq

Les connexions Internet dynamiques peuvent mettre à jour les serveurs DNS (pppd/dhcp) et casser Kerberos. resolvconf évite ce problème en centralisant la gestion des résolveurs.

Éditez /etc/resolvconf/resolv.conf.d/head et ajoutez la recherche DNS :

search exampledomain.local

dnsmasq : forwarder DNS et serveur DHCP léger. Vérifiez le fichier /var/run/dnsmasq/resolv.conf et adaptez-le :

nameserver 
nameserver 
nameserver 

Editez /etc/dnsmasq.conf pour optimiser performance et sécurité :

nano -c /etc/dnsmasq.conf
  • Décommentez les lignes 14 et 16.
  • Décommentez la ligne 71 et ajoutez eth0 à la fin.

Le DHCP de dnsmasq est désactivé par défaut ; si vous l’activez, commencez près de la ligne 100. Les options DNS avancées se trouvent après la ligne 307.

Configurer NTP vers le contrôleur de domaine

Editez /etc/ntp.conf :

nano -c /etc/ntp.conf

Commentez les lignes 19 à 22 et insérez :

server domaincontroller.exampledomain.local iburst

Synchroniser l’heure avec le contrôleur de domaine est crucial pour Kerberos.

Configurer Samba et joindre le domaine

Faites une sauvegarde puis éditez smb.conf :

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
nano -c /etc/samba/smb.conf

Exemples de modifications :

  • Sur la ligne 53 : ajoutez interfaces = 192.168.1.1/255.255.255.0
  • Décommentez la ligne 59.
  • Sur la ligne 91 : changez en security = ads
  • Décommentez les lignes 204 et 205.

Ajoutez avant la ligne 217 :

winbind trusted domains only = yes
realm = EXAMPLEDOMAIN.LOCAL
winbind cache time = 3600

Redémarrez les services et synchronisez l’heure :

net time set -S domaincontroller
/etc/init.d/samba restart
/etc/init.d/winbind restart

Puis joignez le domaine :

net ads join -U Administrator

Pour vérifier :

wbinfo -t

La sortie attendue : “checking the trust secret via RPC calls succeeded”

wbinfo -u

Liste des utilisateurs du domaine.

wbinfo -g

Liste des groupes du domaine.

Points importants de configuration de Dansguardian et Squid

Résumé des bonnes pratiques :

  • Déployez Squid devant Dansguardian (ou en mode transparent selon le besoin). Squid gère le cache et l’authentification ; Dansguardian filtre le contenu.
  • Pour NTLM, configurez Squid avec les helpers ntlm_auth et intégrez winbind.
  • Testez d’abord en mode explicite (configurer le navigateur) avant de passer au proxy transparent.
  • Conservez une route de contournement pour l’administration distante.

Exemples de tests :

  • Vérifier que Squid récupère l’identité NTLM.
  • Vérifier que Dansguardian applique des règles différentes selon les groupes AD.
  • Vérifier que ClamAV ne bloque pas le démarrage.

Playbook de déploiement (étapes séquentielles)

  1. Installer Debian Etch minimal.
  2. Installer SSH et se connecter.
  3. Ajouter repositories backports et mettre à jour APT.
  4. Installer dnsmasq, resolvconf, samba, winbind, krb5, squid, dansguardian.
  5. Configurer resolvconf + dnsmasq + NTP.
  6. Configurer Samba/Winbind/Kerberos et joindre le domaine.
  7. Configurer Squid pour NTLM (helpers) et Dansguardian pour filtrage multi-groupes.
  8. Tester en mode explicite.
  9. Activer proxy transparent si nécessaire.
  10. Mettre en place la surveillance et la rétention de logs.

Checklist rôle par rôle

Administrateur système

  • Valider les interfaces réseau et routes.
  • Vérifier la synchronisation NTP.
  • Tester wbinfo -t, wbinfo -u, wbinfo -g.
  • Test d’authentification NTLM via Squid.

Administrateur réseau

  • Vérifier iptables/masquerade pour NAT entre eth1 et eth0.
  • Tester résolution DNS interne via dnsmasq.

Support niveau 1

  • Tester accès web depuis poste client configuré.
  • Expliquer au client comment configurer le proxy explicite si nécessaire.

Critères d’acceptation

  • Les utilisateurs AD s’authentifient via NTLM et reçoivent des règles de filtrage basées sur groupes.
  • wbinfo retourne les comptes et groupes du domaine.
  • Les machines clientes naviguent via le proxy (mode explicite ou transparent choisi).
  • L’heure du serveur est synchronisée avec le contrôleur de domaine.

Dépannage courant

Problème : Kerberos échoue après changement de DNS (connexion PPP/DHCP)

  • Vérifiez /var/run/dnsmasq/resolv.conf et /etc/resolvconf/resolv.conf.d/head.
  • Assurez-vous que la commande dpkg-reconfigure krb5-config a le realm correct.

Problème : Squid ne récupère pas les identifiants NTLM

  • Vérifiez que winbind est démarré et que smb.conf a security = ads.
  • Testez ntlm_auth helper manuellement.

Problème : Dansguardian très lent au démarrage

  • Vérifiez la version de ClamAV ; utilisez backports si nécessaire.

Diagramme de décision pour proxy explicite vs transparent

flowchart TD
  A[Besoin d'authentification par utilisateur ?] -->|Oui| B{Peut-on configurer les postes clients ?}
  B -->|Oui| C[Mode explicite : configurez le proxy dans les navigateurs]
  B -->|Non| D[Mode transparent : interception via iptables]
  A -->|Non| E[Mode transparent acceptable]
  D --> F[Attention : NTLM peut ne pas fonctionner en transparent sans configuration supplémentaire]

Sécurité et vie privée

  • Limitez la conservation des logs selon la politique de votre organisation et la réglementation locale (ex. RGPD en Europe). Enregistrez uniquement ce qui est nécessaire pour la sécurité et l’audit.
  • Si des données personnelles transitent par le proxy, documentez la finalité et mettez en place des accès restreints aux logs.
  • Mettez à jour les paquets de sécurité dès que possible ; Etch est une vieille distribution — planifiez une migration.

Compatibilité et migration

Debian Etch est obsolète. Ce guide s’applique à Etch, mais pour un déploiement moderne :

  • Préparez une feuille de route pour migrer vers une version maintenue (Debian stable actuelle).
  • Sur les versions récentes, les noms de paquets, chemins et options Samba/Kerberos peuvent avoir changé.
  • Testez la configuration sur une VM avant migration.

Test cases et validation finale

  • Test 1 : Un utilisateur AD du groupe “Élèves” doit se voir appliquer une politique plus restrictive.
  • Test 2 : Un utilisateur AD du groupe “Staff” doit avoir accès à davantage de sites.
  • Test 3 : wbinfo -t renvoie un succès.
  • Test 4 : Les postes en configurés en proxy explicite naviguent correctement.

Résumé et points d’action

  • Suivez l’ordre du playbook. Testez après chaque étape.
  • Priorisez la synchronisation NTP et la résolution DNS avant Kerberos.
  • Pour NTLM, validez Winbind et les helpers Squid.
  • Documentez la durée de conservation des logs et conformez-vous aux règles locales.

Notes importantes

  • Ce guide est technique et suppose des droits root sur le serveur.
  • N’inventez pas de versions logicielles dans un environnement de production ; testez d’abord sur une machine isolée.

Fin

Auteur
Édition

Matériaux similaires

Installer et utiliser Podman sur Debian 11
Conteneurs

Installer et utiliser Podman sur Debian 11

Guide pratique : apt-pinning sur Debian
Administration système

Guide pratique : apt-pinning sur Debian

OptiScaler : activer FSR 4 dans n'importe quel jeu
Jeux PC

OptiScaler : activer FSR 4 dans n'importe quel jeu

Dansguardian + Squid NTLM sur Debian Etch
réseau

Dansguardian + Squid NTLM sur Debian Etch

Corriger l'erreur d'installation Android sur SD
Android, Dépannage

Corriger l'erreur d'installation Android sur SD

KNetAttach et remote:/ — Dossiers réseau KDE
Tutoriel

KNetAttach et remote:/ — Dossiers réseau KDE