project:dns-axfr-tsig
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
project:dns-axfr-tsig [2016/11/09 19:34] – created 37.209.107.175 | project:dns-axfr-tsig [2016/11/16 10:52] (current) – 37.209.107.175 | ||
---|---|---|---|
Line 37: | Line 37: | ||
< | < | ||
- | allow-transfer { !{ !10.0.0.1; any; }; key " | + | allow-transfer { !{ !10.0.0.1; any; }; key " |
</ | </ | ||
Das ist grob die syntaktisch etwas verbastelte Ansage: | Das ist grob die syntaktisch etwas verbastelte Ansage: | ||
- | "Sperre (!), was die folgende Bedingung erfüllt: | + | |
- | NICHT (!) 10.0.0.1 | + | Sperre (!), was die folgende Bedingung erfüllt: |
- | oder | + | NICHT (!) 10.0.0.1 |
- | beliebig (any) | + | oder |
- | " | + | beliebig (any) |
+ | |||
Damit werden alle Requests abgewiesen, die NICHT 10.0.0.1 entsprechen, | Damit werden alle Requests abgewiesen, die NICHT 10.0.0.1 entsprechen, | ||
ohne fuer 10.0.0.1 eine Entscheidung getroffen zu haben. | ohne fuer 10.0.0.1 eine Entscheidung getroffen zu haben. | ||
Anschließend kann der Request bei passendem Key verifiziert werden, | Anschließend kann der Request bei passendem Key verifiziert werden, | ||
womit die gewünschte AND-Verknüpfung erreicht ist. | womit die gewünschte AND-Verknüpfung erreicht ist. | ||
+ | |||
+ | Für ausschliesslichen TSIG-Betrieb ist das ausreichend. | ||
+ | |||
+ | === Alternative Authorisierung mit TSIG oder IP-Adresse === | ||
+ | |||
+ | Soll parallel ebenfalls mit nur der IP-Adresse des Clients | ||
+ | authorisiert werden koennen, ergeben sich zwei Moeglichkeiten: | ||
+ | |||
+ | * die zur Authorisierung hinreichenden IP-Adressen werden vorgenannt: | ||
+ | |||
+ | < | ||
+ | allow-transfer { | ||
+ | 10.0.1.1; | ||
+ | 2000: | ||
+ | !{ !10.0.0.1; any; }; key " | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | * der Ausdruck fuer den Key wird gekapselt: | ||
+ | |||
+ | < | ||
+ | allow-transfer { | ||
+ | { !{ !10.0.0.1; any; }; key " | ||
+ | 10.0.1.1; | ||
+ | 2000: | ||
+ | }; | ||
+ | </ | ||
+ | |||
+ | === Authorisierung fuer mehrere IP-Adressen mit dem selben Key === | ||
+ | |||
+ | < | ||
+ | allow-transfer { | ||
+ | !{ !10.0.0.1; !10.0.0.2; any; }; key " | ||
+ | }; | ||
+ | </ | ||
==== Namen der Schlüssel ==== | ==== Namen der Schlüssel ==== | ||
Line 74: | Line 111: | ||
Ich habe mich schließlich entschieden für das Schema: | Ich habe mich schließlich entschieden für das Schema: | ||
< | < | ||
- | k..< | + | k..< |
+ | </ | ||
+ | für einzelne Secondary-DNS bzw. für multiple Secondaries: | ||
+ | < | ||
+ | k.<mydnsfqdn> | ||
</ | </ | ||
+ | |||
+ | Das Trennstring "< | ||
===== Erzeugen und Ausrollen der TSIG Keys ===== | ===== Erzeugen und Ausrollen der TSIG Keys ===== | ||
+ | |||
+ | ** Dies sind Notizen, die ich waehrend der Einrichtung gemacht habe, ** | ||
+ | ** diese sind nicht unbedingt korrekt oder vollstaendig! | ||
+ | |||
+ | Auf dem Primary DNS: | ||
+ | |||
+ | < | ||
+ | AXFRSERVER=" | ||
+ | AXFRSERVERIPS=" | ||
+ | AXFRCLIENT=" | ||
+ | AXFRCLIENTIPS=" | ||
+ | KEYID=" | ||
+ | echo $KEYID | ||
+ | |||
+ | DIR=$( mktemp -d / | ||
+ | ls -ld $DIR | ||
+ | cd $DIR | ||
+ | KEYFILENAME=$( | ||
+ | dnssec-keygen -a HMAC-SHA512 -b 512 -n HOST -r / | ||
+ | ) | ||
+ | echo $KEYFILENAME | ||
+ | KEY=$( | ||
+ | awk '$1 == " | ||
+ | ) | ||
+ | echo $KEY | ||
+ | cd - | ||
+ | rm -rf " | ||
+ | |||
+ | touch / | ||
+ | vo -o / | ||
+ | cat << EOF > / | ||
+ | key " | ||
+ | | ||
+ | | ||
+ | }; | ||
+ | // only the secondary needs those | ||
+ | // but so we have one file generated for both roles | ||
+ | EOF | ||
+ | for i in $AXFRSERVERIPS ; do | ||
+ | cat << EOF >> / | ||
+ | //#server $i { | ||
+ | //# keys { " | ||
+ | //#}; | ||
+ | EOF | ||
+ | done | ||
+ | cat / | ||
+ | vo -i / | ||
+ | |||
+ | vo / | ||
+ | +include "/ | ||
+ | |||
+ | vo / | ||
+ | acl zone-xfer-allowed { | ||
+ | +{ !{ | ||
+ | + !10.1.0.1; | ||
+ | + !10.2.0.1; | ||
+ | + !10.3.0.1; | ||
+ | + any; // catchall | ||
+ | +}; key " | ||
+ | |||
+ | # load new config: | ||
+ | rndc reconfig | ||
+ | |||
+ | </ | ||
+ | |||
+ | Auf den Secondary DNS: | ||
+ | |||
+ | * Kopieren der Datei / | ||
+ | |||
+ | < | ||
+ | AXFRSERVER=" | ||
+ | AXFRCLIENT=" | ||
+ | KEYID=" | ||
+ | echo $KEYID | ||
+ | |||
+ | vo -o / | ||
+ | sed -i ' | ||
+ | vo -i / | ||
+ | |||
+ | vo / | ||
+ | +include "/ | ||
+ | |||
+ | # load new config: | ||
+ | rndc reconfig | ||
+ | |||
+ | </ | ||
project/dns-axfr-tsig.1478716490.txt.gz · Last modified: 2016/11/09 19:34 by 37.209.107.175