Technologieführer

Installation und Konfiguration von DansGuardian mit Multi-Group-Filtering und Squid mit NTLM-Authentifizierung auf Debian Etch

7 min read Netzwerk Aktualisiert 22 Oct 2025
DansGuardian + Squid (NTLM) auf Debian Etch installieren
DansGuardian + Squid (NTLM) auf Debian Etch installieren

Inhalt

  • Voraussetzungen und Überblick
  • Basissystem konfigurieren
  • ClamAV aus Backports beziehen
  • Pakete installieren und Kerberos konfigurieren
  • resolvconf und dnsmasq einrichten
  • NTP auf den Domänencontroller setzen
  • Samba konfigurieren und Domäne beitreten
  • Test, Fehlerbehebung und typische Probleme
  • Alternative Ansätze und Erweiterungen
  • Checklisten für Rollen
  • Sicherheits‑ und Datenschutzhinweise
  • Kurze Zusammenfassung und nächste Schritte

Voraussetzungen und Überblick

Dieses How‑to setzt voraus:

  • Ein Debian Etch Basis‑Install mit nur dem Basissystem.
  • Zwei NICs: eth0 (extern, DHCP oder statisch) und eth1 (intern, statisch 192.168.1.1/24).
  • Einen Active Directory‑Domänencontroller (Kerberos/AD) mit DNS‑Einträgen.

Ziel: Transparentes Proxying plus Firewallfunktionen und mehrstufige Inhaltsfilterung pro AD‑Gruppe.

Wichtige Begriffe in einer Zeile:

  • Transparentes Proxying: Squid fängt HTTP(S)‑Verkehr ab, ohne Proxy‑Einstellungen am Client.
  • NTLM‑Auth: Windows‑integrierte Authentifizierung, via winbind/ntlm auf dem Proxy nutzbar.

Basissystem konfigurieren

Nach der Basisinstallation ist SSH nicht zwingend enthalten. Installieren Sie SSH, wenn Sie remote weiterarbeiten möchten:

apt-get install ssh openssh-server

Sobald SSH läuft, können Sie die weiteren Schritte remote durchführen.

ClamAV aus Backports beziehen (Bugumgehung)

ClamAV in Etch hat einen bekannten Bug, der das Starten von DansGuardian verzögern kann. Wir ziehen eine neuere Version aus den Backports heran.

Fügen Sie die folgenden Zeilen zu /etc/apt/sources.lst hinzu:

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

Konfigurieren Sie /etc/apt/preferences, damit nur ClamAV aus den Backports installiert wird:

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

Hinweis: Wenn ein späteres Etch‑Update den Bug behebt, ist dieser Schritt nicht mehr nötig.

Pakete installieren und Kerberos konfigurieren

Aktualisieren Sie die Paketlisten und installieren Sie benötigte Pakete:

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

Während der Installation werden Sie nach Samba/Kerberos‑Daten gefragt. Beispielantworten (Beispiele sind case‑sensitiv):

  • Arbeitsgruppe/Workgroup: EXAMPLEDOMAIN
  • Modify smb.conf to use WINS settings from DHCP?: No
  • Kerberos servers for your realm: domaincontroller.EXAMPLEDOMAIN.LOCAL
  • Administrative server for your Kerberos realm: domaincontroller.EXAMPLEDOMAIN.LOCAL

Führen Sie bei Bedarf erneut die Kerberos‑Konfiguration aus:

dpkg-reconfigure krb5-config

Zusätzliche Fragen:

  • Default Kerberos version 5 realm: EXAMPLEDOMAIN.LOCAL
  • Does DNS contain pointers to your realm’s Kerberos Servers?: Yes

resolvconf und dnsmasq konfigurieren

Viele Internetanschlüsse nutzen dynamische DNS. resolvconf hilft, DNS‑Änderungen konsistent zu halten und Kerberos stabil zu betreiben.

Bearbeiten Sie /etc/resolvconf/resolv.conf.d/head und fügen Sie die Suchdomäne hinzu (Beispiel):

search exampledomain.local

dnsmasq ist ein leichter DNS‑Forwarder und DHCP‑Server, der mit resolvconf zusammenarbeitet. Prüfen Sie /var/run/dnsmasq/resolv.conf und stellen Sie sicher, dass dort die richtigen Nameserver stehen:

nameserver 
nameserver 
nameserver 

Passen Sie /etc/dnsmasq.conf an. Beispiel: Öffnen mit nano und aktivieren Sie die empfohlenen Zeilen:

nano -c /etc/dnsmasq.conf
  • Entfernen Sie die Kommentarzeichen an den empfohlenen Stellen (z. B. Zeile 14 und 16).
  • Fügen Sie in Zeile 71 eth0 als zu bindende Schnittstelle hinzu.

Wenn Sie dnsmasq als DHCP‑Server nutzen möchten, beginnen die DHCP‑Optionen ab Zeile 100. Zusätzliche DNS‑Features finden sich weiter unten (z. B. MX‑Konfiguration).

Wichtig: Testen Sie nach Änderungen dnsmasq mit:

/etc/init.d/dnsmasq restart

NTP auf den Domänencontroller setzen

Damit Kerberos zuverlässig funktioniert, synchronisieren Sie die Zeit mit dem Domänencontroller. Bearbeiten Sie /etc/ntp.conf:

nano -c /etc/ntp.conf

Kommentieren Sie die Standardserver aus und fügen Sie Ihren DC hinzu:

server domaincontroller.exampledomain.local iburst

Starten Sie NTP neu:

/etc/init.d/ntp restart

Samba konfigurieren und Domäne beitreten

Erstellen Sie zunächst eine Sicherung der Samba‑Konfiguration und öffnen Sie die Datei:

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

Ändern/ergänzen Sie die folgenden Optionen (Zeilennummern aus dem Original sind Referenz):

  • interfaces = 192.168.1.1/255.255.255.0 (auf Zeile 53 einfügen)
  • Entfernen Sie Kommentarzeichen bei den empfohlenen Zeilen (z. B. Zeile 59 und 91)
  • Setzen Sie security = ads
  • Ergänzen Sie vor Zeile 217:
winbind trusted domains only = yes
realm = EXAMPLEDOMAIN.LOCAL
winbind cache time = 3600

Starten Sie Samba/Winbind neu und synchronisieren Sie die Zeit:

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

Treten Sie der Domäne bei:

net ads join -U Administrator

Prüfen Sie die Vertrauensstellung und aufgelistete Domänenaccounts:

wbinfo -t
wbinfo -u
wbinfo -g

Erwartete Ausgabe: “checking the trust secret via RPC calls succeeded” für wbinfo -t. wbinfo -u und wbinfo -g sollten Benutzer bzw. Gruppen anzeigen.

Multi‑Group‑Filtering mit DansGuardian und Squid (Kurzüberblick)

Grundidee: Squid agiert als transparentes HTTP‑Proxy; winbind liefert Nutzeridentität; DansGuardian filtert Inhalte und wendet Filterregeln pro AD‑Gruppe an.

Hauptschritte:

  • Konfigurieren Sie Squid für transparentes Proxying und NTLM‑/SPNEGO‑Unterstützung.
  • Konfigurieren Sie winbind, damit sich Squid gegen AD authentifizieren kann.
  • Nutzen Sie die Gruppeninformationen (wbinfo) in Ihrer DansGuardian‑Konfiguration, um Multi‑Group‑Regelsätze zuzuweisen.

Detaillierte Squid/DansGuardian‑Konfiguration hängt stark von Ihrer gewünschten Filtergranularität ab und ist hier nur konzeptionell beschrieben. Für produktiven Einsatz prüfen Sie Zugriffslisten, ACLs und Logging sorgfältig.

Test und Fehlerbehebung — typische Probleme und Lösungen

Wichtige Prüfungen:

  • DNS funktioniert für Domänencontroller?
    • ping domaincontroller.exampledomain.local
    • nslookup/host prüfen
  • Zeit synchronisiert?
    • ntpq -p oder date vergleichen
  • Samba/Winbind Vertrauensstellung OK?
    • wbinfo -t erfolgreich?
  • ClamAV startet und DansGuardian lädt schnell?
  • Squid authentifiziert Domänenbenutzer (NTLM) korrekt?

Fehlerbilder und Gegenmaßnahmen:

  • Kerberos‑Authentifizierungen schlagen fehl: prüfen Sie /etc/krb5.conf, DNS‑Reverse‑Einträge und Uhrzeit.
  • wbinfo zeigt keine Benutzer: prüfen Sie smb.conf, winbind‑service, und dass der Server Mitglied der Domäne ist.
  • DansGuardian startet sehr langsam: prüfen Sie ClamAV‑Version; ggf. Backports verwenden.
  • DNS‑Auflösung bricht zusammen bei PPP/DHCP: resolvconf sollte die korrekten Werte verteilen; prüfen Sie /var/run/dnsmasq/resolv.conf.

Wichtig: Beim Debugging Logs der jeweiligen Dienste konsultieren (/var/log/syslog, /var/log/samba/*, Squid/DansGuardian Logs).

Alternative Ansätze und Erweiterungen

  • LDAP/AD‑Bind für Benutzersynchronisation statt wbinfo: einfacher bei reiner LDAP‑Integration.
  • Einsatz von pfSense oder spezialisierten UTM‑Appliances: bietet fertig integrierte Webfilter und AD‑Anbindung, weniger Linux‑Handarbeit.
  • Einsatz von HTTPS‑Filtering (SSL Bump): erhöht Filterbarkeit, erfordert Zertifikatsmanagement und Datenschutzprüfung.
  • Containerisierte Deployments (z. B. Docker): vereinfachen Rollout, können aber Netzwerk‑Bridging/Reverse‑Proxy‑Konfiguration erfordern.

Rollenbezogene Checklisten

Netzwerkadministrator:

  • Zwei NICs prüfen und IP‑Konfiguration absichern.
  • Firewall‑Regeln für transparentes Proxying (iptables) definieren.
  • DNS und NTP sicher konfigurieren.

Systemadministrator:

  • Pakete aus Backports selektiv pinnen (apt preferences).
  • Samba/winbind korrekt konfigurieren und Domänenbeitritt testen.
  • Dienst‑Logs routinemäßig prüfen und Protokollrotation einrichten.

Security/Compliance:

  • HTTPS‑Intercept prüfen und DSGVO‑Auswirkung bewerten.
  • Logging‑Retention und Zugriff auf Logs regeln.
  • Regelmäßige Updates und Malware‑Signatur‑Updates planen.

Sicherheits‑ und Datenschutzhinweise

  • HTTPS‑Entschlüsselung: Wenn Sie SSL‑Intercept einführen, benötigen Sie eine rechtliche Prüfung (einwilligungspflichtig, interne Richtlinien). Dokumentieren Sie klar, welche Daten gespeichert werden.
  • Benutzeridentität: NTLM/Winbind übermittelt AD‑Namen — behandeln Sie diese Daten gemäß internen Datenschutzrichtlinien.
  • Minimieren Sie gespeicherte personenbezogene Daten in Logs; anonymisieren oder begrenzen Sie Retention wenn möglich.

Akzeptanzkriterien (Kriterien für erfolgreiche Umsetzung)

  • Dienstekette funktioniert: dnsmasq → NTP → Kerberos → Samba → winbind → Squid → DansGuardian.
  • Domänenbenutzer können sich am Proxy authentifizieren.
  • Gruppenbasierte Filter greifen und unterscheiden mindestens zwei Filterprofile.
  • ClamAV wird aus Backports geladen und verhindert lange DansGuardian‑Startzeiten.

Kurze Troubleshooting‑SOP (Playbook, Verkürzte Schritte)

  1. Prüfen Sie Netzwerk und DNS: ping domaincontroller, nslookup.
  2. Prüfen Sie Zeit: date und ntp Status.
  3. Prüfen Sie Samba/Winbind: /etc/samba/smb.conf, /etc/krb5.conf, wbinfo -t.
  4. Starten Sie Dienste neu: /etc/init.d/samba restart, /etc/init.d/winbind restart, /etc/init.d/dnsmasq restart.
  5. Logs betrachten: tail -f /var/log/syslog, DansGuardian- und Squid‑Logs.

Wann dieser Ansatz nicht passt (Gegenbeispiele)

  • Sehr kleine Netzwerke ohne Domäne: Overkill; ein simpler Router mit Content‑Filter reicht.
  • Unternehmen mit strengen Compliance‑Anforderungen: Möglicherweise sind kommerzielle, zertifizierte Filterlösungen vorzuziehen.
  • Wenn Sie keine administrativen Rechte für AD‑Integration haben: NTLM/Winbind kann nicht genutzt werden.

Migrationshinweise (auf neuere Debian‑Versionen)

  • Etch ist veraltet. Bei Migration prüfen Sie Paketnamen, Konfigurationspfade und verfügbare Versionen von ClamAV, Squid und DansGuardian.
  • Testen Sie Migration in einer Staging‑Umgebung, vor allem Kerberos/DNS/Winbind‑Funktionalität.

Kurze Zusammenfassung und nächste Schritte

  • Sie haben nun ein Rezept, um auf Debian Etch ein Gateway mit DansGuardian und Squid (NTLM) aufzubauen.
  • Testen Sie jeden Schritt und dokumentieren Sie Änderungen.
  • Überlegen Sie, ob Sie langfristig auf eine aktuelle Debian‑Version oder eine kommerzielle Lösung migrieren wollen.

Wichtig: Sichern Sie Konfigurationsdateien vor jeder Änderung und führen Sie Änderungen idealerweise in einer Testumgebung durch.

Zusammenfassung der wichtigsten Befehle (Cheat Sheet):

apt-get install ssh openssh-server
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
dpkg-reconfigure krb5-config
/etc/init.d/dnsmasq restart
/etc/init.d/ntp restart
net ads join -U Administrator
wbinfo -t
wbinfo -u
wbinfo -g

Weiterführende Schritte: Feintuning von Squid ACLs, DansGuardian‑Regelsätzen, Logging‑Retention und Monitoring (z. B. Nagios/Prometheus) einplanen.

Autor
Redaktion

Ähnliche Materialien

Podman auf Debian 11 installieren und nutzen
DevOps

Podman auf Debian 11 installieren und nutzen

Apt-Pinning: Kurze Einführung für Debian
Systemadministration

Apt-Pinning: Kurze Einführung für Debian

FSR 4 in jedem Spiel mit OptiScaler
Grafikkarten

FSR 4 in jedem Spiel mit OptiScaler

DansGuardian + Squid (NTLM) auf Debian Etch installieren
Netzwerk

DansGuardian + Squid (NTLM) auf Debian Etch installieren

App-Installationsfehler auf SD-Karte (Error -18) beheben
Android

App-Installationsfehler auf SD-Karte (Error -18) beheben

Netzwerkordner mit KNetAttach in KDE
Linux Netzwerk

Netzwerkordner mit KNetAttach in KDE