Sichere Transaktionen kann man mithilfe der „Transaction SIGnatures“ (TSIG) verwirklichen. Dafür kommen Transaktionsschlüssel (engl. Transaction Keys) und -signaturen (engl. Transaction Signatures) zum Einsatz, deren Erzeugung und Verwendung in diesem Abschnitt beschrieben wird.
Benötigt werden sichere Transaktionen bei der Kommunikation von Server zu Server und für dynamische Aktualisierungen der Zonendaten. Eine auf Schlüsseln basierende Zugriffskontrolle bietet dafür eine weit größere Sicherheit als eine Kontrolle, die auf IP-Adressen basiert.
Ein Transaktionsschlüssel kann mit folgendem Kommando erzeugt werden (für
mehr Informationen vgl. die Manualpage von
man dnssec-keygen):
dnssec-keygen -a hmac-md5 -b 128 -n HOST host1-host2
Es entstehen dadurch zwei Dateien mit beispielsweise folgenden Namen:
Khost1-host2.+157+34265.private Khost1-host2.+157+34265.key
Der Schlüssel ist in beiden Dateien enthalten (z.B.
ejIkuCyyGJwwuN3xAteKgg==). Zur weiteren Verwendung
sollte Khost1-host2.+157+34265.key auf sicherem Wege
(zum Beispiel mit scp) auf den entfernten Rechner
übertragen und dort in der /etc/named.conf eingetragen
werden, um eine sichere Kommunikation zwischen host1 und
host2 zu bewirken:
key host1-host2. {
algorithm hmac-md5;
secret ";ejIkuCyyGJwwuN3xAteKgg==;
};![]() | Zugriffsrechte von /etc/named.conf |
|---|---|
Achten Sie darauf, dass die Zugriffsrechte auf
| |
Damit auf dem Server host1
der Schlüssel für host2 mit der
Beispielsadresse 192.168.2.3
verwendet wird, muss auf dem Server in der
/etc/named.conf eingetragen werden:
server 192.168.2.3 {
keys { host1-host2. ;};
};
In den Konfigurationsdateien von host2
müssen entsprechende Einträge vorgenommen werden.
Zusätzlich zu den ACLs auf Basis von IP-Adressen und Adressbereichen, soll man, um sichere Transaktionen auszuführen, TSIG-Schlüssel hinzufügen; ein Beispiel dafür kann so aussehen:
allow-update { key host1-host2. ;};
Mehr dazu findet man im BIND Administrator Reference
Manual unter update-policy.