10. Sicherheitsüberlegungen (Security Considerations)
Einige Betreiber von DNS-Servern haben Bedenken geäußert, dass eine breitere Förderung und Nutzung von DNS über TCP sie einem höheren Risiko von DoS-Angriffen auf TCP (sowohl versehentlich als auch absichtlich) aussetzen wird.
Obwohl ein höheres Risiko für einige spezifische Angriffe gegen TCP-fähige Server besteht, haben sich Techniken zur Minderung von DoS-Angriffen auf Netzwerkebene seit dem ersten Entwurf von DNS erheblich verbessert.
Den Lesern wird empfohlen, sich mit [CPNI-TCP] vertraut zu machen, einer Sicherheitsbewertung von TCP, die bekannte TCP-Angriffe und Gegenmaßnahmen detailliert beschreibt und auf die meisten relevanten RFCs zu diesem Thema verweist.
Um das Risiko von DoS-Angriffen zu mindern, wird DNS-Servern empfohlen, TCP-Verbindungsmanagement zu betreiben. Dies könnte die Aufrechterhaltung des Status bestehender Verbindungen, die Wiederverwendung bestehender Verbindungen und die Steuerung von Anfrage-Warteschlangen umfassen, um eine faire Nutzung zu ermöglichen. Es ist wahrscheinlich vorteilhaft, konfigurierbare Verbindungsmanagementoptionen bereitzustellen, zum Beispiel:
-
Gesamtzahl der TCP-Verbindungen
-
maximale TCP-Verbindungen pro Quell-IP-Adresse oder Subnetz
-
TCP-Verbindungs-Leerlauf-Timeout
-
maximale DNS-Transaktionen pro TCP-Verbindung
-
maximale TCP-Verbindungsdauer
Für diese Parameter werden keine spezifischen Werte empfohlen.
Betreibern wird empfohlen, sich mit den Konfigurations- und Abstimmungsparametern vertraut zu machen, die im TCP-Stack des Betriebssystems verfügbar sind. Detaillierte Ratschläge hierzu liegen jedoch außerhalb des Geltungsbereichs dieses Dokuments.
Betreibern von rekursiven Servern wird empfohlen, sicherzustellen, dass sie nur Verbindungen von erwarteten Clients akzeptieren (z. B. durch Verwendung einer Zugriffskontrollliste (ACL)) und diese nicht von unbekannten Quellen akzeptieren. Im Fall von UDP-Verkehr hilft dies, vor Reflexionsangriffen [RFC5358] zu schützen; und im Fall von TCP-Verkehr verhindert es, dass ein unbekannter Client die Grenzen des Servers für die Anzahl der gleichzeitigen Verbindungen ausschöpft.