ubuntuusers.de

BIND9; Sicherer Zonentransfer zwischen zwei eigenen DNS-Servern

Status: Ungelöst | Ubuntu-Version: Server 8.04 (Hardy Heron)
Antworten |

monateng

Avatar von monateng

Anmeldungsdatum:
19. April 2007

Beiträge: 1055

Wohnort: Wellerode

Hallo Community,

wie könnte ich Zonen zwischen zwei oder mehr DNS-Servern, die alle mit BIND9 laufen, sicher Transferieren?
Ich möchte damit einen Master und mom. einen Slave DNS-Server betreiben. Später könnten es auch mehrere Slave DNS-Server werden. Wichtig ist mir aber der sichere Transfer zwischen den beiden DNS-Servern.


Gruß

monateng

bodensee

Anmeldungsdatum:
4. November 2006

Beiträge: 1971

Hallo,

was genau meinst Du mit Zonen transfer zwischen den DNS Servern?

monateng

(Themenstarter)
Avatar von monateng

Anmeldungsdatum:
19. April 2007

Beiträge: 1055

Wohnort: Wellerode

Hallo User-bodensee,

ich suche nach einer Möglichkeit einen 'Slave-' und einen 'Master-DNS-Server' aufzusetzen. Dabei soll der 'Master-DNS-Server' die Zonen an den 'Slave-DNS-Server' durch einen Authentifizierten Transfer weitergeben. Sollte der Datenbetand des 'Master-DNS-Servers' sich ändern, so sollen diese Updates über das selbe oder ein ähnliches Verfahren, auf dem 'Slave-DNS-Server' Aktualisiert werden können. Dieses Update sollte nach Möglichkeit sehr zügig von statten gehen.
Wie die Authentifizierung aussehen soll, kann ich keine Vorgaben geben. Es sollte jedoch dem DNSSec-Verfahren nahe kommen, welches als Sicher eingestuft worden ist.

Mein Vorhaben:
Mir geht es dabei um die Erschwerung den Datenbestand des 'Slave-DNS-Servers' , durch DNS-Spoofing- oder DNS-Poisoning-Attacken zu Manipulieren und somit die Angreifbarkeit der DNS-Server zu reduzieren. In dem Wikipedia-Artikel über DNSSec habe ich folgende DNS-Authentifizierungen Gefunden:

Auszug aus dem Wikipedia-Artikel über DNSSec:

.. RRSIG ersetzt SIG, DNSKEY ersetzt KEY, NSEC ersetzt NXT ..

Ich gehe davon aus, dass eines der oben genannten Authentifizierungs-Verfahren mit dem aktuellen BIND9 durchführbar sind.

Wer betreibt einen DNS-Server dessen Datenbestand sich über eine Authentifizierung aktualisiert bzw. aktualisieren lässt?


Gruß und ein schönes Wochenende

monateng

Ollfried

Anmeldungsdatum:
27. November 2007

Beiträge: 195

monateng schrieb:

Wer betreibt einen DNS-Server dessen Datenbestand sich über eine Authentifizierung aktualisiert bzw. aktualisieren lässt?

ich, aber ich esse gerade. 😉

monateng

(Themenstarter)
Avatar von monateng

Anmeldungsdatum:
19. April 2007

Beiträge: 1055

Wohnort: Wellerode

Guten Hunger Ollfried,

mich würde interessieren auf welche Technik zur Authentifizierung du setzt und wie die Konfiguration der jeweiligen Zonen aussehen müssen.


Gruß

monateng

Ollfried

Anmeldungsdatum:
27. November 2007

Beiträge: 195

So, ferdsch. War lecker, aber bissel viel Ingwer vielleicht und das Curry-Geheimnis vom meinem Chinamann hab ich immer noch nicht entdeckt.

Meine Zone-Transfers werden mit einem Key verschlüsselt. Ist schon ne Zeit her, ich versuchs mal zusammenzubringen.

Den Key erstellt man mit dnssec-keygen. Der kommt dann in die named.conf.local auf dem Master und wird dort dem Slave zugeordnet:

key "transfer" {
        algorithm hmac-md5;
        secret "jugdsiooihiphsfpoihimsweiozmizioztioioznuTiznIZIONZOZiozipazonzpoazoizazhpzapazidüdwee==";
};

server ip.vom.slave.dns {
        keys { transfer; };
};

Ähnliches passiert auf dem Slave:

key "transfer" {
        algorithm hmac-md5;
        secret "jugdsiooihiphsfpoihimsweiozmizioztioioznuTiznIZIONZOZiozipazonzpoazoizazhpzapazidüdwee==";
};

server ip.vom.master.dns {
        keys { transfer; };
};

In der Zone kommt nur eine Zeile bei allow-transfer dazu bzw. wird geändert:

zone "domain.tld" {
        type master;
        file "/etc/bind/master/db.domain.tld";
        allow-transfer {
                key transfer;
        };
        allow-query {
                any;
        };
};

Hmm, ich merk grad, ich hab mich nie tiefer damit beschäftigt. Ist das übrrthaupt das, was Du willst?

monateng

(Themenstarter)
Avatar von monateng

Anmeldungsdatum:
19. April 2007

Beiträge: 1055

Wohnort: Wellerode

Danke Ollfried mal schauen ob ich dich richtig verstanden habe:

Alle Zonen bei denen ich 'allow-transfer { key transfer; };' eingetragen habe, können von den Servern Transferiert werden, die von mir den Key bekommen haben. Allen anderen verbietet diese Zeile den Transfer der Zone. Soweit sollte alles klar sein.

Nun die noch offenen Fragen:
1) Wie bemerkt nun der Slave-DNS-Server für welche Zonen er alles auch verantwortlich ist?
- Hier zwei mir namentlich bekannte Verfahren des DNS-Updates:
⇒ Wikipedia; DNS Update
⇒ Wikipedia; Inkrementeller Zonentransfer
2) Wie wird der 'Slave-DNS-Server' über eine Änderung de Zone auf dem 'Master-DNS-Server Zeitnah Informiert?

Aber zur Beruhigung, Ollfried, du hast die Thread-Frage beantwortet. Darum ging es ja primär. Die noch offenen Fragen, können ja auch während der Laufzeit der 'DNS-Server' angepasst und verändert werden.

PS:
Ein Curry-Geheimnis ist auch dieses Rezept: Rote Currypaste. Nicht aber deinem Chinamann untreu werden 😉


Gruß

monateng

Ollfried

Anmeldungsdatum:
27. November 2007

Beiträge: 195

Auf dem Slave steht ja in der named.conf.local so etwas:

zone "domain.tld" {
        type slave;
        file "/etc/bind/slave/db.domain.tld";
        masters {
                ip.vom.master.dns;
        };
};

Der Pfad ist eigentlich falsch, slave-files gehören nach /var, aber egal. Jede Zone vom Typ slave ist eine Slave-Zone (sic!) für bind. Er nimmt also zone-transfers und notificatiosn dafür an.

Wenn Du auf dem Master eine Zone änderst und dabei auch die Serial hoch setzt, dann kannst Du die einfach mit "rndc reload domain.tld" die Zone in bind aktualisieren. Der Master sendet daraufhin updates zu seinen Slaves. Vom Slave aus kann man mit "rndc refresh" auch Zonen anfordern, das ist aber normalerweise nicht nötig.

Zu der Currypaste: Hab ich drin, aber nur fertig gekaufte. Koriander, Ingwer und Zitronengras haben mich der Sache näher gebracht, aber Kreuzkümmel habe ich noch nie dafür benutzt, sondern eher nur im Chili. Hmm, mal testen. Und Korianderkörner könnten auch noch was bringen. Danke für den Tip!

monateng

(Themenstarter)
Avatar von monateng

Anmeldungsdatum:
19. April 2007

Beiträge: 1055

Wohnort: Wellerode

Danke für den Hinweis Ollfried,

mein Wunsch war es dem Slave-DNS-Server erst gar nicht mitteilen zu müssen um welche Zonen er sich nun kümmern soll. Ich dachte es würde ausreichen, dem Master-DNS-Server die IP-Addr des Slave-DNS-Servers und umgekehrt mitzuteilen. Für eine Sichere Verbindung ist ja der DNSSEC-Key eingesetzt und somit ist zwischen den beiden Servern eine Authentifizierung zur Validierung der Updates und des Zonentransfer bereits integriert.

Bei einem Zonentransfer unterscheidet man laut Wikipedia zwischen den beiden Verfahren:
AXFR; (Asynchronous Full Transfer Zone)
IXFR; (Inkrementeller Zonentransfer)

Ich kann mir aber nicht vorstellen das größere Provider und Hoster auf all Ihren Slave-DNS-Servern, um neue Domains einstellen zu können, ein manuelles 'rndc refresh' absetzen. Eher kann ich mir vorstellen, dass die größere Provider und Hoster auf Ihrem Master-DNS-Server ein 'rndc reload domain.tld' absetzen. Aber dass eine Information der Zone bereits zuvor auf dem Slave-DNS-Server vorhanden war, halte ich wieder für nicht nötig. Da ja auch diese Information manuell eingepflegt sein müsste. Und ein permanenter realod der DNS-Server wäre die folge.

Edit:
Habe gerade bei einer Suche folgende Infos über DNS BIND Zone Transfers and Updates unter BIND9 gefunden. Mal schauen wie ich nun das letzte 'Problem' noch lösen kann. Schließlich bin ich bei Konfigurationen von Systemen und somit beim aufsetzen des Slave-DNS-Servers Tippfaul . 😉


Gruß

monateng

Antworten |