DNSSEC включаем в BIND-e
Создаем каталог для хранения ключей и переходим в него:
# cd /var/name && mkdir keys && cd keys
Генерируем мастер ключ (KSK):
# dnssec-keygen -f KSK -a RSASHA256 -b 2048 -n ZONE -r /dev/urandom tst-amo.net.ua
- -f KSK — флаг о формировании мастер ключа;
- -a RSASHA256 — используемый алгоритм шифрования;
- -b 2048 — размер ключа в битах;
- -n ZONE — для DNS-зоны;
- -r /dev/urandom — путь к файлу со случайными данными;
- tst-amo.net.ua — домен, для которого предназначен ключ
Генерируем ключ для зоны (ZSK):
# dnssec-keygen -a RSASHA1 -b 2048 -n ZONE -r /dev/urandom tst-amo.net.ua
Меняем владельца:
# chown -R named:named /var/named/keys
Так как DNSSEC основан на обеспечении цепочки доверия, чтобы процесс верификации заработал, требуется чтобы регистратор заверил созданный KSK-ключ, подтвердив своё доверие. Для этого создадим на основе KSK-ключа DSKEY-ключ (Delegation Signature Key)
# dnssec-dsfromkey Ktst-amo.net.ua.+008+22218 tst-amo.net.ua. IN DS 22218 8 1 CDB052AE305815F96068F4FCEB57FD9BD47D7470 tst-amo.net.ua. IN DS 22218 8 2 578D09B53ADE8A9AE6410DEA8631BFAF2AE570F6E4E0CED88703D76BD9D7BEAE
Далее необходимо добавить DS-записи в панели регистратора домена. Они были сгенерированы при выполнении dnssec-signzone и находятся в файле dsset-my-domain в таком виде:
Значения полей в DS-записи:
86400 — TTL данной записи 22218 — Key Tag 8 — Algorithm 1 и 2 — Digest Type
В приведенном выше примере при генерации ключей был использован алгоритм RSA-SHA1, поэтому запись имеет номер 8.
Таблица номеров алгоритмов:
Number | Algorithm |
---|---|
1 | RSAMD5 |
2 | DH |
3 | DSA/SHA1 |
4 | ECC |
5 | RSA/SHA-1 |
6 | DSA-NSEC3-SHA1 |
7 | RSASHA1-NSEC3-SHA1 |
8 | RSA/SHA-256 |
9 | — |
10 | RSA/SHA-512 |
11 | — |
12 | ГОСТ Р 34.10-2001 |
Digest Type в приведенном примере у первой записи равен 1, во второй 2.
Таблица номеров Digest Type:
Number | Digest Type |
---|---|
1 | SHA-1 |
2 | SHA-256 |
3 | SHA-512 |