DNS ist das Domain Name System. Es ist ein UDP und TCP-based Protokoll, das auf Tor 53 hört. TCP Anschlüsse werden allgemein für Zone Übertragungen benutzt.
Die DNS bringt IP Adressen zu den hostnames zusammen (und hostnames zu den IP Adressen). Ein DNS Bediener ist verantwortlich maßgebend, oder, für ein gegebenes Teil des Domain Name System (zum Beispiel, mybitofthenet.com).
Klienten bilden Anträge von den DNS Bedienern, wenn sie mit Systemen verständigen möchten, für die sie nur das völlig qualifizierte hostname haben (zum Beispiel, myserver.mybitofthenet.com).
Die DNS ist ein kritisches Teil der Netzinfrastrukturs. Sein Ausfall,—ob durch administrative Unfähigkeit oder Leistungsverweigerung—Hauptkonsequenzen haben kann.
|
|
Das DNS Protokoll hat Sicherheit Probleme. Eine ausführliche Beschreibung von DNS und seine Protokollschwächen können an http://www.geocities.com/compsec101/papers/dnssec/dnssec.html gefunden werden. DNS wird in einer Zahl von RFCs sehen—http://www.dns.net/dnsrd/rfc/ für gesamte Details definiert.
Insoweit UNIX Wirt Sicherheit geht, ist die allgemein verwendete DNS Bediener-Software die BINDUNG (Berkeley Internet-Name Dämon), entwickelt durch die Internet-Software-Vereinigung (ISC). Durch Rückstellung "nannte" der BINDUNG Dämon Durchläufe mit Wurzelprivilegien und—dieses ist es—nicht wirft sie dauerhaft wichtig, weg nachdem man, zum 53 zu tragen gebunden hat. Folglich kann Verwundbarkeit in der BINDUNG einen kompletten System Kompromiß ergeben.
Lassen Sie uns die Schiene Aufzeichnung der BINDUNG betrachten.
Freigabe 8.2.3 wurde im Januar 2001 freigegeben, um vier Sicherheit Verwundbarkeit zu regeln, die durch COVERT Labors entdeckt wurde (PGP Sicherheit) und Claudio Musmarra. Zwei Pufferüberlauf erlaubt Remoteangreifern, jeden möglichen Code ihres Wählens laufen zu lassen. Eine Eingang Gültigkeitserklärungstörung ermöglicht Angreifern, jeden möglichen Code laufen zu lassen, und ein Informationen Durchsickern erlaubt, daß Daten im Stapel durch einen Angreifer angesehen werden. Dieses letzte man konnte nicht so schlecht scheinen. Schließlich ist es nicht ein direkter in-wartender Wurzelkompromiß, aber es unterstützt wirklich die Entwicklung von Großtaten gegen einen bestimmten Aufstellungsort. Der Stapel hält lokale Variablen, Klimavariablen und wichtige Prozeßadressen. Indem man zu diesen Zutritt erhält, kann ein Pufferüberlauf ohne Versuch und Störung geschrieben werden. Dieses ist bedeutend, weil Pufferüberlauf häufig ein monostabiler Angriff ist—, wenn Sie ihm gleichmäßiges etwas falsches erhalten, Sie ist wahrscheinlich, einen Service, indem sie ganz Überstapeldaten, zu zerschmettern scribbling baute nachher auf durch das Programm.
BINDUNG hat 12 Sicherheit advisories von CERT in gerade vier Jahren kaum—eine Aufschrift der BINDUNG Sicherheit gehabt!
Ein Hauptfaktor ist die Kompliziertheit des BINDUNG Codes. Erfahrene C Programmierer kommentieren, daß der BINDUNG Code unglaublich schwierig zu verstehen ist. Wenn erreichte Programmierer kämpfen, um zu begreifen, was los ist, können Sie von den Sicherheit Problemen sicher sein. Komplizierter Code ist hart,—Modularbauweisearbeit gut zu revidieren, in der kleine, getrennte Programme (die einfacher zu revidieren sind), privilegierte Betriebe durchführen. Selbstverständlich legten die ISC Entwickler nicht dar, um etwas zu schreiben, daß sogar sie stark finden würden, um die—Schwierigkeit beizubehalten sind ein Resultat der Eigenschaft aufblasen. Möglicherweise, das ist, schrieb ein von ISC des Grundes vor kurzem größte Teile BINDUNG neu.
Im Januar 2001, verkündete ISC die Freigabe einer neuen hauptsächlichversion von BINDUNG—Version 9.1.0. Diese Version schließt Unterstützung für DNSSEC—eine Protokollverlängerung ein, die etwas von der Sicherheit Designschwäche im Protokoll des Vorrates DNS überwindt (DNSSEC wird in RFC 2535. definiert) Vornehmlich war der Code nicht modularized, so jetzt wir haben neuen Code, der noch hart zu revidieren ist. Viele Aufstellungsorte sind wahrscheinlich BINDUNG, 8 laufen zu lassen fortzufahren, mindestens kurzfristig.
Sie fällt Angreifer wie das Brechen in BINDUNG Bediener, soviel aus, damit SANS Rate BINDUNG Bediener als das Problem Sicherheit der Nr. eine auf dem Internet unpatched. Großtaten für BINDUNG haben Überfluss. DNS Bediener sind geschmackvolle Ziele, weil soviel des Internets auf dann baut. Mit Steuerung eines BINDUNG Bedieners, können Sie wirklich böse Sachen tun, z.B.:
· Berauben Sie einen Aufstellungsort Verkehr, indem Sie die IP/name Kartenaufnahmen zu einer nicht vorhandenen Adresse ändern. Schlechtere Stille, können Sie Verkehr zu einem pornographischem oder Konkurrent Aufstellungsort umadressieren. Verlorenes Einkommen und schlechte Presse helfen nicht dem Aktienpreis einer Firma.
· Klonen Sie einen Egeschäft Aufstellungsort, ändern Sie den Bediener DNS des Aufstellungsortes, um Ihren imposter Aufstellungsort abzubilden, und sammeln Sie Kreditkarte Details, Benutzerkonto und Kennwortdetails.
· Nutzen Sie Vertrauen Verhältnisse zwischen Systemen aus, indem Sie ein IP von einer Seite des Vertrauen Verhältnisses zu Ihrer Maschine abbilden.
· Vergleichen Sie sich eins der Wurzel nameservers.
Dieses letzte man sorgt besonders sich. Die Wurzel nameservers sind der Ausgangspunkt für das Wenden auf dem Internet. Es gibt nur 13 Wurzel nameservers in der Gesamtmenge (wegen der Protokollbeschränkungen). Übernehmen Sie die Wurzel nameservers und Sie können das Internet in Ihrer Hand haben. Als Nebenwirkung folgt die Wahl der Plattform und die Betriebssysteme für diese Maschinen der Grundregel der Sicherheit durch Verschiedenartigkeit. Von einer Y2K Aussage auf ICANN's (Internet Corporation für zugewiesene Namen und Zahlen) Aufstellungsort veranschlagen:
Die Wurzelbediener selbst alle verwenden irgendeine Variante des UNIX Betriebssystems, gleichwohl die Kleinteilunterseite und die vendors'UNIX Varianten verhältnismäßig verschieden sind: der 13 Wurzelbediener gibt es 7 unterschiedliche Hardwareplattformen, die 8 unterschiedliche Betriebssystemversionen von 5 unterschiedlichen Verkäufern laufen lassen.
Dieses ist eine stichhaltige Idee, die—in der Natur von Mother Nature selbst verwendet wird. Selbstverständlich bricht es unten, wenn Sie nicht die genug verschiedenen Verwalter an Hand, zum von von acht unterschiedlichen Betriebssystemen sicher zu handhaben haben.
Neben Sicherheitsschwachstellen ist misconfiguration allgemein. Beim Bearbeiten herauf Ihren Aufstellungsort, bitten Angreifer um Zone Übertragungen von Ihrem DNS Bediener. Dieses ist im Allgemeinen ein Dump aller Informationen, die eine bestimmte DNS Zone betreffen. Dieses ist so gut wie ein Netzdiagramm! Sie wünschen nicht dieses.
Eine andere Konfiguration ist Versionsnummern (wieder). Die Version der BINDUNG entdecken, die Sie laufen lassen, kann ein Klient Ihren DNS Bediener fragen, und Ihr Bediener erklärt ihnen. Dieses ist nicht so gut.
Die andere Hauptgefahr, die das DNS Protokoll gegenüberstellen und die BINDUNG Implementierung sind Ablehnung ser der Vizeangriffe. Zahlreiche DOS Verwundbarkeit ist in der BINDUNG gefunden worden. Verhindert DNS sperrt Bediener DNS Fragen an behoben werden, dadurch siestoppt siestoppt die Klienten, die auf die DNS Auflösung Services bauen (das heißt, fast jeder) in ihren Schienen.
Die offensichtlichen Gegenmaßnahmen soll eine Alternative zu laufender BINDUNG finden. Hier sind Ihre Wahlen wir—leben in einer BINDUNG Monokultur begrenzt. Sie konnten zur Implementierung DNS Microsoft (die schalten nicht eine Empfehlung ist), oder suchen Sie nach einem DNS Bediener, in dem Sicherheit der Implementierung ein Primärziel war.
Die einzige entwicklungsfähige Alternative, die ich bewußt bin, ist das djbdns Paket durch Daniel Bernstein. Dieses hat den genügenden Produktion Verbrauch gehabt, zum ein ernster Kämpfer zu sein, zum ZU BINDEN. Es wurde mit Sicherheit in Verstand von einem Programmierer entworfen und geschrieben, der in Schreiben sicheren Code erfahren wurde. Sie können hier herausfinden: http://cr.yp.to/djbdns.html.
Wenn Sie mit BINDUNG haften, gibt es einige Sachen, die Sie tun können. Eine nützliche Zusammenfassung der Ausgaben und der Gegenmaßnahmen ist von http://www.acmebw.com/papers/securing.pdf vorhanden. Sie sollten geben mindestens ernsten Gedanken zum folgenden
· Lassen Sie BINDUNG nicht als Wurzel laufen. Stattdessen stellen Sie einen neuen Benutzer her und gruppieren Sie. Spezifizieren Sie diese als Befehl-Linie Wahlen, wenn Sie BINDUNG durchführen.
· Verwenden Sie den chroot Befehl, BINDUNG laufen zu lassen, damit sie Zugang zum filesystem eingeschränkt hat. Das chroot Programm ermöglicht Ihnen, das Verzeichnis zu spezifizieren, das ein Prozeß als sein Wurzelverzeichnis behandelt (erzwungen durch den Kern). Um dies zwar zu tun, müssen Sie ein Miniduplikat Ihres Betriebssystems herstellen weil BINDUNG nicht mehr in der LageIST wichtige Systembibliotheken und Konfiguration Akten zu sehen. Volle Anweisungen können hier gefunden werden: http://www.etherboy.com/dns/chrootdns.html.
· Die Versionsnummer ist im BINDUNG Code festverdrahtet, also, wenn Sie Quellenprogramm haben, können Sie es einfach entfernen oder es mit einer gefälschten Version oder einer dummen Anzeige ersetzen (haben Sie Spaß). Andernfalls werden Sie müssen binärer Flecken das vollziehbare—gute Glück! Neue Versionen der BINDUNG können zusammengebaut werden, um Version Anträgen nur von den spezifischen Adressen zu ermöglichen.
· Bauen Sie BINDUNG mißbilligen Zone Übertragung ausgenommen auf autorisierte Bediener zusammen (wie DNS Sklaven).
|
|