DNSSEC Vortrag

Zone Erzeugen

Erst die unsignierten Zonen erstellen. lugs.dnssec.durchmesser.ch.db

$TTL 90
@       IN      SOA     deeppurple.durchmesser.ch. hostmaster.durchmesser.ch. (
                                2008040801 ; Serial
                                10800   ; Refresh
                                3600    ; Retry
                                604800  ; Expire
                                86400 ) ; Minimum

        IN NS   deeppurple.durchmesser.ch.
        IN NS   oasis.durchmesser.ch.

sub     IN NS   deeppurple.durchmesser.ch.
        IN NS   deeppurple.durchmesser.ch.

localhost       IN A    127.0.0.1
                IN AAAA ::1

hosta           IN A    127.0.0.2
                IN AAAA ::2

hostb           IN A    127.0.0.3
                IN AAAA ::3

hostc           IN A    127.0.0.4
                IN AAAA ::4

sub.lugs.dnssec.durchmesser.ch.db

$TTL 90
@       IN      SOA     deeppurple.durchmesser.ch. hostmaster.durchmesser.ch. (
                                2008040801 ; Serial
                                10800   ; Refresh
                                3600    ; Retry
                                604800  ; Expire
                                86400 ) ; Minimum

        IN NS   deeppurple.durchmesser.ch.
        IN NS   oasis.durchmesser.ch.

localhost       IN A    127.0.0.1
                IN AAAA ::1

hosta           IN A    127.0.0.2
                IN AAAA ::2

hostb           IN A    127.0.0.3
                IN AAAA ::3

hostc           IN A    127.0.0.4
                IN AAAA ::4

Und in der named.conf eintragen.

zone "lugs.dnssec.durchmesser.ch" IN {
        type master;
        file "pri2/lugs.dnssec.durchmesser.ch.db";
        notify yes;
};

zone "sub.lugs.dnssec.durchmesser.ch" IN {
        type master;
        file "pri2/sub.dnssec.durchmesser.ch.db";
        notify yes;
};

Keys Erzeugen

Erst die KSK und ZSK für die beiden Zonen erzeugen.

$ dnssec-keygen -f KSK -n ZONE -a DSA -b 1024 lugs.dnssec.durchmesser.ch
Klugs.dnssec.durchmesser.ch.+003+06929
$ dnssec-keygen -n ZONE -a RSASHA1 -b 512 lugs.dnssec.durchmesser.ch
Klugs.dnssec.durchmesser.ch.+005+07278
$ dnssec-keygen -f KSK -n ZONE -a DSA -b 1024 sub.lugs.dnssec.durchmesser.ch
Ksub.lugs.dnssec.durchmesser.ch.+003+29684
$ dnssec-keygen -n ZONE -a RSASHA1 -b 512 sub.lugs.dnssec.durchmesser.ch
Ksub.lugs.dnssec.durchmesser.ch.+005+29961
$ ls
Klugs.dnssec.durchmesser.ch.+003+06929.key
Klugs.dnssec.durchmesser.ch.+003+06929.private
Klugs.dnssec.durchmesser.ch.+005+07278.key
Klugs.dnssec.durchmesser.ch.+005+07278.private
Ksub.lugs.dnssec.durchmesser.ch.+003+29684.key
Ksub.lugs.dnssec.durchmesser.ch.+003+29684.private
Ksub.lugs.dnssec.durchmesser.ch.+005+29961.key
Ksub.lugs.dnssec.durchmesser.ch.+005+29961.private
lugs.dnssec.durchmesser.ch.db
sub.lugs.dnssec.durchmesser.ch.db

Und anschliessend in die Zonen files einfügen.

$ cat Klugs.dnssec.durchmesser.ch.*.key
lugs.dnssec.durchmesser.ch. IN DNSKEY 257 3 3 CPLFPM2HhkdiM5MC3+T31QupR68lmgsWsqTusl/VuU...wuf/00gvRTl
lugs.dnssec.durchmesser.ch. IN DNSKEY 256 3 5 AwEAAd9ZEo+PBVDsoU+HJCL1Kg0PiTt/NxEPmwz2a0...gZVK0oBmZU=
$ cat Ksub.lugs.dnssec.durchmesser.ch.*.key
sub.lugs.dnssec.durchmesser.ch. IN DNSKEY 257 3 3 CP1o1K1sWQT//kJgqYOnOMX3isOl0fR5zO868/xfNn...hffEaNqJjmj
sub.lugs.dnssec.durchmesser.ch. IN DNSKEY 256 3 5 AwEAAc19do/XjbbOWZXORRfFObXiqjH0KZBdYoqUSx...wcDCBTpmkk=

lugs.dnssec.durchmesser.ch.db

...
        IN NS   deeppurple.durchmesser.ch.
        IN NS   oasis.durchmesser.ch.

        IN DNSKEY 257 3 3 CPLFPM2HhkdiM5MC3+T31QupR68lmgsWsqTusl/VuU...wuf/00gvRTl
        IN DNSKEY 256 3 5 AwEAAd9ZEo+PBVDsoU+HJCL1Kg0PiTt/NxEPmwz2a0...gZVK0oBmZU=

sub     IN NS   deeppurple.durchmesser.ch.
        IN NS   deeppurple.durchmesser.ch.
...

sub.lugs.dnssec.durchmesser.ch.db

...
        IN NS   deeppurple.durchmesser.ch.
        IN NS   oasis.durchmesser.ch.

        IN DNSKEY 257 3 3 CP1o1K1sWQT//kJgqYOnOMX3isOl0fR5zO868/xfNn...hffEaNqJjmj
        IN DNSKEY 256 3 5 AwEAAc19do/XjbbOWZXORRfFObXiqjH0KZBdYoqUSx...wcDCBTpmkk=

localhost       IN A    127.0.0.1
                IN AAAA ::1
...

Signieren

Erst die Subzone

$ dnssec-signzone -g -o sub.lugs.dnssec.durchmesser.ch -a -t sub.lugs.dnssec.durchmesser.ch.db Ksub.lugs.dnssec.durchmesser.ch.+00*
sub.lugs.dnssec.durchmesser.ch.db.signed
Signatures generated:                       18
Signatures retained:                         0
Signatures dropped:                          0
Signatures successfully verified:           18
Signatures unsuccessfully verified:          0
Runtime in seconds:                      0.129
Signatures per second:                 139.455

Dies erzeugt die signierte Zone, sowie ein dsset und ein keyset file.

$ ls
Klugs.dnssec.durchmesser.ch.+003+06929.key
Klugs.dnssec.durchmesser.ch.+003+06929.private
Klugs.dnssec.durchmesser.ch.+005+07278.key
Klugs.dnssec.durchmesser.ch.+005+07278.private
Ksub.lugs.dnssec.durchmesser.ch.+003+29684.key
Ksub.lugs.dnssec.durchmesser.ch.+003+29684.private
Ksub.lugs.dnssec.durchmesser.ch.+005+29961.key
Ksub.lugs.dnssec.durchmesser.ch.+005+29961.private
dsset-sub.lugs.dnssec.durchmesser.ch.
keyset-sub.lugs.dnssec.durchmesser.ch.
lugs.dnssec.durchmesser.ch.db
sub.lugs.dnssec.durchmesser.ch.db
sub.lugs.dnssec.durchmesser.ch.db.signed

sub.lugs.dnssec.durchmesser.ch.db.signed - Die Signierte Zone

; File written on Wed Apr 30 14:44:28 2008
; dnssec_signzone version 9.4.1-P1
sub.lugs.dnssec.durchmesser.ch.	90 IN SOA deeppurple.durchmesser.ch. hostmaster.durchmesser.ch. (
					2008040801 ; serial
					10800      ; refresh (3 hours)
					3600       ; retry (1 hour)
					604800     ; expire (1 week)
					86400      ; minimum (1 day)
					)
			90	RRSIG	SOA 5 5 90 20080530114428 (
					20080430114428 29961 sub.lugs.dnssec.durchmesser.ch.
					udWxMStOPp143eocvM/M2Hw1OKx42LZIazR3
					uxzzZ7wjtKtB4H79CgO/Yw1AbyXPsFK9fJgL
					/k6cSDWTDc1dxA== )
			90	NS	deeppurple.durchmesser.ch.
			90	NS	oasis.durchmesser.ch.
			90	RRSIG	NS 5 5 90 20080530114428 (
					20080430114428 29961 sub.lugs.dnssec.durchmesser.ch.
					neOq1969ik7fMWQSvyxupJCeP9C8ZAElA4R1
					RokOZO5d09WDpLJmOTdHsR9XAT1OREWsgFbU
...

dsset-sub.lugs.dnssec.durchmesser.ch. - DS-RRs zum erzeugen der Chain of Trust

sub.lugs.dnssec.durchmesser.ch.	IN DS 29684 3 1 5E0D55AC9CEC3B26444AAE5EF5FA7E4E3C35BFCF
sub.lugs.dnssec.durchmesser.ch.	IN DS 29684 3 2 C46F2567007E8C4AF08B0DDFE63D0D8441B8A61052DEC9821852809F D47A2796
sub.lugs.dnssec.durchmesser.ch.	IN DS 63775 3 1 F758B0B826D34D24005FECB144DB31B89871B470
sub.lugs.dnssec.durchmesser.ch.	IN DS 63775 3 2 BA1133DCFD93CBB2C16B9712F605C87EBA7520E8E2DFB37EDCB10ACC 84739CE6

keyset-sub.lugs.dnssec.durchmesser.ch. - DNSKEY-RRs fuer die Zone

$ORIGIN .
sub.lugs.dnssec.durchmesser.ch 86400 IN	DNSKEY 257 3 3 (
					CP1o1K1sWQT//kJgqYOnOMX3isOl0fR5zO86
					...
					a6XGtvUucjyWHnP+Ld/286a55hffEaNqJjmj
					) ; key id = 29684
			86400	IN DNSKEY 257 3 3 (
					CNEpH6FqNnOEuq28m4fGNbw7jZ9nkYV7Rqm4
					...
					xpXTd12w+7in2FbFP5FgwwU2bC4PmVXir1eG
					YTFToABfuZTgtWUICrs6FqEFbWhZVBFFylV3
					) ; key id = 63775

Danach die Zone selbst signieren. Dabei werden die DS-RRs fuer sub aus dem keyset files erzeugt.

$ dnssec-signzone -g -o lugs.dnssec.durchmesser.ch -a -t lugs.dnssec.durchmesser.ch.db Klugs.dnssec.durchmesser.ch.+00*
lugs.dnssec.durchmesser.ch.db.signed
Signatures generated:                       19
Signatures retained:                         0
Signatures dropped:                          0
Signatures successfully verified:           19
Signatures unsuccessfully verified:          0
Runtime in seconds:                      0.096
Signatures per second:                 197.869

Signierten Zonen laden

Die named.conf barabeiten.

zone "lugs.dnssec.durchmesser.ch" IN {
        type master;
        file "pri2/lugs.dnssec.durchmesser.ch.db.signed";
        notify yes;
};

zone "sub.lugs.dnssec.durchmesser.ch" IN {
        type master;
        file "pri2/sub.dnssec.durchmesser.ch.db.signed";
        notify yes;
};

Bilder

Links