Każdy VLAN.
Resolver jeden.

Warden to filtr DNS, który stawiasz u siebie — phishing, malware i trackery padają, zanim wstanie jakiekolwiek połączenie. On-prem albo prywatna chmura. Bez konta w chmurze, bez opłat za stanowisko.

Wdrożenie

Jeden statyczny binary na VM, bare metalu albo hoście kontenerów, który i tak już stoi — Linux amd64 / arm64. Bez appliance'u do kupienia, bez agentów na stacjach.

Suwerenność

On-prem albo prywatna chmura. Logi DNS to dane osobowe pod RODO — Warden nigdy ich nie wypuszcza z sieci. Bez telemetrii, bez konta, nic nie dzwoni do domu.

Konfig jako kod

Cała konfiguracja to jeden deklaratywny plik TOML: wersja w Git, recenzja w pull requestach, odtworzenie jednym poleceniem.

TCO

AGPLv3 — bez licencji za stanowisko, bez subskrypcji, bez lock-in. Zespół bezpieczeństwa może przeczytać każdą linijkę.

Filtr zagrożeń

Pada, zanim wstanie
sesja.

Każde urządzenie musi odpytać DNS — filtrujesz tam i trackery, zamaskowane hopy CNAME i tunele DNS giną przed pierwszym pakietem. Bez agenta na stacji. Obejmuje też to, czego nie zarządzasz: laptopy kontraktorów, IoT, drukarki.

Pościg za CNAME

Idź łańcuchem aliasów.

Trackery podszyte pod first-party domeny: hop za hopem, do 16 — i tak zablokowane.

źródło src/filter/cname.rs

Listy z feedu — w klatce

Feed sam się nie odblokuje.

Listy, które subskrybujesz, nie przemycią allow, $important ani regex. Te moce mają tylko reguły napisane przez Twój zespół.

źródło src/lists/parser.rs

Tunele dostają REFUSED

Exfil nie udaje DNS.

Seria unikalnych nazw spoza cache pod jedną domeną — typowy kształt DNS exfil. Warden tym zapytaniom odmawia. Włączone z pudełka.

źródło src/security/tunneling.rs

Tylko allow-list, tam gdzie trzeba

IoT i OT, zamknięte.

Włącz block_all na profilu i przechodzi tylko to, co admin wpisał na allow — drukarki, kamery, automatyka budynku zostają na nazwach, które wpisałeś.

źródło src/config/schema/profile.rs
Kontrola per dział

Każdy dział.
Własna polityka.

Finanse, inżynieria, Wi-Fi gości. Każda grupa swoje reguły — na urządzenie, grupę albo podsieć.

Profile per grupa

Bloki, wyjątki, harmonogramy.

Grupa urządzeń dzieli jeden profil — listy, wyjątki, block-all. Harmonogram dopinasz do grupy, gdy okno ma znaczenie.

źródło src/config/schema/group.rs

Nieznane urządzenia — REFUSED

DNS na opt-in.

Zostaw profil domyślny pusty i wszystko, czego nie zmapowałeś, dostaje REFUSED. Telefony gości i nowe IoT nie mają DNS, dopóki nie powiesz.

źródło src/dns/handler.rs

Warunkowy forwarding

Domena firmowa zostaje w środku.

Strefę wysyłasz na inny resolver — corp.example.com na DC, reszta przez Warden. Najdłuższy suffix wygrywa.

źródło src/upstream/forwarding.rs
Operacje i audyt

Karmimy monitoring.
Nie zastępujemy.

Filtruj bez zapisu lookupów albo trzymaj pełny log. Zmiany konfiguracji piszą ślad audytu. Metryki, jeśli je włączysz — bez nowej bazy.

Filtruj bez zapisu

Prywatność zostaje włączona.

Filtrowanie działa, gdy wyłączysz query log — albo zostawisz blocked-only / sampled. Lookup nie musi być audytem ludzi.

źródło src/config/settings.rs

Dziennik audytu append-only

Kto ruszył konfigurację.

Jedna linia JSON na reload, boot, shutdown i mutację — uid, pliki, SHA-256 przed i po. warden audit tail to czyta.

źródło src/config/audit.rs

Prometheus /metrics

Opt-in. Domyślnie off.

OpenMetrics na /metrics, gdy API stoi i metryki są włączone. Bez sidecara eksportera. Domyślnie off.

źródło src/api/routes.rs

Response rate limiting

Amplifikacja, przyhamowana.

Budżet per klient wewnątrz allow_from; per prefiks poza nim. Sfałszowane źródła odpadają albo schodzą na TCP. Włączone z pudełka.

źródło src/security/rrl.rs