Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zur Registrierung für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Ersetzen Sie diese Werte nach Abschluss der Übung durch Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Schützen Sie Ihr internes Oracle Cloud Infrastructure-Netzwerk mit einer DNS-Firewall
Einführung
Die Kontrolle darüber, was Ihre Virtual Machine-(VM-)Instanzen tun, ist unerlässlich, damit Sie ihr Verhalten steuern können. In den meisten Fällen werden Domain Name System-(DNS-)Abfragen vergessen und nicht kontrolliert oder überwacht, sodass ein kompromittierter Rechner eine Verbindung zu Befehls- und Steuerungsservern (C2) herstellen und beispielsweise schädliche Software herunterladen kann. Durch die Möglichkeit, diese ausgehenden Abfragen zu C2-Servern und anderen Arten von böswilligen Servern zu steuern und zu blockieren, wird Ihrem Netzwerk eine zusätzliche Sicherheitsebene hinzugefügt, und Sie können vermeiden, dass Ihre VM und Ihr Netzwerk weiter gefährdet werden.
Ziele
- Verwenden Sie den privaten DNS-Service von Oracle Cloud Infrastructure (OCI), um Ihr internes OCI-Netzwerk vor böswilligen ausgehenden DNS-Abfragen zu schützen, indem Sie eine DNS-Firewall konfigurieren und Logging hinzufügen, um die DNS-Abfragen Ihrer Instanzen besser zu kontrollieren und sichtbar zu machen.
Voraussetzungen
-
Zugriff auf einen OCI-Mandanten.
-
Grundlegendes Verständnis von DNS.
-
Ein Virtual Cloud Network (VCN).
Konfiguration: Standardmäßig wird jedes VCN mit einem eigenen DNS-Resolver erstellt. Wenn Sie auf die Konfiguration auf Linux-Rechnern achten, werden sie in der Datei
/etc/resolv.conf
mit dem folgenden Inhalt konfiguriert (Beispiel für Oracle Linux 9):[opc@linu-lab ~]$ cat /etc/resolv.conf ... nameserver 169.254.169.254
Die Automatic Private IP Addressing-(APIPA-)Adresse
169.254.169.254
wird im OCI-Netzwerk für mehrere Services verwendet, darunter den DNS-Resolver. -
Ein Konto bei einem beliebigen DNS-Firewallprovider (optional).
Aufgabe 1: DNS-Resolver in der OCI-Konsole suchen
Stellen Sie sicher, dass bereits ein VCN erstellt wurde, und klicken Sie auf den VCN-Namen. Klicken Sie auf der Seite Details virtuelles Cloud-Netzwerk auf DNS-Resolver.
Aufgabe 2: Weiterleitungsendpunkt konfigurieren
-
Klicken Sie unter Ressourcen auf Endpunkte und Endpunkt erstellen.
-
Geben Sie auf der Seite Endpunkt erstellen die folgenden Informationen ein, und klicken Sie auf Endpunkt erstellen.
- Name: Geben Sie einen Namen ein.
- Subnetz: Wählen Sie das Subnetz aus, in dem der Weiterleitungsendpunkt angezeigt werden soll.
- Endpunkttyp: Wählen Sie Weiterleiten aus.
Es sollte einige Minuten dauern und wenn Sie fertig sind, wird Ihr DNS-Forwarder erstellt. Dadurch können wir eine Umleitung von Abfragen konfigurieren, wo wir möchten, in unserem Fall zu einer DNS-Firewall.
Der DNS-Resolver folgt einer Reihenfolge, in der die Abfragen der Instanzen aufgelöst werden:
Zuerst werden alle angehängten privaten Views geprüft, dann die Resolver-Regeln und zuletzt die öffentlichen Internet-Resolver von Oracle zur Auflösung von Hostnamen verwendet. Weitere Informationen finden Sie in Konfiguration und Lösung.
Im nächsten Schritt möchten wir alle Abfragen umleiten, die nicht lokal sind (in keiner privaten Ansicht vorhanden) und sie an einen DNS-Firewalldienst oder an einen anderen DNS-Server senden, der von Ihrem Unternehmen verwaltet wird, um die Abfragen zu steuern.
Sie können sich für einen kostenlosen Service wie OpenDNS, Quad9, ControlD und viele andere entscheiden oder einen kostenpflichtigen Service mit viel mehr Kontrolle und Funktionen wie Cisco Umbrella, ControlD, NextDNS, InfoBlox und vielen mehr auswählen.
Hinweis: Wir haben keine Verbindung zu den in Aufgabe 3 genannten DNS-Providern. Sie werden als Beispiel für die Einfachheit, Benutzerfreundlichkeit und Konfiguration verwendet. Es gibt viele andere Anbieter, die ähnliche Dienstleistungen anbieten, finden den, der Ihren Anforderungen am besten entspricht.
Aufgabe 3: Resolver-Regel erstellen
-
Einen kostenlosen DNS-Firewall-Service verwenden
Denken Sie daran, dass der Resolver die Regeln nach ihrer Reihenfolge auswertet und bei der ersten Übereinstimmung stoppt. Stellen Sie sicher, dass, wenn Sie andere Regeln für interne Domains haben, unsere Regel die letzte ist, damit wir alle anderen Abfragen an unsere DNS-Firewall weiterleiten können.
In diesem Tutorial verwenden wir den Quad9-Service. Dies ist ein kostenloser Service, der sehr einfach zu verwenden ist und im Grunde keine Konfiguration aufweist. Mit anderen kostenlosen Diensten wie ControlD können Sie mehrere Kategorien von Abfragen konfigurieren, die blockiert werden sollen.
-
Klicken Sie unter Ressourcen auf Regeln und Regeln verwalten.
-
Geben Sie auf der Seite Regeln verwalten die folgenden Informationen ein.
-
Regelbedingung: Wählen Sie Kein Wert aus. Dadurch wird ein Alle abgleichen-Client erstellt. Das bedeutet, dass alle Abfragen, die nicht in den privaten Ansichten oder durch die vorherigen Regeln aufgelöst wurden, an den Resolver-Forwarder umgeleitet werden und nicht vom öffentlichen OCI Internet-Resolver aufgelöst werden.
-
Quellpunkt: Wählen Sie den Weiterleitungsendpunkt aus, der in Aufgabe 2 erstellt wurde.
-
Ziel-IP-Adresse: Wir verwenden Quad9 DNS-Server
9.9.9.9
.
-
-
Klicken Sie auf Änderungen speichern, und warten Sie einige Minuten, bis der Resolver aktualisiert wird.
Alle Instanzabfragen werden an den DNS-Firewallservice Quad9 gesendet und blockiert, wenn eine Instanz versucht, eine Verbindung zu einer bösartigen IP herzustellen.
Oder
-
-
Bezahlten DNS-Firewall-Service verwenden
Wenn Sie mehr Kontrolle, Funktionen und Protokollierung benötigen, dann ist der kostenlose Service vielleicht nicht die Lösung für Ihren Fall. Bezahlte Dienste bieten viel mehr Kontrolle und Funktionen als kostenlose Dienste und können es Ihnen ermöglichen, Instanzen zu erkennen, die verdächtige Abfragen an Hostnamen durchführen, die sie nicht sollten.
In diesem Tutorial verwenden wir NextDNS, und es sind einige zusätzliche Schritte erforderlich, damit es funktioniert.
Zuerst benötigen Sie ein Konto, NextDNS bietet eine kostenlose Stufe mit bis zu 300K-Abfragen pro Monat, die mehr als genug sein sollte, um den Service zu testen. Melden Sie sich nach dem Account an, und erstellen Sie ein neues Profil für Ihr VCN.
-
Klicken Sie auf Neu, und geben Sie einen Namen ein.
-
Klicken Sie auf Einstellungen, und wählen Sie die Region aus, in der die Logs gespeichert werden. Sie können zwischen USA, Europa oder der Schweiz wählen.
-
Klicken Sie auf Sicherheit, und wählen Sie aus, wie Sie böswillige IPs mithilfe von KI filtern und blockieren, indem Sie Feeds und viele weitere Optionen verwenden.
-
Klicken Sie auf Datenschutz, und fügen Sie die Liste der bekannten böswilligen IPs, Tracker, Anzeigenserver und mehr hinzu.
-
Sie können auch Verweigerungs- und Ausnahmelisten in DenyList und AllowList erstellen.
Der beste Teil für diesen Service sind die Logging- und Analysefunktionen. Dies ermöglichte es uns, eine Browsererweiterung auf dem Laptop zu finden, die Dutzende von Tausenden von Abfragen an einen sehr seltsamen Hostnamen ausführte, was zur Entfernung der Erweiterung führte.
-
Klicken Sie jetzt auf Setup, und es werden verschiedene Endpunkte angezeigt: IPv4, IPv6, DoT (DNS über TLS) und DOH (DNS über HTTP).
-
In diesem Tutorial verwenden wir IPv4, und wir haben spezifische IPs für ihre Resolver, wir müssen nur unsere IP-Adresse verknüpfen, damit NextDNS weiß, woher die Abfragen kommen, damit sie sie gegen Ihr Profil protokollieren können.
Dazu müssen wir uns bei einer der Instanzen mit Zugriff auf das Internet (über NAT) anmelden und den folgenden Befehl ausführen, um die IP mit dem Profil zu verknüpfen.
[opc@linux-lab ~]$ curl https://link-ip.nextdns.io/d34ff7/fd11c0xxxxx67cab 158.101.204.149[opc@linux-lab ~]$
Klicken Sie auf Erweiterte Optionen anzeigen, Verknüpfte IP, und rufen Sie den richtigen Link für Ihr Profil ab.
Das Skript gibt die IP des OCI-NAT-Gateways zurück, das vom OCI-DNS-Resolver für alle Abfragen verwendet wird.
Wir müssen nur eine letzte Änderung in der Resolver-Regel vornehmen, um auf die IPv4-IP des NextDNS-Resolvers zu verweisen.
-
Klicken Sie auf der Seite "VCN-Resolver" auf Regeln, löschen Sie die zuvor hinzugefügte Regel, und erstellen Sie eine neue Regel, die auf die IP
45.90.28.43
verweist.Nachdem der OCI-DNS-Resolver mit dieser Änderung aktualisiert wurde, verwenden alle internen Instanzen, die DNS-Abfragen in diesem VCN erstellen, den NextDNS-Firewallservice.
Ablehnungsliste erstellen
Lassen Sie uns eine Verweigerungsliste erstellen und prüfen, ob sie funktioniert. Gehen Sie zur Konsole NextDNS, wählen Sie das erstellte Profil aus, und klicken Sie auf DenyList. Fügen Sie die Domain
malicious.site
hinzu, und klicken Sie auf Eingabetaste.Versuchen Sie in der internen Instanz, die IP dieser Domain aufzulösen.
[opc@linux-lab ~]$ dig +short A malicious.site 0.0.0.0
Wie erwartet wird die Abfrage nicht in eine IP aufgelöst, und
0.0.0.0
wird zurückgegeben. Darüber hinaus wurde die Abfrage protokolliert.Auf der Registerkarte Analysen werden Informationen zu allen Abfragen für dieses Profil angezeigt. Ab sofort verwenden alle Abfragen, die von internen Instanzen in Ihrem VCN ausgeführt werden, die Resolver-Regel, um Abfragen an die DNS-Firewall weiterzuleiten.
-
Hinweise:
Alle diese Provider verfügen über Anycast-Netzwerke und äußerst robuste und skalierbare Architekturen, die den Ausfall von Servern aufrechterhalten sollten. Wenn Sie jedoch die Resilienz Ihrer eigenen Architektur erhöhen möchten, sollten Sie einen Network Load Balancer in OCI implementieren, der als Forwarder in der Resolver-Regel verwendet wird, und die verschiedenen IPs verwenden, die von den DNS-Providern als Network Load Balancer-Backends angegeben werden. Falls eine der IPs des DNS-Providers ausfällt, was sehr ungewöhnlich wäre, wechselt der Network Load Balancer Traffic auf die andere IP.
Beachten Sie, dass die Sicherheitsliste des Subnetzes, in dem der private DNS-Endpunkt-Forwarder bereitgestellt wird, Verbindungen zum Port User Datagram Protocol (UDP) und zum Transmission Control Protocol (TCP)-Port 53 zulassen muss, damit DNS-Abfragen empfangen werden können.
Dieses Subnetz muss über ein NAT-Gateway Internetkonnektivität haben. Stellen Sie sicher, dass sowohl Sicherheitslisten als auch Routingtabellen ordnungsgemäß konfiguriert sind, um dies zuzulassen.
Verwandte Links
Danksagungen
- Autor - Carlos Jorge Santos (OCI Cloud Engineer - Networking Domain Specialist)
Weitere Lernressourcen
Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Protect your Oracle Cloud Infrastructure Internal Network using a DNS Firewall
G16354-01
September 2024