Sicherheit · 3 min read · Oct 27, 2025

BIND 9 Sicherheitsanfälligkeit und Lösung - BIND patchen, um Cache-Vergiftung zu vermeiden (Fedora/CentOS)

BIND 9 Sicherheitsanfälligkeit und Lösung - BIND patchen, um Cache-Vergiftung zu vermeiden (Fedora/CentOS)

Ich bin mir ziemlich sicher, dass die meisten von euch von der Sicherheitsanfälligkeit in BIND gehört haben. Dan Kaminsky hat Anfang dieses Monats ein massives, herstellerübergreifendes Problem mit DNS angekündigt, das es Angreifern ermöglichen könnte, jeden Nameserver zu kompromittieren - auch die Clients.

Ich dachte, ich teile mit euch allen eine der schnellsten Lösungen, die Systemadministratoren, die BIND 9 betreiben, verwenden können, um diese Sicherheitsanfälligkeit zu beheben, falls ihre Systeme betroffen sind.

Nach 3 Tagen Testen und Herumspielen mit meinen DNS-Servern habe ich etwas entdeckt, das mein Problem zu lösen schien, weshalb ich mich entschied, es mit euch allen zu teilen.

Ich bin mir nicht sicher, ob dies das Problem wirklich gelöst hat, obwohl es für mich funktioniert hat, da die Testergebnisse großartig sind. Aber eure Vorschläge und Kommentare sind willkommen.

Mein Ergebnis, so einfach es auch aussehen mag, gilt nur für diejenigen, die BIND 9 auf CentOS 4 oder 5 und Fedora-Core-Systemen und höher betreiben… Ich habe all diese Systeme in meinem Büro getestet.

Lasst uns anfangen… oder?

Voraussetzungen und Annahmen

  • Eure Firewall (iptables NAT/PAT oder PIX) muss Port 53 so geöffnet haben, dass sie eine zufällige Portauswahl zulässt.
  • Ihr müsst BIND 9 auf CentOS 4 oder 5 oder einem beliebigen Fedora-Core-System betreiben.
  • BIND muss im chrooted-Modus laufen, was zwar keine Voraussetzung, aber eine bewährte Methode ist.
  • In euren /etc/named/named.conf ODER /etc/named.conf Dateien…. Man muss rekursive Abfragen deaktivieren und auch eine ACL hinzufügen, um nur den eigenen Netzwerken rekursive Anfragen zu erlauben. Damit wird die Wahrscheinlichkeit einer Cache-Vergiftung auf die eigenen bekannten Netzwerke reduziert.
acl "mynetworks" {
         127/8;  172.16.0.0/12;  10.0.0.0/8;  192.168.0.0/16
view "internal" {
         match-clients { mynetwork; };
         allow-query { mynetwork; };
         allow-recursion { mynetwork; };
         match-recursive-only yes;
view "external" {
         match-clients { any; };
         allow-query { any; };
         allow-recursion { none; };
         match-recursive-only no;

Und jetzt zur Behebung der BIND-Sicherheitsanfälligkeit

Der erste Schritt ist, zu überprüfen, ob euer System anfällig ist… indem ihr die folgenden Befehle ausführt und ns1.youdomain.co.tz durch die TLD oder ccTLD eurer Organisation ersetzt.

dig +short @ns1.youdomain.co.tz porttest.dns-oarc.net
TXT
z.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.  
"192.168.1.3 ist SCHLECHT: 26 Anfragen
in 20.0 Sekunden von 1 Ports mit Std-Abweichung 0.00"

SCHLECHT —–> deutet definitiv darauf hin, dass der Nameserver oder das betreffende System anfällig ist und natürlich die laufende BIND-Software auch veraltet ist und PATCHED werden muss…

Lösung

Für diejenigen, die CentOS ODER Fedora-Systeme betreiben….. kann yum verwendet werden, um die Systeme zu patchen. Die Entwickler von CentOS 5 haben bereits einen Patch für die BIND-Software veröffentlicht, und die aktuelle Version ist: bind-9.3.4-6.0.2.P1.el5_2. P1 zeigt an, dass das Paket ein gepatchtes ist.

Auf meinen Systemen erhielt ich nach dem Patchen dieses Ergebnis..

rpm -q bind
bind-9.3.4-6.0.2.P1.el5_2 ----> wenn eure BIND-Version nicht gepatcht ist.. dann patcht sie.

Man sollte dies tun, um die neueste Software und den Patch zu erhalten.

yum update bind bind-chroot -y

Man sollte die named.conf-Datei bearbeiten und Folgendes hinzufügen. Speichern und BIND neu laden.

 vi /etc/named.conf 
options {
         directory "/var/named";
         allow-transfer {192.168.1.4 ;};
         query-source   address * port 53; ##KOMMENTIEREN oder DIESE ZEILE ENTFERNEN.

Es wird eine zufällige Portauswahl erlauben. Macht dies nur, wenn dieser Parameter unter Optionen in eurer named.conf-Datei aktiviert ist.

         dnssec-enable yes;                        ## DIESEN OPTION HINZUFÜGEN, UM DNS-SEC ZU AKTIVIEREN.

Die obige Zeile, wenn sie zu eurer named.conf-Datei hinzugefügt wird, aktiviert DNS-SEC. Geht voran und richtet DNS-SEC ein, aber denkt daran, dass DNS-SEC keine endgültige Lösung für diese Sicherheitsanfälligkeit ist. **

Ladet BIND neu oder startet es neu.

/etc/init.d/named reload

Dann testet erneut, um zu sehen, ob ihr ein besseres Ergebnis erhaltet.

dig +short
@ns1.youdomain.co.tz porttest.dns-oarc.net TXT

Nur um zu bestätigen… :-)

z.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.  
"192.168.1.3 ist GUT: 26 Anfragen
in 19.6 Sekunden von 26 Ports mit Std-Abweichung
16515.27"

GUT zeigt an, dass der betreffende Nameserver unter 192.168.1.3 sicher zu sein scheint, aber man muss sicherstellen, dass die aufgeführten Ports kein offensichtliches Muster folgen. d.h. die Ports mit einer Standardabweichung von 16515.27… Aber wenn euer Test (10000.00 Std-Abweichung) anzeigt, dann ist euer DNS-Server sicherer und eure Clients oder Benutzer sollten sich keine Sorgen machen.

Das gleiche Verfahren sollte auf allen DNS-Servern in eurer Organisation durchgeführt werden.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.