- Tworzenie pary kluczy
- Umieszczenie kluczy w pliku strefy
- Podpisywanie pliku strefy
- Przykład podpisanej strefy
- Pliki "dsset" i "keyset"
- 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]
|