Jak zprovoznit DNSSEC

Zprovoznění DNSSEC na vlastním serveru

Pro zprovoznění DNSSEC je potřeba provést na svém rekurzivním DNS serveru dva kroky:

  • zapnutí DNSSEC validace
  • konfigurace bodu důvěry. To se provede nastavením klíče nebo otisku klíče jenž je vrcholem řetězce důvěry pro všechny ověřované záznamy. Příslušný klíč je možné získat z přímo z DNS, pro ověření jeho pravosti publikuje správce příslušné domény otisky tohoto klíče (DS záznamy) na svých stránkách. Pro doménu .cz a doménu 0.2.4.e164.arpa je tímto bodem důvěry klíč kořenové zóny, jehož pravost je možné ověřit přes webové stránky organizace IANA .

Pro servery BIND a UNBOUND se zapnutí DNSSEC validace přes klíč kořenové domény provede následujícím způsobem (pro doménu e164.arpa je to stejné, jen je třeba použít jiný klíč).

BIND

Zapnutí DNSSEC a DNSSEC validace se provede přidáním dvou konfiguračních řádků do sekce options v named.conf:

options {
  ...
  dnssec-enable yes;
  dnssec-validation auto;
  managed-keys-directory "/var/lib/named/dyn/"; 
  ...
};

Konfigurace bodu důvěry pro kořenovou zónu je možné provést dvěma způsoby. Pokud máte již BIND-9.7 vložte do konfigurace následující text:

managed-keys {
  "." initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
  FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD 
  X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS 
  Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=";
};

Tím zajistíte automatickou aktualizaci klíče v případě, že bude DNSSEC klíč změněn mechanismem popsaným v RFC5011. Při výměně klíče tak nebude nutný žádný zásah do konfigurace DNS serveru.

Pokud máte starší verzi BIND-9.6 vložte do konfigurace následující text:

trusted-keys {
 "." 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
 FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD 
 X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS 
 Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=";
};

UNBOUND

Unbound ve standardním nastavení již má zapnutou podporu pro technologii DNSSEC. Pro konfiguraci pevného bodu důvěry můžete použít celkem tři způsoby konfigurace:

trust-anchor-file: <soubor>

Soubor s důvěrodnými klíči ve formátu standardního zónového souboru. V souboru můžou být buď DS nebo DNSKEY záznamy. Pro kořenovou doménu bude mít soubor následující obsah:

.           86400   IN  DNSKEY  257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD 
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS 
Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=

Další varianta je klíč vložit rovnou do konfiguračního souboru:

trust-anchor: <"Resource Record">

Klíč musí být v uvozovkách a na jednom řádku. Tato konfigurační volba může být uvedena v konfiguračním souboru vícekrát:

trust-anchor: ".            86400   IN  DNSKEY  257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD 
X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS 
Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0="

Poslední způsob používá formát souboru, který je kompatibilní s formátem pro DNS server BIND 9.

trusted-keys-file: <soubor>

Soubor bude obsahovat pouze sekci "trusted-keys:" stejně jako kdybyste konfigurovali server BIND:

trusted-keys {
 "." 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF
 FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD 
 X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS 
 Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=";
};