BIND - Error: loading from master file managed-keys.bind failed: file not found

Die derzeit aktuelle Debian Distribution (6.0.5, Debian Squeeze) enthält einen kleinen Fehler in der Standardkonfiguration des DNS-Server’s BIND. Wer BIND als DNS Server in der Distribution einsetzen will, erhält folgende Fehlermeldungen im Syslog:

general: error: managed-keys-zone ./IN: loading from master file managed-keys.bind failed: file not found

Der Fehler besagt, dass ein Sicherheitsschlüssel fehlt und die Root-Zone (./IN) nicht validiert werden kann. Konkret betrifft es DNSSEC (DNS-Secure) welche über IPv6 abgefragt werden.

Falscher Lösungsansatz:

Wie wir in einigen Selbsthilfeforen lesen mussten, wurde als Lösungsansatz vorgeschlagen die Defaults „dnssec-enable“ und „dnssec-validation“ zu deaktivieren. Dies ist aber definitiv nicht der richtige Weg, da es sich hierbei um ein sehr gutes Sicherheitsfeature handelt.

Warum dieses Feature?

Da die sogenannte ROOT-Zone seit einiger Zeit signiert ist (Schweden war hier der Vorreiter und hat dies als erstes Land überhaupt umgesetzt), ist die DNSSEC-Validierung standardmäßig aktiviert. Der Sinn dahinter ist, dass es damit nicht mehr möglich ist, den Cache eines DNS-Servers mit falschen Zonendaten zu verfälschen, womit ein „Internetangreifer“ DNS-Abfragen einfach auf andere Server umleiten kann. Bestes Beispiel dafür ist das Pishing von Bankdaten, in der ein Angreifer einfach den DNS-Namen Ihrer Hausbank auf einen eigenen gefälschten Server umleitet. Angriffe dieser Art sind dafür bekannt, dass die angezeigte Seite nahezu identisch mit der originalen ist. Wer dies nicht genau prüft wird hier schnell zum Opfer. DNS-SEC kann also einen Teilnehmer damit verifizieren, dass die durch den Server übermittelten Zonendaten tatsächlich identisch mit denen sind, die der für die Zone autorisierte und signierende Server ausliefert. Dies ist ein sehr wichtiges Sicherheitsfeature und sollte daher nicht deaktiviert werden. Die Lösung von Problemen sollte auch Grundsätzlich nicht darin bestehen, Features wegen Fehler zu deaktivieren, sondern den Fehler zu beseitigen. Der Lösungsansatz ist daher auch voller Käse

Richtige Lösung

Damit BIND die Signaturprüfung auch durchführen kann, benötigt BIND auch eine verlässliche Kopie des öffentlichen Schlüssels. Diese Kopie kann aber nicht über eine DNS-Abfrage bezogen werden sondern muss auf dem Datenträger vorhanden sein. Die Kopie des öffentlichen ISC-Schlüssels wurde auch ordnungsgemäß ausgeliefert und in der Datei /etc/bind/bind.keys abgelegt. Dummerweise hat der Programmierer bei der Erstellung der Standardkonfigurationsdatei dabei vergessen, diesen auch per Default zu verlinken. Die Verlinkung wird in der Datei /etc/bind/named.conf angegeben. In der Standardkonfiguration stehen folgende Anweisungen:

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
In diese Datei muss einfach folgende Zeile an hinzugefügt werden:
include "/etc/bind/bind.keys";
Bitte daran denken, eine Leerzeile nach der letzten Zeile einzufügen, sonst erkennt BIND das Ende der Konfigurationszeile nicht. Die Konfiguration wird gespeichert und BIND danach neu gestartet und schon verschwindet die Fehlermeldung aus dem Syslog und DNSSEC-Validierung wird funktionieren.

Ergänzung zu Server, welche keine IPv6 Anbinden oder Routen.

Bei aktiviertem IPSEC wird BIND in regelmäßigen Abständen ihm bekannte Rootserver kontaktieren. Dies sind sowohl IPv4 als auch IPv6 Adressen. Wenn er diese auf Grund der fehlenden IPv6 Anbindung nicht kann oder IPv6 nicht geroutet wird, erstellt BIND für jeden dieser Server einen Eintrag im Syslog. Um dies zu verhindern kommentiert man einfach alle IPv6-Einträge in der Datei /etc/bind/db.root mit einem Semikolon am Anfang der Zeile aus. Auch wenn man es nicht möchte, aber man sollte sich langsam mit dem Gedanken abfinden, dass für IPv4 im Internet das letzte Stündlein geschlagen hat und seine Server (DNS, Router etc) IPv6 tauglich machen. Ob sie bereits Fit für IPv6 sind können Sie hier überprüfen: http://test-ipv6.de

Sollten wir vergessen haben, etwas wichtiges zu erwähnen, dann kommentiert den Beitrag einfach. Sonst bleibt uns nur der Dank für's lesen.


Euer Entwicklteam

 
( 8 Votes ) 

Kommentar schreiben


Sicherheitscode
Aktualisieren