www.dns.pl - rejestracja domen internetowych NASK


DNSSEC w akcji

  1. Tworzenie pary kluczy
  2. Umieszczenie kluczy w pliku strefy
  3. Podpisywanie pliku strefy
  4. Przykład podpisanej strefy
  5. Pliki "dsset" i "keyset"
  6. Konfiguracja "trust anchor"

1. Tworzenie pary kluczy

a) generowanie klucza ZSK (Zone Signing Key)


# dnssec-keygen \
> -r /dev/urandom \
> -a RSASHA1 \
> -b 1024 \
> -n ZONE \
> dnssec.pl
Kdnssec.pl.+005+44240

Zawartość pliku Kdnssec.pl.+005+44240.key


# cat Kdnssec.pl.+005+44240.key
dnssec.pl. IN DNSKEY 256 3 5
AQO99gBymVUPXbmgFvVe5K/jVjB7vUqPqS/jXdmdZFsRVzVOMiS/Z+r8
4SlJofJXlbL9zHWu3gNHU0h6p7aGYa2b7OicWMHmlaSGo50MVV/2/XWG
N8g4sQWbWJLZ1v9Ib7re7lIxsmmj9ZCNt8Z9gdEo9OYlwkuMJNiiBiD7
xY/XRw==

Zawartość pliku Kdnssec.pl.+005+44240.private


# cat Kdnssec.pl.+005+44240.private
Private-key-format: v1.2
Algorithm: 5 (RSASHA1)
Modulus: vfYAcplVD125oBb1XuSv41Ywe71Kj6kv413ZnWRbEVc1...
PublicExponent: Aw==
PrivateExponent: fqQATGY4tOkmarn46e3Kl47K/SjcX8Yf7Ok7...
Prime1: 4+gyrtX+DhgbsCBERr/X8tuAUP2+WS7PXx+r6v49b00X3...
Prime2: 1WBh8+ijmWJJtgejlKifgcA+BS3usaPqN+ztTXosMzkhS...
Exponent1: l/AhyeP+tBASdWrYLyqP9z0ANf5+5h806hUdR1Qo9N...
Exponent2: jkBBTUXCZkGGeVptDcW/q9V+rh6fIRfxep3ziPwdd3...
Coefficient: XhXDaESjum+hR7eFUwX8s7TSO4+oK2VrjQAi0ZTI...

b) generowanie klucza KSK (Key Signing Key)


 # dnssec-keygen \
 > -r /dev/urandom \
 > -f KSK \
 > -a RSASHA1 \
 > -b 1024 \
 > -n ZONE \
 > dnssec.pl
 Kdnssec.pl.+005+33612

Zawartość pliku Kdnssec.pl.+005+33612.key


# cat Kdnssec.pl.+005+33612.key
dnssec.pl. IN DNSKEY 257 3 5
AQO+awAlAFkhSgbabKYlb26zA//oxJkGJMETwR2Mp7le7PzHyIgFiqQ4
uCTPgSwruCFHI1oXIp36suR3PTiWj6KCAIZBRDC7s+dWwYdBfTrEX+z2
5DAqQLV6GKrmLIM0bO5f40xda8ap8lPlGBgHgwRNqyrQ44/2768AnDRH
A4Rrzw==

Zawartość pliku Kdnssec.pl.+005+33612.private


# cat Kdnssec.pl.+005+33612.private
Private-key-format: v1.2
Algorithm: 5 (RSASHA1)
Modulus: vmsAJQBZIUoG2mymJW9uswP/6MSZBiTBE8EdjKe5Xuz8...
PublicExponent: Aw==
PrivateExponent: fvIAGKrmFjFZ5vMZbkpJzK1VRdhmBBiAt9YT...
Prime1: 8V+eohc/N9ftZglbOM/jSw8LAAmxWvBpybo14x+ZR5PpS...
Prime2: yfTq3+3mpW1CNxdbmGjLULjtPAHhAWXwx8teP40qnJazS...
Exponent1: oOppwWTUz+VI7rDnezVCMgoHVVvLkfWb29F5QhUQ2m...
Exponent2: hqNHP/PvGPOBeg+SZZsyNdCeKAFAq5lLL9zpf7Nxvb...
Coefficient: vYbk6ynF0WSe7T8IlrGEpQScoD6ZjCzH0K9A8btl...

[powrót] 

2. Umieszczenie kluczy w pliku strefy


@               IN      SOA     stargate.nask.waw.pl.   dnsmaster.nask.pl. (
                                2006070601
                  
                                7200
                                1800
                                2592000
                                3600
                        )
;; ZSK public key, inserted 20060706
$include Kdnssec.pl.+005+44240.key
;; KSK public key, inserted 20060706
$include Kdnssec.pl.+005+33612.key

                IN      NS stargate.nask.waw.pl.
                IN      MX      10 mail.dnssec.pl.

mail            IN      A       193.0.0.1
www             IN      A       193.0.2.2
server          IN      A       193.0.2.3
                IN      A       193.0.2.4
;;
test            IN      NS      stargate.nask.waw.pl.
                IN      NS      server.dnssec.pl.
                IN      NS      ns.test.dnssec.pl.
ns.test.dnssec.pl.      A       10.1.2.3

[powrót] 

3. Podpisywanie pliku strefy


# dnssec-signzone \
> -r /dev/random \
> -o dnssec.pl \
> -k /var/named/Kdnssec.pl.+005+33612.key \
> pl.dnssec \
> /var/named/Kdnssec.pl.+005+44240.key 
pl.dnssec.signed

[powrót] 

4. Przykład podpisanej strefy


# cat pl.dnssec.signed
; File written on Thu Jul 06 12:38:00 2006
; dnssec_signzone version 9.3.2
mail.dnssec.pl.    86400  IN A    193.0.0.1
                   86400  RRSIG   A 5 3 86400 20060809093800 (
                                  20060710093800 44240 dnssec.pl.
                                  hZ8EZF7wo7s50Ud3m7wOprrjHEByX/OA2Q06
                                  zXX0HBKEq7wx9aPf8rL+qq7xt4y4R41Y2+YP
                                  fvGe+KshSBtxCNIInhlcn8AnZ7GuRWgxW3IN
                                  6C9hp96IoJvXYOb11Po0HkVakFJdU+Qt0PSf
                                  6CRGV5jBgc7wE1TjFKfr0R9+DDM= )
                   3600   NSEC    server.dnssec.pl. A RRSIG NSEC
                   3600   RRSIG   NSEC 5 3 3600 20060809093800 (
                                  20060710093800 44240 dnssec.pl.
                                  PkygSBcoxJAdqg9SdCUgcPXOavG5IBZpVXwQ
                                  mCJOUNl04qJAFEgY5u/btv0kx6HQcJmL4+uV
                                  sWp71VQuXzMyFBDdSKktov+GWDpZD/0u54Qt
                                  ukXY2JGpuiFDtFugO9d8GiM4vNrCtC9AfTdb
                                  W+6k0c35SBGgy9pPJjzQXnhspvk= )
server.dnssec.pl.  86400  IN A    193.0.2.3
                   86400  IN A    193.0.2.4
                   86400  RRSIG   A 5 3 86400 20060809093800 (
                                  20060710093800 44240 dnssec.pl.
                                  RUvcfxesZsmYQ2mEGdglf7GTj1kmvtlgIS/p
                                  6ca8LLpkdAptZeaFqP8I69NrhXBXmNKP1JNA
                                  QgUOCvnjjXOAG5UnwvFCQheqf1hj7/qTBIUv
                                  gEu+6my3McQYo00VgWK2ht2sicbw+PKSyc6X
                                  mm82xkEjKADOnzj6aiHd2MGlfkg= )
                   3600   NSEC    test.dnssec.pl. A RRSIG NSEC
                   3600   RRSIG   NSEC 5 3 3600 20060809093800 (
                                  20060710093800 44240 dnssec.pl.
                                  peg2USoCERVhOSGEZ7HAENE6MaRfS8/OteZ9
                                  EvWIew1hjNwi8H7VfjA2QsM2NnGHIBsHGXHz
                                  GragXA8+MHWU8yW2S7QRvChPvpS/GyUiSAbN
                                  Kmpz3hWd9puAu1k+UsxRfd6m3s8xDo0eJ60u
                                  zf0etiAM39Jkjj9kieBCgDie/a4= )
test.dnssec.pl.    86400  IN NS   ns.test.dnssec.pl.
                   86400  IN NS   server.dnssec.pl.
                   86400  IN NS   stargate.nask.waw.pl.
                   3600   NSEC    www.dnssec.pl. NS RRSIG NSEC
                   3600   RRSIG   NSEC 5 3 3600 20060809093800 (
                                  20060710093800 44240 dnssec.pl.
                                  dOvd0forOgSWqwnGzL+J7XZL7o2aXRUU39E6
                                  jZjKSyeJVFPAykQ3HjlGgF7ONHOcBRVm9fQM
                                  em8PpDfTGI8vyUgVmS+6lEj/RA2+3oeaz67d
                                  4R7d9CtZU+RHnLuxGlPt1wldhOjL313X09b4
                                  LG06Fd9En/R1ONRsokuz2AcK5zk= )
ns.test.dnssec.pl. 86400  IN A    10.1.2.3
dnssec.pl.         86400  IN SOA  stargate.nask.waw.pl. dnsmaster.nask.pl. (
                                  2006070601 ; serial
                                  7200       ; refresh (2 hours)
                                  1800       ; retry (30 minutes)
                                  2592000    ; expire (4 weeks 2 days)
                                  3600       ; minimum (1 hour)
                                  )
                   86400  RRSIG   SOA 5 2 86400 20060809093800 (
                                  20060710093800 44240 dnssec.pl.
                                  OE1+QXuBUUz3tTh8P47xtAJiV3uIwRzhKJ9/
                                  ifjelm19TMUuM5JbkkiSBsUBa9Y2R+bFbVMO
                                  jFdp+pzI72YlxJozla21zQcBZQ1JMlEVgQTn
                                  TaaPNJXgpCeo5tNCdf7Yq1oFeEJ2gQMPATFX
                                  +jA46FylNHJp7JbsvfCa0AKFREY= )
                   86400  NS      stargate.nask.waw.pl.
                   86400  RRSIG   NS 5 2 86400 20060809093800 (
                                  20060710093800 44240 dnssec.pl.
                                  HaZKlQXvSZi2VphXExLIvtlpuiMSEe+v6K3G
                                  plYDEMRTHr1/Q5A5QS/6LSG0lhoiGc1r61L3
                                  hhF+2vqMUHuAsD9WRFW3XtEnCCmrAeReXuGp
                                  ZW1EPStM+yh8MC19rozWp/UDbbHzuyNJZsYs
                                  Paurnsq6VoiJoP/CT4wg5UEI8bE= )
                   86400  MX      10 mail.dnssec.pl.
                   86400  RRSIG   MX 5 2 86400 20060809093800 (
                                  20060710093800 44240 dnssec.pl.
                                  Fv/TunNUipXWPmhc29q20IzPVWf2yx3aCLbz
                                  kHZOLTAVD/Fb29Gmdt/mX6NHs1JyG+5yqvvv
                                  Wl+ZMzNYKn4JB0pkD9XA+0sjrn+4HyihNV0v
                                  rExSduXwYw4MGD9Giw0xyUsKvTYG1LpHUzJe
                                  iwDG41N37yfEk0/ug7yuVCGUcm8= )
                   3600   NSEC    mail.dnssec.pl. NS SOA MX RRSIG NSEC DNSKEY
                   3600   RRSIG   NSEC 5 2 3600 20060809093800 (
                                  20060710093800 44240 dnssec.pl.
                                  Gt7HYtaixQQnZV/IpO0RqsQHhi/gSMcX+BbB
                                  +zIfuTjIJuaGVE3YwyqTSMF2VgsY6Tu8pMpr
                                  bj+5JcIBOJmLsiEfywNA21Amg88Tq1haAAbJ
                                  1n7hoSCEPS4JZN/dZ9CfolKwZILw8opZsuTD
                                  oYCgtcTnxyc28C6s4Ia8L4sTQX0= )
                   86400  DNSKEY  256 3 5 (
                                  AQO99gBymVUPXbmgFvVe5K/jVjB7vUqPqS/j
                                  XdmdZFsRVzVOMiS/Z+r84SlJofJXlbL9zHWu
                                  3gNHU0h6p7aGYa2b7OicWMHmlaSGo50MVV/2
                                  /XWGN8g4sQWbWJLZ1v9Ib7re7lIxsmmj9ZCN
                                  t8Z9gdEo9OYlwkuMJNiiBiD7xY/XRw==
                                  ) ; key id = 44240
                   86400  DNSKEY  257 3 5 (
                                  AQO+awAlAFkhSgbabKYlb26zA//oxJkGJMET
                                  wR2Mp7le7PzHyIgFiqQ4uCTPgSwruCFHI1oX
                                  Ip36suR3PTiWj6KCAIZBRDC7s+dWwYdBfTrE
                                  X+z25DAqQLV6GKrmLIM0bO5f40xda8ap8lPl
                                  GBgHgwRNqyrQ44/2768AnDRHA4Rrzw==
                                  ) ; key id = 33612
                   86400  RRSIG   DNSKEY 5 2 86400 20060809093800 (
                                  20060710093800 33612 dnssec.pl.
                                  VgtUMa9cUTOtAj2Ru1iMbMI3r9ZxGixrs4kK
                                  n50v+NgLC0j7EplwFiSjelPCtev6WckR1fas
                                  v720yB+vLPvnLstK58Ikvv93VvLYC410IR3j
                                  ZGH2Ss0AKlI7ZfU8hY4Mga7IkNN527P5eAYh
                                  M0rS69PV1xmlvZu2OX3CyAyv3+w= )
                   86400  RRSIG   DNSKEY 5 2 86400 20060809093800 (
                                  20060710093800 44240 dnssec.pl.
                                  qlpyLO1jr0BCxsgdeiIy60jvncyd5ArAiiU5
                                  ZZxBlo0KWZulL5H/1zDaFxu71CkD4x3r86B1
                                  SY5sken1qMSwZKOs3iy8uSxhXDMygbhVojAK
                                  NBlVeLU6Q665sO5qpKPw4ejyU0kj97cJEkOO
                                  TzNsTdSoRrprSJxBUahJteozx+M= )
www.dnssec.pl.     86400  IN A    193.0.2.2
                   86400  RRSIG   A 5 3 86400 20060809093800 (
                                  20060710093800 44240 dnssec.pl.
                                  nPris/xw6LPKBAcGaqCm6rZ7+9lZwnbXAs6y
                                  sHFCbKp0y/ZDSXivIwv16peJ86TTh9CBKY5r
                                  mvxvTbnmHf9JGxZnR8YhvxjiYsihp2rdXBvD
                                  b8Weih/A8MR+LRBtjSVgbDH8L2z7lMF/sKek
                                  +Chy81MEjmhomiqjp83BuRcu934= )
                   3600   NSEC    dnssec.pl. A RRSIG NSEC
                   3600   RRSIG   NSEC 5 3 3600 20060809093800 (
                                  20060710093800 44240 dnssec.pl.
                                  qYhHnssNxWjBzUR33P09iR8JmmQm32naNair
                                  euqhyQYztqq9d9dczkOPck5HOQ870Qr08OOg
                                  dksadc85DzA55ZWVGF8drzdQ7/OtHOiQ27ce
                                  RX+kM+7+IqmEvAYM4F6lzmBytBva1/qrd4JQ
                                  e3oChyK55rE3+RgDa3PMa9QU8U0= )

[powrót] 

5. Narzędzie dnssec-signzone podczas podisywania strefy generuje dwa pliki: dsset-<domena>. oraz keyset-<domena>. Plik "dsset" zawiera rekordy DS odnoszące się do kluczy KSK opublikowanych w strefie. Plik "keyset" zawiera klucz KSK opublikowany w strefie.

Zawartość pliku "dsset"


 # cat dsset-dnssec.pl.
 dnssec.pl.              IN DS 33612 5 1
 8407ED418EB46545A63B57F1B2DA07F3B63B4B11

Zawartość pliku "keyset"


# cat keyset-dnssec.pl.
$ORIGIN .
dnssec.pl               3600    IN DNSKEY 257 3 5 (
                                        AQO+awAlAFkhSgbabKYlb26zA//oxJkGJMET
                                        wR2Mp7le7PzHyIgFiqQ4uCTPgSwruCFHI1oX
                                        Ip36suR3PTiWj6KCAIZBRDC7s+dWwYdBfTrE
                                        X+z25DAqQLV6GKrmLIM0bO5f40xda8ap8lPl
                                        GBgHgwRNqyrQ44/2768AnDRHA4Rrzw==
                                        ) ; key id = 33612

[powrót] 

6. Resolver weryfikujący rekordy DNSSEC musi zostać w tym celu odpowiednio skonfigurowany. W pliku konfiguracyjnym musi znajdować się przynajmniej jeden klucz publiczny dla danej strefy (najlepszym w tym wypadku kluczem, będzie klucz publiczny strefy root "."). Przykładowa konfiguracja dla serwera BIND znajduję się poniżej.

UWAGA Żaden z poniższych kluczy nie jest prawidłowym kluczem dla danej strefy.

Wycinek pliku konfiguracyjnego


trusted-keys {

        /* Klucz strefy root "." */
"." 257 3 3 "BNY4wrWM1nCfJ+CXd0rVXyYmobt7sEEfK3clRbGaTwSJxrGkxJWoZu6I7PzJu/
             E9gx4UC1zGAHlXKdE4zYIpRhaBKnvcC2U9mZhkdUpd1Vso/HAdjNe8LmMlnzY3
             zy2Xy4klWOADTPzSv9eamj8V18PHGjBLaVtYvk/ln5ZApjYghf+6fElrmLkdaz
             MQ2OCnACR817DF4BBa7UR/beDHyp5iWTXWSi6XmoJLbG9Scqc7l70KDqlvXR3M
             /lUUVRbkeg1IPJSidmK3ZyCllh4XSKbje/45SKucHgnwU5jefMtq66gKodQj+M
             iA21AfUVe7u99WzTLzY3qlxDhxYQQ20FQ97S+LKUTpQcq27R7AT3/V5hRQxScI
             Nqwcz4jYqZD2fQdgxbcDTClU0CRBdiieyLMNzXG3";

/* Klucz strefy której ufamy (island of security) */
example.com. 257 3 5 "AwEAAaxPMcR2x0HbQV4WeZB6oEDX+r0QM65KbhTjrW1ZaARmPhEZZe
                      3Y9ifgEuq7vZ/zGZUdEGNWy+JZzus0lUptwgjGwhUS1558Hb4JKUbb
                      OTcM8pwXlj0EiX3oDFVmjHO444gLkBO UKUf/mC7HvfwYH/Be22GnC
                      lrinKJp1Og4ywzO9WglMk7jbfW33gUKvirTHr25GL7STQUzBb5Usxt
                      8lgnyTUHs1t3JwCY5hKZ6CqFxmAVZP20igTixin/1LcrgX/KMEGd/b
                      iuvF4qJCyduieHukuY3H4XMAcR+xia2 nIUPvm/oyWR8BW/hWdzOvn
                      SCThlHf3xiYleDbt/o1OTQ09A0=";

/* Klucz dla strefy odwrotnej */
2.0.192.IN-ADDRPA.NET. 257 3 5 "AQOnS4xn/IgOUpBPJ3bogzwcxOdNax071L18QqZnQQQA
                                VVr+iLhGTnNGp3HoWQLUIzKrJVZ3zggy3WwNT6kZo6c0
                                tszYqbtvchmgQC8CzKojM/W16i6MG/ea fGU3siaOdS0
                                yOI6BgPsw+YZdzlYMaIJGf4M4dyoKIhzdZyQ2bYQrjyQ
                                4LB0lC7aOnsMyYKHHYeRv PxjIQXmdqgOJGq+vsevG06
                                zW+1xgYJh9rCIfnm1GX/KMgxLPG2vXTD/RnLX+D3T3UL
                                7HJYHJhAZD5L59VvjSPsZJHeDCUyWYrvPZesZDIRvhDD
                                52SKvbheeTJUm6EhkzytNN2SN96QRk8j/iI8ib";
};

options {
        ...
        dnssec-enable yes;
        dnssec-validation yes;
};

[powrót]