GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Best Practices für DNS für Sicherheit und Leistung

Das Domain Name System (DNS) ermöglicht die gesamte vernetzte Kommunikation. DNS mag wie eine unsichtbare Kraft oder Einheit erscheinen, bis etwas schief geht, dann ist es offensichtlich:Wenn der DNS-Dienst ausfällt, funktioniert nichts.

Dieser Artikel beschreibt die Best Practices und die wichtigsten Sicherheitsmaßnahmen, um Ihre DNS-Infrastruktur intakt zu halten. Achten Sie darauf, die unten aufgeführten Punkte zu berücksichtigen, um ein sicheres und robustes DNS zu erstellen.

Best Practices für die DNS-Leistung

DNS-Redundanz und Hochverfügbarkeit sicherstellen

Da DNS die Säule von Netzwerkanwendungen ist, muss die DNS-Infrastruktur hochverfügbar sein. Um die notwendige Redundanz zu erreichen, müssen Sie mindestens die primären und sekundären DNS-Server in Ihrer Organisation haben.

Um die geschäftskritischen Dienste am Laufen zu halten, müssen mindestens zwei interne DNS-Server vorhanden sein ist ein Muss. Alle Active Directory-, Dateifreigabe- und E-Mail-Dienste sind auf einen ordnungsgemäßen DNS-Betrieb angewiesen. Ohne gesunde und funktionierende interne DNS-Server können interne Geräte nicht kommunizieren.

Wenn bei einem DNS-Server ein Problem auftritt, übernimmt der andere sofort. Administratoren konfigurieren Computer so, dass sie automatisch sekundäres DNS verwenden, wenn das primäre nicht antwortet. Eine IP eines internen DNS-Servers kann eine beliebige Adresse innerhalb eines IP-Bereichs eines privaten Netzwerks sein.

Indem Sie DNS-Server redundant machen, können Sie eine hohe Verfügbarkeit der DNS-Infrastruktur erreichen. Die kontinuierliche Replikation von primären zu sekundären Servern hält Ihre DNS-Einträge synchron und sicher vor Ausfällen. Sie können sicherstellen, dass niemals eine Zeit kommt, in der für einen Endbenutzer keine Dienste verfügbar sind.

DNS-Server und DNS-Informationen ausblenden

Nicht jeder DNS-Server und jede Information muss allen Benutzern zur Verfügung gestellt werden.

Machen Sie zunächst nur die Server und die erforderlichen Daten zugänglich für die Personen, die diese Server verwenden. Dies ist besonders wichtig, wenn Ihre Domainnamen öffentlich sichtbar sein müssen.

Zweitens, verbergen Sie Ihren primären DNS-Server . Primärserver darf nicht für externe Benutzer sichtbar sein. Datensätze für diese Server sollten in keiner öffentlich zugänglichen Nameserver-Datenbank verfügbar sein. Nur sekundäre DNS-Server sollten Anfragen von Endbenutzern bearbeiten.

Wenn von außerhalb Ihres Netzwerks auf einen DNS-Server zugegriffen werden kann, muss es sich bei diesem Server um einen autoritativen DNS-Server handeln. Externe Benutzer müssen Ihre rekursiven DNS-Server nicht abfragen. Nur auf iterative Abfragen für die jeweiligen Zonen zu antworten, für die ein Server autorisierend ist, ist eine Hochleistungskonfiguration.

Schließlich sollten nur Systemadministratoren und IT-Mitarbeiter Zugriff auf primäre Server innerhalb Ihrer Organisation haben. Wenn Sie primäre DNS-Server für alle internen Benutzer sichtbar lassen, kann dies zu einem erheblichen Sicherheitsproblem werden. Als Faustregel sollten Sie die DNS-Server und die Daten vor Benutzern verbergen, die keinen Zugriff darauf haben müssen.

Sollte ich einen externen oder internen DNS-Server verwenden?

Die Antwort auf diese Frage hängt von der internen Einrichtung ab.

Damit Geräte in einer Domäne miteinander kommunizieren können, müssen Sie sie auf einen internen DNS-Server verweisen. Externe DNS-Server können Hostnamen interner Geräte nicht auflösen.

Wenn beispielsweise ein Computer DESKTOP1 sendet eine DNS-Abfrage für office-printer oder ein Server hr- 1 kann nur ein internes DNS einen Ressourceneintrag bereitstellen. Wenn Sie ein Gerät so einstellen, dass es ein externes DNS verwendet, z. B. 8.8.8.8 von Google , können Sie keine internen Ressourcen verwenden.

In internen Umgebungen müssen Sie sowohl den primären als auch den sekundären DNS auf einen internen Nameserver festlegen . Selbst wenn der primäre DNS-Server ausfällt, treten keine Verbindungsprobleme auf. Der sekundäre DNS-Server enthält alle Datensätze und fungiert als Backup. Im Falle eines Problems antwortet dieser Server auf alle Anfragen, bis der primäre Server wieder betriebsbereit ist.

Verwenden Sie den lokalen oder nächstgelegenen DNS-Server

Große Organisationen haben oft Niederlassungen auf der ganzen Welt. Wenn es die Infrastruktur zulässt, sollten Sie in jedem Büro einen lokalen DNS-Server einrichten.

Der Grund dafür ist, dass ein lokaler Server die Antwortzeiten für DNS-Anfragen verkürzt. Wenn eine Abfrage über das WAN zu einem entfernten Nameserver wandert, erhält ein Benutzer längere Ladezeiten.

Mit einer hohen Anzahl von Clients wächst die Anzahl der DNS-Anfragen. Ein zentralisierter Satz von DNS-Servern kann alle Anfragen verarbeiten, jedoch mit höherer Latenz. Indem die Computer der Benutzer auf einen lokalen oder nächstgelegenen Nameserver verwiesen werden, werden die Antwortzeiten auf ein Minimum reduziert.

In diesem Fall geht die Latenz nicht über 50 ms hinaus. Darüber hinaus liegt die Zahl in der Regel weit unter diesem Wert. Die Verwendung des nächstgelegenen DNS-Servers verbessert die Ladezeiten für alle Computer. So entlasten Sie auch den Remote-Server in der Zentrale und verbessern dessen Performance. Die Empfehlung, mindestens zwei DNS-Server zu haben bleibt auch hier in Kraft.

Best Practices für die DNS-Sicherheit

DNS-Server sind ein häufiges Ziel von Cyberangriffen. Die Sicherung der DNS-Infrastruktur ist ein entscheidender Schritt zur Verhinderung von Sicherheitsverletzungen in Ihrem Unternehmen. Um größere Auswirkungen auf Ihre DNS-Einrichtung zu vermeiden, stellen Sie sicher, dass Sie die unten aufgeführten Sicherheitsmaßnahmen anwenden.

DNS-Protokollierung aktivieren

Die DNS-Protokollierung ist die effizienteste Methode zur Überwachung der DNS-Aktivität. Die Protokolle informieren Sie, wenn sich jemand in Ihre DNS-Server einmischt. Neben der Client-Aktivität informieren Sie Debug-Protokolle über Probleme mit DNS-Abfragen oder -Updates.

DNS-Logs zeigen auch die Spuren von Cache-Poisoning. In diesem Fall verändert ein Angreifer die im Cache gespeicherten Daten und bringt Clients vom Kurs ab. Zum Beispiel eine IP-Adresse von www.youtube.com möglicherweise in eine IP-Adresse einer bösartigen Website geändert werden. Wenn ein Client eine DNS-Anfrage für youtube.com sendet, gibt der Server jetzt die falsche IP zurück. Benutzer besuchen dann Websites, die sie nicht besuchen wollten, und werden zum Ziel von Hackern.

Obwohl die DNS-Debug-Protokollierung die Sicherheit auf ein höheres Niveau bringt, entscheiden sich einige Systemadministratoren dafür, sie zu deaktivieren. Der Hauptgrund ist die Leistungssteigerung. Die Überwachung der Netzwerkaktivität kann Ihnen dabei helfen, einige Angriffe wie DDoS zu erkennen, jedoch keine Cache-Poisoning. Daher empfehlen wir dringend, DNS-Debug-Protokolle zu aktivieren .

DNS-Cache sperren

Immer wenn eine Anfrage von einem Client kommt, findet DNS die Informationen und speichert sie für die zukünftige Verwendung im Cache. Dieser Prozess ermöglicht es dem Server, schneller auf dieselben Anfragen zu antworten. Angreifer können diese Funktion ausnutzen, indem sie die gespeicherten Informationen ändern.

Ein Schritt weiter vom Aktivieren von DNS-Debug-Protokollen ist das Sperren des DNS-Cache . Diese Funktion bestimmt, wann die zwischengespeicherten Daten geändert werden können. Der Server speichert Lookup-Informationen während der durch die TTL (Time to Live) definierten Zeitspanne. Wenn die Cache-Sperre deaktiviert ist, können die Informationen überschrieben werden, bevor die TTL abläuft. Dies lässt Raum für Cache-Poisoning-Angriffe.

Je nach Betriebssystem ist die Cache-Sperre möglicherweise standardmäßig aktiviert. Die Cachesperrungsskala geht bis zu 100 Prozent. Wenn der Wert auf 70 eingestellt ist, ist ein Überschreiben der Daten für 70 % der TTL nicht möglich. Indem Sie die Cache-Sperre auf 100 definieren, wird das Ändern der zwischengespeicherten Informationen blockiert, bis die TTL abläuft.

DNS-Anfragen filtern, um schädliche Domains zu blockieren

Die DNS-Filterung ist eine effektive Methode, um Benutzer am Zugriff auf eine Website oder eine Domäne zu hindern. Der Hauptgrund, die Namensauflösung für eine Domain zu blockieren, ist, wenn diese Domain als bösartig bekannt ist. Wenn ein Client eine Anfrage für eine blockierte Website sendet, stoppt ein DNS-Server jegliche Kommunikation zwischen ihnen.

Die DNS-Filterung reduziert die Wahrscheinlichkeit von Viren und Malware massiv Ihr Netzwerk erreichen. Wenn ein Client eine schädliche Seite nicht erreichen kann, ist die Anzahl der Bedrohungen, die in Ihre Infrastruktur eindringen können, minimal. Auf diese Weise muss Ihr IT-Personal nicht rund um die Uhr arbeiten, um die Viren zu entfernen.

Abgesehen von der Sicherheit möchten Unternehmen eine Domäne möglicherweise aufgrund einer Geschäftsrichtlinie oder aus Produktivitätsgründen blockieren. Die Liste der blockierten Domänen kann soziale Medien, Glücksspiele, Pornografie, Video-Streaming-Seiten oder jede andere Website enthalten. DNS kann Anfragen von einem Benutzer oder einer Gruppe filtern oder den Zugriff für alle Benutzer blockieren.

Moderne Software-Sicherheits- und Firewall-Lösungen beinhalten standardmäßig DNS-Filterung. Einige dieser Appliances bieten regelmäßig aktualisierte Listen mit schädlichen Domänen. Durch den Einsatz einer vorgefertigten Softwarelösung können Sie die DNS-Filterung automatisieren und das manuelle Hinzufügen neuer Einträge vermeiden.

DNS-Datenintegrität mit DNSSEC validieren

Domain Name System Security Extensions (DNSSEC) stellen sicher, dass Clients gültige Antworten auf ihre Anfragen erhalten. Die Datenintegrität wird erreicht, indem DNSSEC die den Nameservern bereitgestellten DNS-Daten digital signiert. Wenn ein Endbenutzer eine Anfrage sendet, stellt ein DNS-Server eine digitale Signatur mit der Antwort bereit. Daher wissen Clients, dass sie gültige Informationen für die von ihnen gesendete Anfrage erhalten haben.

Diese zusätzliche Sicherheitsebene hilft bei der Abwehr von DNS-Protokollangriffen. Da DNSSEC die Datenintegrität und Herkunftsautorität bietet, werden DNS-Spoofing-Angriffe und Cache-Poisoning erfolgreich abgewehrt . Kunden sind dann sicher, dass sie die Seiten besuchen, die sie besuchen wollten.

Zugriffskontrolllisten konfigurieren

Access Control Lists (ACL) sind eine weitere Möglichkeit, DNS-Server vor unbefugtem Zugriff zu schützen und Spoofing-Angriffe . Nur IT-Administratoren und Systemadministratoren sollten Zugriff auf Ihr primäres DNS haben. Das Konfigurieren von ACLs, um eingehende Verbindungen zu einem Nameserver von bestimmten Hosts zuzulassen, stellt sicher, dass nur die beabsichtigten Mitarbeiter mit Ihren Servern kommunizieren können.

Außerdem müssen ACLs definieren, welche Server Zonenübertragungen durchführen können. Angreifer versuchen möglicherweise, Ihre Zonenkonfiguration zu ermitteln, indem sie Zonenübertragungsanfragen über sekundäre DNS-Server senden. Wenn Sie alle Zonenübertragungsanforderungen über sekundäre Server blockieren, kann ein Angreifer keine Zoneninformationen abrufen. Diese Konfiguration verhindert, dass Dritte Einblick in Ihre Organisation des internen Netzwerks erhalten.


Linux
  1. Best Practices für die Sicherheit von Linux-Servern

  2. Best Practices für die Sicherheit von Windows-Servern

  3. Best Practices für WordPress-Sicherheit unter Linux

  4. Best Practices für die physische Sicherung eines Notebooks

  5. Best Practices für Nagios-Server?

Die 10 besten Linux-Web-Caches für eine bessere Leistung

Fail2ban unter Linux:Ein Internetsicherheits- und Utility-Tool für die Serververwaltung

Ubuntu Server Setup – Best Practices für die Sicherheit

Installieren Sie PostgreSQL auf einem Ubuntu-Server für Sicherheitskonfigurationen

So installieren und konfigurieren Sie den DNS-Server unter Linux

Die 8 besten sicheren Linux-Telefone für Datenschutz und Sicherheit