Installation und Konfiguration von DansGuardian mit Multi-Group-Filtering und Squid mit NTLM-Authentifizierung auf Debian Etch
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-serverSobald 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-freeKonfigurieren 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: 999Hinweis: 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 ntpdateWä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-configZusä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.localdnsmasq 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 restartNTP 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.confKommentieren Sie die Standardserver aus und fügen Sie Ihren DC hinzu:
server domaincontroller.exampledomain.local iburstStarten Sie NTP neu:
/etc/init.d/ntp restartSamba 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 = 3600Starten Sie Samba/Winbind neu und synchronisieren Sie die Zeit:
net time set -S domaincontroller
/etc/init.d/samba restart
/etc/init.d/winbind restartTreten Sie der Domäne bei:
net ads join -U AdministratorPrüfen Sie die Vertrauensstellung und aufgelistete Domänenaccounts:
wbinfo -t
wbinfo -u
wbinfo -gErwartete 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)
- Prüfen Sie Netzwerk und DNS: ping domaincontroller, nslookup.
- Prüfen Sie Zeit: date und ntp Status.
- Prüfen Sie Samba/Winbind: /etc/samba/smb.conf, /etc/krb5.conf, wbinfo -t.
- Starten Sie Dienste neu: /etc/init.d/samba restart, /etc/init.d/winbind restart, /etc/init.d/dnsmasq restart.
- 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 -gWeiterführende Schritte: Feintuning von Squid ACLs, DansGuardian‑Regelsätzen, Logging‑Retention und Monitoring (z. B. Nagios/Prometheus) einplanen.
Ähnliche Materialien
Podman auf Debian 11 installieren und nutzen
Apt-Pinning: Kurze Einführung für Debian
FSR 4 in jedem Spiel mit OptiScaler
DansGuardian + Squid (NTLM) auf Debian Etch installieren
App-Installationsfehler auf SD-Karte (Error -18) beheben