DNS Filtering – filtrowanie DNS jako warstwa bezpieczeństwa
DNS Filtering to mechanizm bezpieczeństwa polegający na kontrolowaniu zapytań DNS i blokowaniu domen uznanych za złośliwe, niebezpieczne albo niepożądane.
To jedna z prostszych, a jednocześnie bardzo skutecznych warstw ochrony, ponieważ praktycznie każda komunikacja z usługą internetową zaczyna się od rozwiązania nazwy domenowej.
Jak działa DNS Filtering?
Normalnie komputer wykonuje:
Komputer
|
| DNS: example.com?
v
DNS Resolver
|
v
IP address
Przy filtrowaniu DNS pojawia się dodatkowy etap:
Komputer
|
| DNS query
v
DNS Filtering
|
+---- BLOCK
|
+---- ALLOW
|
v
DNS Resolver
Jeżeli domena znajduje się na liście zagrożeń, odpowiedź może zostać zablokowana.
Przykład
Załóżmy, że użytkownik kliknął link prowadzący do:
malicious-example.com
Komputer próbuje wykonać:
DNS query
|
v
malicious-example.com
System DNS Filtering sprawdza domenę:
Domain Reputation
|
v
MALICIOUS
|
v
BLOCK
Połączenie do serwera może dzięki temu nie zostać nawet rozpoczęte.
Dlaczego DNS jest dobrym miejscem do ochrony?
DNS znajduje się bardzo wcześnie w procesie komunikacji.
Schemat:
User
|
v
Domain
|
v
DNS
|
v
IP
|
v
Connection
Jeżeli zablokujemy domenę na poziomie DNS:
Domain
|
v
DNS Filter
|
X
BLOCK
nie trzeba czekać na analizę całego ruchu aplikacyjnego.
Co można blokować?
DNS Filtering może wykorzystywać kategorie.
Przykładowo:
Malware
Phishing
C2
Botnets
Spam
Cryptomining
Tracking
Advertising
Adult
Gambling
W środowisku firmowym można więc stworzyć politykę:
Corporate DNS
ALLOW
Business
Cloud
Security
Development
BLOCK
Malware
Phishing
C2
Cryptomining
DNS Filtering a malware
To jeden z najważniejszych przypadków użycia.
Zainfekowany komputer może próbować znaleźć serwer C2:
Malware
|
| DNS query
v
evil-c2.example
|
v
DNS Filter
|
X
BLOCK
Malware może wtedy nie być w stanie rozwiązać domeny C2.
DNS Filtering a phishing
Podobnie można blokować znane domeny phishingowe:
User
|
v
Phishing Link
|
v
DNS
|
v
Threat Intelligence
|
X
BLOCK
Użytkownik może otrzymać stronę blokującą zamiast strony atakującego.
DNS Sinkhole
Jedną z ciekawszych technik jest DNS Sinkhole.
Zamiast zwracać prawdziwy adres:
malicious.example
|
v
203.0.113.50
DNS zwraca kontrolowany adres:
malicious.example
|
v
10.10.10.10
Schemat:
Compromised Host
|
| DNS
v
DNS Sinkhole
|
v
Internal Server
Dzięki temu administrator może również wykrywać zainfekowane urządzenia.
Sinkhole jako mechanizm detekcji
To bardzo interesujący przypadek.
Jeżeli komputer próbuje rozwiązać domenę należącą do botnetu:
PC-25
|
v
malware-c2.example
|
v
DNS Sinkhole
można wygenerować alert:
ALERT:
PC-25 contacted known C2 domain
DNS staje się więc nie tylko filtrem, ale również źródłem informacji dla SOC.
DNS Filtering + SIEM
Dane DNS można przesyłać do SIEM:
Clients
|
v
DNS Resolver
|
v
DNS Filtering
|
v
SIEM
Przykładowe dane:
Timestamp
Client IP
Domain
Category
Action
Threat Intelligence
Dzięki temu analityk może zobaczyć:
192.168.10.25
|
+--> suspicious-domain.com
|
+--> malware-domain.net
|
+--> c2-example.org
DNS Filtering + Zeek
To dobrze łączy się z poprzednim tematem.
Zeek może monitorować DNS:
Network Traffic
|
v
Zeek
|
v
dns.log
DNS Filtering może natomiast blokować domeny.
Razem:
DNS
|
+-------+-------+
| |
DNS Filter Zeek
| |
BLOCK LOG
| |
+-------+-------+
|
SIEM
DNS Filtering + Suricata
Jeszcze ciekawsza jest kombinacja:
DNS Filtering
|
v
Domain Blocking
|
v
Suricata
|
v
Network Detection
DNS zatrzymuje część zagrożeń na początku, a IPS analizuje ruch, który przejdzie dalej.
DNS Filtering + Firewall
Przykładowa architektura:
Client
|
v
Firewall
|
v
DNS Filtering
|
v
Internet
Firewall może dodatkowo wymusić korzystanie z firmowego resolvera.
Przykładowo:
LAN
|
+--> DNS Server → ALLOW
|
+--> External DNS → BLOCK
To ważne, ponieważ użytkownik może próbować ominąć filtr:
PC
|
+--> Corporate DNS
|
+--> 8.8.8.8
|
+--> 1.1.1.1
Jeżeli firewall pozwala na dowolny DNS, filtrowanie może być łatwo obchodzone.
DNS over HTTPS
Pojawia się tutaj kolejny problem: DoH (DNS over HTTPS).
Klasyczny DNS:
Client
|
| DNS
v
Resolver
DoH:
Client
|
| HTTPS
v
DoH Server
DNS jest wtedy transportowany przez HTTPS.
Jeżeli organizacja chce wymuszać własne DNS Filtering, musi odpowiednio kontrolować DoH.
DNS over TLS
Podobnie działa DoT (DNS over TLS):
Client
|
| TLS
v
DNS Resolver
Z punktu widzenia klasycznego filtrowania DNS pojawia się dodatkowa warstwa szyfrowania.
Jak ograniczyć obchodzenie DNS Filtering?
Jedna z podstawowych strategii:
LAN
|
v
Firewall
|
+---- UDP/53 → Corporate DNS
+---- TCP/53 → Corporate DNS
+---- DoH/DoT → Policy
|
v
Internet
Nie należy jednak opierać całej polityki wyłącznie na blokowaniu pojedynczych adresów publicznych resolverów, ponieważ mechanizmy DoH mogą zmieniać się i korzystać z różnych infrastruktur.
DNS Filtering a HTTPS
DNS Filtering nie odszyfrowuje HTTPS.
Przykład:
DNS:
example.com → 93.184.216.34
Filtr wie, że użytkownik chce połączyć się z określoną domeną.
Ale po rozpoczęciu HTTPS:
Client
|
| encrypted HTTPS
v
Server
zawartość pozostaje szyfrowana.
Dlatego DNS Filtering świetnie uzupełnia TLS Inspection, ale go nie zastępuje.
DNS Filtering + TLS Inspection
Bardzo dobra kombinacja:
INTERNET
|
v
DNS Filtering
|
v
TLS Inspection
|
+--------+--------+
| |
IPS DLP
| |
+--------+--------+
|
v
Network
DNS może zablokować domenę, a TLS Inspection umożliwić głębszą analizę ruchu, który został dopuszczony.

DNS Filtering a malware wykorzystujący IP
Tu pojawia się ograniczenie.
Jeżeli malware nie używa domeny:
Malware
|
| HTTPS
v
198.51.100.20
DNS Filtering może nie mieć czego zablokować.
Dlatego potrzebne są również:
- firewall,
- IP reputation,
- IDS/IPS,
- EDR,
- threat intelligence.
DNS Filtering nie jest pełnym IDS
DNS Filtering może powiedzieć:
malicious-domain.com → BLOCK
Ale nie analizuje całej komunikacji tak jak IDS/NSM.
Dlatego:
DNS Filtering
|
Domain-level protection
natomiast:
Zeek
|
Network-level visibility
i:
Suricata
|
Network detection / prevention
DNS Filtering dla firmy
Przykładowa architektura:
INTERNET
|
v
Firewall
|
+---------+---------+
| |
DNS Filter Web Traffic
| |
| TLS Inspection
| |
+---------+---------+
|
Suricata
|
LAN
|
+--------+--------+
| | |
PC Server WiFi
Do tego:
SIEM
^
|
+--------+--------+
| | |
DNS Zeek Suricata
DNS Filtering w domu
Mechanizm można wykorzystać również w małej sieci.
Przykład:
Internet
|
Router
|
DNS Filtering
|
LAN
+---+---+---+
PC TV IoT
Można blokować:
- malware,
- phishing,
- reklamy,
- trackery,
- wybrane kategorie stron.
Jest to szczególnie interesujące w sieciach z dużą liczbą urządzeń IoT.
DNS Filtering i IoT
Urządzenia IoT często mają ograniczone możliwości zabezpieczenia.
Przykład:
IoT Camera
|
| DNS
v
DNS Filter
|
+---- Known C2 → BLOCK
To może być dodatkową warstwą ochrony urządzenia, którego firmware nie pozwala na instalację EDR.
Najczęstsze błędy
❌ Pozwalanie klientom na dowolny DNS
Użytkownik może ominąć filtr.
❌ Brak kontroli DoH/DoT
Szyfrowane mechanizmy DNS mogą ominąć klasyczny resolver.
❌ Poleganie wyłącznie na DNS
Atakujący może korzystać bezpośrednio z IP.
❌ Brak aktualizacji threat intelligence
Lista domen szybko się zmienia.
❌ Brak logowania
Bez logów trudno prowadzić threat hunting.
Najlepsze praktyki
1. Centralny resolver
Clients
|
v
Corporate DNS
2. Blokowanie złośliwych kategorii
Malware
Phishing
C2
Botnet
3. Kontrola DNS wychodzącego
LAN → Corporate DNS → ALLOW
LAN → External DNS → BLOCK / CONTROL
4. Monitoring
DNS Logs → SIEM
5. Integracja z threat intelligence
Aktualne informacje o:
- malware,
- phishingu,
- C2,
- botnetach.
DNS Filtering w modelu Zero Trust
DNS może być jednym z sygnałów bezpieczeństwa:
User
|
Device
|
DNS Request
|
Risk Evaluation
|
Policy
|
Application
Przykładowo urządzenie, które regularnie pyta o domeny C2, może zostać oznaczone jako potencjalnie zagrożone.
DNS Filtering – najważniejsze ograniczenia
Trzeba pamiętać:
DNS Filtering nie zatrzyma wszystkiego.
Nie pomoże w pełni, gdy:
Malware
|
+--> Direct IP
|
+--> Hardcoded IP
|
+--> Compromised legitimate domain
|
+--> Encrypted DNS bypass
Dlatego powinien być elementem Defense in Depth.
Kompletny model
Jeżeli połączymy wszystkie omawiane wcześniej technologie:
INTERNET
|
Firewall
|
+-------------+-------------+
| |
GeoIP / Reputation DNS Filtering
| |
+-------------+-------------+
|
TLS Inspection
|
+-------------+-------------+
| | |
Suricata Zeek DLP
| | |
+-------------+-------------+
|
LAN
|
EDR
|
SIEM
|
SOC
Każda warstwa rozwiązuje trochę inny problem.
Podsumowanie
DNS Filtering jest prostą, ale bardzo wartościową warstwą bezpieczeństwa.
Jego największe zalety to:
- blokowanie domen malware,
- ochrona przed phishingiem,
- ograniczanie C2,
- możliwość stosowania polityk kategorii,
- szybka reakcja,
- niewielki koszt infrastrukturalny,
- możliwość centralnego logowania,
- dobra integracja z SIEM.
Najważniejsze jest jednak to:
DNS Filtering nie powinien być traktowany jako samodzielna ochrona.
Najlepszy efekt daje połączenie:
DNS Filtering
+
Firewall
+
IDS/IPS
+
Zeek
+
TLS Inspection
+
EDR
+
SIEM
Wtedy DNS staje się pierwszą warstwą kontroli, a pozostałe mechanizmy mogą wykrywać i zatrzymywać zagrożenia, które przejdą przez tę pierwszą barierę.






