Wie konfiguriert man DoT auf der OPNsense-Firewall?
OPNsense ist eine auf FreeBSD basierende, Open-Source-Routing- und Firewall-Anwendung, die zusätzlich als DNS-Resolver für all Ihre mobilen Geräte und Desktops fungiert. Allerdings werden alle DNS-Abfragen im Klartext weitergeleitet. Ihr ISP oder ein Hacker kann Übertragungen über UDP und TCP-Protokoll 53 im Klartext abfangen, um die DNS-Abfragen und -Antworten der Website zu kompromittieren. Aus diesem Grund müssen wir unsere DNS-Abfragen aus Sicherheitsgründen verschlüsseln. DNS over TLS (DoT) ist ein Sicherheitsprotokoll, das Transport Layer Security (TLS) verwendet, um DNS -Verkehr zu verschlüsseln und eine der häufigsten DNS-Sicherheits lösungen. Das Hauptziel ist es, die eigene Sicherheit und Privatsphäre zu verbessern. Einige Vorteile von DNS über TLS sind wie folgt:
- Verhindern Sie DNS-Manipulation.
- Man-in-the-Middle-Angriffe eliminieren.
- Spionage verhindern.
Abbildung 1. DNS über TLS
Dieses Tutorial zeigt Ihnen, wie Sie den OPNsense DNS-Resolver so konfigurieren, dass alle DNS-Abfragen verschlüsselt werden, um Überwachung zu verhindern und Ihre Online-Privatsphäre und -Sicherheit zu verbessern. Sie können DoT auf der OPNsense-Firewall ganz einfach in drei Hauptschritten konfigurieren:
- Aktivierung von DoT auf OPNsense
- Konfiguration des DNS- und DHCP-Servers
- Überprüfung der DoT-Konfiguration
Viele Sicherheitsexperten empfehlen die Verwendung eines eigenen rekursiven DNS-Resolvers, wie zum Beispiel die Standardkonfiguration von Unbound in OPNsense, um die Privatsphäre und Sicherheit zu verbessern. Es nutzt die dezentrale Struktur des DNS.
1. Aktivierung von DoT auf OPNsense
Die OPNSense-Firewall verwendet Unbound DNS, entwickelt von NLnet Labs, als ihren Standard-DNS-Anbieter, der vorinstalliert und standardmäßig aktiviert ist.
Unbound DNS ist ein umfassender DNS-Resolver, der in der Lage ist, direkte Kommunikation mit DNS-Root-Servern im Internet herzustellen. Unbound DNS bietet validierende, rekursive und zwischenspeichernde DNS-Funktionen, die den standardmäßigen DNS-Weiterleitern in normalen Routern überlegen sind.
Um DoT auf der OPNsense Firewall zu konfigurieren und zu aktivieren, können Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu Dienste → Unbound DNS → DNS over TLS in Ihrer OPNsense-Weboberfläche.
Abbildung 2. Unbound DNS: DNS über TLS-Einstellungen
-
Klicken Sie auf die Add-Schaltfläche mit dem
+
-Symbol in der rechten unteren Ecke des Fensters. -
Stellen Sie sicher, dass die Option Enabled ausgewählt ist.
-
Sie können das Domain-Feld leer lassen. Standardmäßig wird das Leerlassen dieses Feldes alle Abfragen an den vorgesehenen Server weiterleiten. Das Eingeben einer Domain in dieses Feld führt dazu, dass Anfragen für diese bestimmte Domain an den ausgewählten Server weitergeleitet werden.
-
Geben Sie die IP address des DNS-Servers ein, um alle Anfragen weiterzuleiten, wie z.B.
8.8.8.8
. -
Setzen Sie den Server Port auf
853
für DoT. -
Geben Sie den allgemeinen Namen des DNS-Servers (z.B. dns.google.com) in das Feld Verify CN ein, um dessen TLS-Zertifikat zu überprüfen. DNS-over-TLS ist anfällig für Man-in-the-Middle-Angriffe, es sei denn, die Authentizität der Zertifikate kann bestätigt werden. Sie können das Feld leer lassen, um selbstsignierte Zertifikate zu akzeptieren, die betrügerisch sein könnten.
Abbildung 3. Hinzufügen eines DNS-over-TLS-Servers
-
Klicken Sie auf Save.
-
Sie können einen IPv6-DNS-Server als sekundären DNS-Resolver hinzufügen.
-
Klicken Sie auf Apply, um die Einstellungen zu aktivieren.
Abbildung 4. Liste der DNS-over-TLS-Server auf OPNsense
2. Konfiguration des DNS- und DHCP-Servers
Um alle Clients in Ihrem Netzwerk dazu zu zwingen, die oben definierten DoT-Server zu verwenden, müssen Sie Ihre DNS- und DHCP-Server richtig konfigurieren. Sie können DNS- und DHCP-Dienste auf OPNsense konfigurieren, indem Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu System → Settings → General im linken Menü.
-
Stellen Sie sicher, dass alle Felder für DNS Servers leer sind. Dies geschieht, um sicherzustellen, dass der DNS-Verkehr zurück zum Router umgeleitet wird.
-
Deaktivieren Sie
Allow DNS server list to be overridden by DHCP/PPP on WAN
für DNS server options. Wenn diese Einstellung aktiviert ist, werden die von einem DHCP/PPP-Server im Wide Area Network (WAN) bereitgestellten DNS-Server für ihre vorgesehenen Funktionen, wie z.B. die Bereitstellung von DNS-Diensten, verwendet.Abbildung 5. DNS-Servereinstellungen auf OPNsense
-
Klicken Sie auf Save.
-
Navigieren Sie zu Services → ISC DHCPv4 → LAN in Ihrer OPNsense-Weboberfläche.
-
Stellen Sie sicher, dass die Felder für DNS Servers leer sind. Wir müssen die standardmäßigen DNS-Server des Systems verwenden.
-
Klicken Sie auf Save und dann auf die Schaltfläche zum Aktualisieren in der oberen rechten Ecke, wenn die Einstellung geändert wurde.
Abbildung 6. DHCP-Servereinstellungen auf OPNsense
tippUm eine sichere und verifizierte Umgebung zu gewährleisten, ist es ratsam, eine Firewall-Regel zu verwenden, um jeglichen ausgehenden DNS-Verkehr auf Port 53 zu verbieten, wenn DNS über TLS verwendet wird. Wenn Clients sich entscheiden, andere Nameserver direkt abzufragen, kann eine NAT-Weiterleitungsregel verwendet werden, um diese Anfragen an 127.0.0.1:53 zu senden, was der lokale Unbound-Dienst ist. Dies wird sicherstellen, dass diese Anfragen über TLS gesendet werden.
Was sind die öffentlichen DNS-Resolver?
You may use the following Public DNS resolvers for your DoT configuration on OPNsense firewall.
Hosted by | Server IP | Server Port | Verify CN |
---|---|---|---|
8.8.8.8 | 853 | dns.google | |
8.8.4.4 | 853 | dns.google | |
2001:4860:4860::8888 | 853 | dns.google | |
2001:4860:4860::8844 | 853 | dns.google | |
Cloudflare | 1.1.1.1 | 853 | cloudflare-dns.com |
Cloudflare | 1.0.0.1 | 853 | cloudflare-dns.com |
Cloudflare | 2606:4700:4700::1111 | 853 | cloudflare-dns.com |
Cloudflare | 2606:4700:4700::1001 | 853 | cloudflare-dns.com |
Cloudflare Security | 1.1.1.2 | 853 | security.cloudflare-dns.com |
Cloudflare Security | 1.0.0.2 | 853 | security.cloudflare-dns.com |
Cloudflare Security | 2606:4700:4700::1112 | 853 | security.cloudflare-dns.com |
Cloudflare Security | 2606:4700:4700::1002 | 853 | security.cloudflare-dns.com |
Cloudflare Family | 1.1.1.3 | 853 | family.cloudflare-dns.com |
Cloudflare Family | 1.0.0.3 | 853 | family.cloudflare-dns.com |
Cloudflare Family | 2606:4700:4700::1113 | 853 | family.cloudflare-dns.com |
Cloudflare Family | 2606:4700:4700::1003 | 853 | family.cloudflare-dns.com |
Quad9 | 9.9.9.9 | 853 | dns.quad9.net |
Quad9 | 149.112.112.112 | 853 | dns.quad9.net |
Quad9 | 2620:fe::fe | 853 | dns.quad9.net |
Quad9 | 2620:fe::9 | 853 | dns.quad9.net |
AdGuard DNS | 94.140.14.14 | 853 | dns.adguard-dns.com |
AdGuard DNS | 94.140.15.15 | 853 | dns.adguard-dns.com |
AdGuard Family Protection DNS | 94.140.14.15 | 853 | family.adguard-dns.com |
AdGuard Family Protection DNS | 94.140.15.16 | 853 | family.adguard-dns.com |
CleanBrowsing DNS | 185.228.168.168 | 853 | family-filter-dns.cleanbrowsing.org |
CleanBrowsing DNS | 185.228.169.168 | 853 | family-filter-dns.cleanbrowsing.org |
Table 1. Public DoT DNS Resolvers
3. Überprüfung der DoT-Konfiguration
Sie können Ihre DoT-Einstellungen auf OPNsense auf drei verschiedene Arten überprüfen:
- Verwendung von tcpdump
- Anzeigen von Unbound-DNS-Protokollen
- Verbindung zur Cloudflare DoT-Testseite herstellen
1. Verwendung von tcpdump
Um zu überprüfen, ob OPNsense derzeit Ihre Anfragen über DNS über TLS überträgt, können Sie eine Paketaufnahme über die OPNsense-Befehlszeile durchführen:
tcpdump -i vtnet0 port 853
Sie sollten die Ausgabe ähnlich wie unten sehen:
tcpdump: Ausführliche Ausgabe unterdrückt, verwenden Sie -v oder -vv für vollständige Protokolldekodierung
höre auf vtnet0, Linktyp EN10MB (Ethernet), Erfassungsgröße 262144 Bytes
12:11:49.725590 IP 192.168.0.31.61795 > dns.google.domain-s: Flags [P.], seq 462163878:462164030, ack 4235244077, win 519, Optionen [nop,nop,TS val 2361809916 ecr 3152845993], Länge 152
12:11:49.756681 IP dns.google.domain-s > 192.168.0.31.61795: Flags [.], ack 152, win 1045, Optionen [nop,nop,TS val 3152863341 ecr 2361809916], Länge 0
12:11:49.756697 IP 192.168.0.31.61795 > dns.google.domain-s: Flags [P.], seq 152:304, ack 1, win 519, Optionen [nop,nop,TS val 2361809946 ecr 3152863341], Länge 152
12:11:49.787748 IP dns.google.domain-s > 192.168.0.31.61795: Flags [.], ack 304, win 1045, Optionen [nop,nop,TS val 3152863373 ecr 2361809946], Länge 0
12:11:49.790739 IP dns.google.domain-s > 192.168.0.31.61795: Flags [P.], seq 1:493, ack 304, win 1045, Optionen [nop,nop,TS val 3152863376 ecr 2361809946], Länge 492
12:11:49.790757 IP 192.168.0.31.61795 > dns.google.domain-s: Flags [.], ack 493, win 516, Optionen [nop,nop,TS val 2361809986 ecr 3152863376], Länge 0
12:11:49.815496 IP dns.google.domain-s > 192.168.0.31.61795: Flags [P.], seq 493:985, ack 304, win 1045, Optionen [nop,nop,TS val 3152863400 ecr 2361809946], Länge 492
12:11:49.815511 IP 192.168.0.31.61795 > dns.google.domain-s: Flags [.], ack 985, win 515, Optionen [nop,nop,TS val 2361810006 ecr 3152863400], Länge 0
2. Anzeigen von Unbound-DNS-Protokollen
Außerdem können Sie die Unbound-DNS-Protokolle überprüfen, um zu sehen, ob DNS-Abfragen über Port 853 gesendet werden. Sie können die folgenden Schritte ausführen, um die DoT-Konfiguration auf Ihrem OPNsense zu überprüfen, indem Sie die Unbound-DNS-Protokolle einsehen:
-
Navigieren Sie zu Services → Unbound DNS → Advanced in Ihrer OPNsense-Weboberfläche.
-
Scrollen Sie nach unten zum Bereich Logging Settings.
-
Aktivieren Sie die Option Log Queries. Dies wird eine Zeile pro Abfrage in das Protokoll drucken, mit dem Protokollzeitstempel und der IP-Adresse, dem Namen, dem Typ und der Klasse. Bemerkenswerterweise wird der Server (erheblich) langsamer, da das Drucken dieser Zeilen Zeit in Anspruch nimmt.
-
Wählen Sie
Stufe 2
für die Option Log Level Verbosity, die detaillierte Betriebsinformationen liefert.Abbildung 7. Unbound DNS-Protokollierungseinstellungen auf OPNsense
-
Klicken Sie unten auf der Seite auf Apply, um die Einstellungen zu aktivieren.
-
Navigieren Sie zu Services → Unbound DNS → Log File.
-
Sie können
853
in das Suchfeld eingeben. Sie sollten die Antworten vom konfigurierten DNS-Resolver über Port 853 sehen.Abbildung 8. Anzeigen von Unbound DNS-Protokollen auf OPNsense
3. Verbindung zur Cloudflare DoT-Testseite herstellen
Schließlich bietet Cloudflare ein Portal auf ihrer https://1.1.1.1/help
-Website an, das es Cloudflare-Nutzern ermöglicht zu überprüfen, ob sie derzeit DNS über TLS (DoT) oder DNS über HTTPS verwenden. (DoH). Wenn Sie Cloudflare DoT-Server verwenden, können Sie die Test-Website verbinden und sollten dann eine Seite ähnlich der untenstehenden sehen. Die Option Using DNS over TLS (DoT) sollte in der Debug-Informationen-Tabelle auf Yes stehen.
Abbildung 9. Cloudflare DoT-Testseite