CNAME-Jagd
Der Alias-Kette folgen.
Tracker, getarnt als First-Party-Domains, Hop für Hop — bis zu 16 — und trotzdem blockiert.
Quellesrc/filter/cname.rs
Warden ist der self-hosted DNS-Filter fürs Unternehmen — Phishing, Malware und Tracker fallen, bevor eine Verbindung überhaupt zustande kommt. On-prem oder in deiner privaten Cloud. Kein Cloud-Konto, keine Gebühren pro Arbeitsplatz.
Eine statische Binärdatei auf einer VM, Bare Metal oder einem Container-Host, den du sowieso schon betreibst — Linux amd64 / arm64. Keine Appliance zum Kaufen, keine Agenten auf den Endgeräten.
On-prem oder private Cloud. DNS-Logs sind personenbezogene Daten nach der DSGVO — bei Warden verlassen sie dein Netz nie. Keine Telemetrie, kein Konto, nichts funkt nach Hause.
Die ganze Konfiguration ist eine deklarative TOML-Datei: in Git versionieren, in Pull Requests prüfen, mit einem Befehl wiederherstellen.
AGPLv3 — keine Lizenz pro Arbeitsplatz, kein Abo, kein lock-in. Dein Sicherheitsteam kann jede Zeile prüfen.
Jedes Gerät muss DNS auflösen — filterst du dort, sterben Tracker, getarnte CNAME-Hops und DNS-Tunnel vor dem ersten Paket. Kein Agent auf dem Endgerät. Es gilt auch für Geräte, die du nicht verwaltest: Laptops von Externen, IoT, Drucker.
Der Alias-Kette folgen.
Tracker, getarnt als First-Party-Domains, Hop für Hop — bis zu 16 — und trotzdem blockiert.
Quellesrc/filter/cname.rs
Ein Feed entsperrt sich nicht selbst.
Listen, die du abonnierst, schmuggeln kein allow, kein $important und kein regex. Diese Kräfte haben nur Regeln, die dein Team schreibt.
Quellesrc/lists/parser.rs
Exfil gibt sich nicht als DNS aus.
Ein Schwall einzigartiger Namen ohne Cache-Treffer unter einer Domain — die übliche Form von DNS-Exfil. Warden verweigert diese Anfragen. Standardmäßig an.
Quellesrc/security/tunneling.rs
IoT und OT, abgeschlossen.
Setze block_all auf einem Profil und durch kommt nur, was der Admin erlaubt — Drucker, Kameras, Gebäudetechnik bleiben auf den Namen, die du eingetragen hast.
Quellesrc/config/schema/profile.rs
Finanzen, Entwicklung, das Gäste-WLAN. Jede Gruppe bekommt eigene Regeln — am Gerät, an der Gruppe oder am Subnetz.
Blöcke, Ausnahmen, Zeitpläne.
Eine Gerätegruppe teilt sich ein Profil — Listen, Ausnahmen, block-all. Einen Zeitplan hängst du an die Gruppe, wenn das Zeitfenster zählt.
Quellesrc/config/schema/group.rs
Ein CIDR ist hier ein VLAN.
Ein CIDR auf ein Profil legen. Personal, Gäste, IoT, OT — jeder Bereich eigene Regeln. Längster Prefix gewinnt.
Quellesrc/config/schema/subnet.rs
DNS auf Opt-in.
Lass das Standardprofil leer und alles, was du nicht zugeordnet hast, bekommt REFUSED. Gäste-Handys und neues IoT haben kein DNS, bis du es sagst.
Quellesrc/dns/handler.rs
Die Firmendomain bleibt intern.
Eine Zone an einen anderen Resolver schicken — corp.example.com an die DCs, der Rest durch Warden. Längstes Suffix gewinnt.
Quellesrc/upstream/forwarding.rs
Filtern ohne Abfragen aufzuzeichnen, oder das volle Log behalten. Änderungen an der Konfig schreiben einen Audit-Trail. Metriken, wenn du sie einschaltest — keine neue Datenbank.
Datenschutz bleibt an.
Das Filtern bleibt aktiv, wenn du das Anfragenlog ausschaltest — oder bei blocked-only / sampled bleibst. Abfragen müssen kein Audit von Personen sein.
Quellesrc/config/settings.rs
Wer die Konfig geändert hat.
Eine JSON-Zeile pro Reload, Boot, Shutdown und Mutation — uid, Dateien, SHA-256 vorher/nachher. warden audit tail liest sie.
Quellesrc/config/audit.rs
Opt-in. Standardmäßig aus.
OpenMetrics auf /metrics, wenn die API läuft und Metriken an sind. Kein Exporter-Sidecar. Standardmäßig aus.
Quellesrc/api/routes.rs
Amplification, gedrosselt.
Budget pro Client innerhalb von allow_from; pro Prefix außerhalb. Gefälschte Quellen werden verworfen oder auf TCP umgeleitet. Standardmäßig an.
Quellesrc/security/rrl.rs