Sichere Transaktionen können mithilfe von Transaktionssignaturen (TSIGs) durchgeführt werden, die auf gemeinsam genutzten geheimen Schlüsseln (TSIG-Schlüssel) beruhen. In diesem Abschnitt wird die Erstellung und Verwendung solcher Schlüssel beschrieben.
Sichere Transaktionen werden für die Kommunikation zwischen verschiedenen Servern und für die dynamische Aktualisierung von Zonendaten benötigt. Die Zugriffssteuerung von Schlüsseln abhängig zu machen, ist wesentlich sicherer, als sich lediglich auf IP-Adressen zu verlassen.
Erstellen Sie mit dem folgenden Befehl einen TSIG-Schlüssel (genauere Informationen finden Sie unter mandnssec-keygen
):
dnssec-keygen -a hmac-md5 -b 128 -n HOST host1-host2
Dadurch werden zwei Schlüssel mit ungefähr folgenden Namen erstellt:
Khost1-host2.+157+34265.private Khost1-host2.+157+34265.key
Der Schlüssel selbst (eine Zeichenkette, wie beispielsweise ejIkuCyyGJwwuN3xAteKgg==
) ist in beiden Dateien enthalten. Um ihn für Transaktionen zu verwenden, muss die zweite Datei (Khost1-host2.+157+34265.key
) auf den entfernten Host übertragen werden, möglichst auf eine sichere Weise (z. B. über SCP). Auf dem entfernten Server muss der Schlüssel in der Datei /etc/named.conf
enthalten sein, damit eine sichere Kommunikation zwischen host1
und host2
möglich ist:
key host1-host2. { algorithm hmac-md5; secret ";ejIkuCyyGJwwuN3xAteKgg==; };
Dateiberechtigungen von /etc/named.conf | |
---|---|
Vergewissern Sie sich, dass die Berechtigungen von include "filename"
Ersetzen Sie |
Damit Server host1
den Schlüssel für host2
verwenden kann (in diesem Beispiel mit der Adresse 10.1.2.3
), muss die Datei /etc/named.conf
des Servers folgende Regel enthalten:
server 10.1.2.3 { keys { host1-host2. ;}; };
Analoge Einträge müssen in die Konfigurationsdateien von host2
aufgenommen werden.
Fügen Sie TSIG-Schlüssel für alle ACLs (Access Control Lists, Zugriffssteuerungslisten, nicht zu verwechseln mit Dateisystem-ACLs) hinzu, die für IP-Adressen und -Adressbereiche definiert sind, um Transaktionssicherheit zu gewährleisten. Der entsprechende Eintrag könnte wie folgt aussehen:
allow-update { key host1-host2. ;};
Dieses Thema wird eingehender im Referenzhandbuch für BIND-Administratoren (unter update-policy
) erörtert.