Ausgehende und DNS-Bedrohungen
Wie InfraFence sieht, was den Server verlässt: Verbindungen zu gelisteten Adressen, DNS-Anfragen samt auslösendem Programm, DNS-Tunnel, DGA-Abfragen und verdächtige Resolver.
Zuletzt aktualisiert:
Die meisten Tools beobachten, was hereinkommt. Ein kompromittierter Server verrät sich durch das, was hinausgeht: eine Verbindung zu einem Botnetz-Controller, Daten, die über DNS abfließen, Malware auf der Suche nach ihrer nächsten Domain.
Bedrohungslisten (Threat Intelligence)
Jeder Server lädt einmal täglich öffentliche Listen herunter, direkt von ihren Herausgebern:
- die Spamhaus-DROP-Listen (IPv4 und IPv6): Netze, die gekapert wurden oder von Kriminellen betrieben werden;
- die Emerging-Threats-Liste kompromittierter Hosts.
Über das Dashboard lassen sich weitere Einträge hinzufügen. Alle dienen dazu, schädliche Ziele zu erkennen; sie zu blockieren ist eine eigene Entscheidung (siehe unten).
Ausgehende Verbindungen
Alle 60 Sekunden prüft der Agent die bestehenden IPv4-TCP-Verbindungen des Servers zu öffentlichen Adressen. Eine Verbindung zu einer gelisteten Adresse wird als kritisches Ereignis egress_threat_match gemeldet, mit Adresse, Ports und der Liste, auf der sie steht. Dieselbe Adresse wird frühestens nach 30 Minuten erneut gemeldet.
Diese Ereignisse sagen, mit welcher Adresse der Server gesprochen hat, nicht welches Programm: Die Zuordnung zum Prozess gibt es nur für DNS-Anfragen.
DNS-Prüfung
Mit DNS-Verkehr prüfen (standardmäßig an) liest der Agent die eigenen DNS-Anfragen und -Antworten des Servers auf Paketebene: nur UDP-Port 53, nur lesend, mit einem Filter, der im Kernel läuft, bis zu 3.000 Pakete pro Sekunde. Anfragen, die ein DNS-Server auf dem Host für andere Rechner beantwortet, werden ignoriert.
Jedes DNS-Ereignis nennt das Programm, das gefragt hat: die Anwendung, die den lokalen Resolver (etwa systemd-resolved) nach diesem Namen gefragt hat, oder den Eigentümer des Sockets, der die Anfrage gesendet hat.
| Ereignis | Schweregrad | Wann |
|---|---|---|
dns_threat_resolver |
kritisch | Eine Anfrage geht an einen DNS-Server auf einer Bedrohungsliste. |
dns_threat_answer |
Warnung | Eine Domain wird zu einer gelisteten Adresse aufgelöst. |
dns_tunneling |
Warnung | 60 oder mehr verschiedene lange Subdomains einer Domain innerhalb von 5 Minuten, oder für Tunnel typische TXT- und NULL-Anfragemuster. |
dns_dga |
Warnung | 20 oder mehr zufällig wirkende, nicht existierende Domains innerhalb von 5 Minuten, das Kennzeichen von Malware, die Domains generiert (DGA). |
dns_unlisted_resolver |
Info | Ein Programm nutzt einen anderen DNS-Server als die konfigurierten. |
Die konfigurierten Resolver stammen aus /etc/resolv.conf, systemd-resolved und NetworkManager. Derselbe Befund wird höchstens einmal alle 30 Minuten gemeldet.
Was nicht gemeldet wird
- Der eigene DNS-Dienst des Servers (systemd-resolved, dnsmasq, unbound, BIND, PowerDNS Recursor, CoreDNS, Pi-hole, AdGuard Home, der Resolver von Docker und Ähnliche), wenn er aus einem Systempfad läuft.
- Hash-Abfragen von Virenscannern sowie Anti-Spam- und Reputationsabfragen (Sophos, McAfee, Trend Micro, ESET, Kaspersky, Spamhaus, SURBL, URIBL, SpamCop und andere) und große CDNs und Clouds, die wie Tunnel aussehen, aber keine sind.
Blockieren
- Eingehend: Verkehr von Bedrohungslisten blockieren (standardmäßig aus) verwirft Verkehr aus den gelisteten Netzen über das ipset
infrafence-threat. Es brauchtipset, greift nie im Überwachungsmodus und überspringt Einträge, die größer als ein /8 sind oder deine Whitelist, private Adressen oder das Dashboard abdecken. - Ausgehend: Ein Ziel kann über das Dashboard oder von AutoMode blockiert werden: siehe Ports und ausgehende Sperren.
