Zprovoznění DNSSEC na linuxovém serveru - Debian Wheezy + BIND9

Návod jak zprovoznit DNSSEC na linuxovém serveru. Článek shrnuje postup zavedení DNSSEC od vygenerování klíčů pro podpis zóny, její následné podepsání a předání DS záznamů do registru DLV.


Zprovoznění DNSSEC na linuxovém serveru  - Debian Wheezy + BIND9 Štítky:  , , BIND, DNSSEC, ,

    Shrnutí jak zprovoznit DNSSEC na linuxovém serveru (Debian Wheezy, samotný DNS server je pak BIND9) abych to příště nemusel hledat.
Samotný postup vygenerování klíčů a podepsání zóny byl již mnohokrát na internetu uveden, takže nemá cenu jej popisovat znova. Článek tedy pouze odkazuje na návod uvedený na HowtoForge. Na základě tohoto návodu jsou jednotlivé kroky (vygenerování klíčů, podepsání zóny) zautomatizovány pomocí skriptu v BASHi. Nakonec je uveden postup jak přidat DS záznamy do registru DLV.



DNSSEC

DNSSEC je rozšíření systému DNS, které má za úkol zvýšit jeho bezpečnost a zajistit důvěryhodnost údajů získaných z DNS. DNSSEC tedy poskytuje uživatelům jistotu, že informace, které z DNS serveru/záznamů získal, byly poskytnuty správným zdrojem, jsou úplné a jejich integrita nebyla při přenosu narušena. Více informací o DNSSEC naleznete např. na
[1, 2]



Vygenerování klíčů, podepsání zón

Samotný postup vygenerování klíčů již velmi podrobně popsal Falko Timme ve svém článku na HowtoForge
[3].

Jelikož je manuální generování klíčů a následné podepisování zón zdlouhavá práce, vytvořil jsem si k tomuto účelu skript v BASHi - gen-sig-zones.sh. Skript vygeneruje KSK a ZSK klíče pro jednotlivé zóny, které následně podepíše. Zároveň vytvoří konfigurační soubory pro rollerd a donutsd - daemony pro automatické rolování klíčů a automatické testy podepsaných zón.

Po jakékoliv změně v zónovém souboru je nutno zónu znova podepsat. Pro znovu podepsání všech zón slouží skript resign-zones.sh



Přidání DS záznamu do DLV registru

Pokud vaše nadřazená zóna ještě není zabezpečena, nebo váš registrátor domén nepodporuje předání DS záznamu do nadřazené zóny, můžete využít
registru DLV.
DLV registr je podepsaná zóna, která obsahuje záznamy, které suplují neexistující DS záznamy v nadřazené zóně.
Zjednodušeně to celé potom funguje tak, že se revolver nejdříve podívá do nadřazené zóny, zda tato obsahuje DS záznam. Pokud jej tam nenajde, zkusí se podívat do DLV registru. Pokud v registru najde záznam pro doménu, použije jej pro ověření důvěryhodného klíče pro ověřovaný podpis.


Návod na konfiguraci DNS serveru BIND9 naleznete v návodu na stránce DLV [4]. Samotné přidání zóny je pak jednoduché a celým procesem Vás provede průvodce. Postup lze shrnout do několika bodů:
  • Zaregistrovat se
  • Přidat zónu
  • Přidat DNSKEY/DS záznam k zóně. ( DS zjistit getds zone.tld )
  • Přidat vygenerovaný ověřovací TXT záznam do zónového souboru, znova podepsat zónu
  • Počkat až se změny projeví na všech DNS serverech
  • Znova ověřit DNSKEY na dlv.org, nebo počkat až dojde k automatickému ověření

Po dokončení ověřit zabezpečení DNSSEC některým z validátorů, např. [5, 6, 7].

Skripty:


gen-sig-zones.sh :

#!/bin/bash

#
#  gen-sig-zones.sh
#  ver.20130730
#

# Set variables
PATH="/etc/bind/zones";
KEYPATH="/etc/bind/zones-keys";
ROLLFILE="/etc/dnssec-tools/dnssec-tools.rollrec";
CHECKFILE="/etc/bind/checkzones.txt";
ADMIN="domainmaster";  # Set your email prefix ex. domainmaster@tld.com

# Paths to executables
LS="/bin/ls";
RM="/bin/rm";
TOUCH="/bin/touch";
AWK="/usr/bin/awk";
ECHO="/bin/echo";
GREP="/bin/grep";
ZONESIGNER="/usr/sbin/zonesigner";
ROLLINIT="/usr/sbin/rollinit";

# Recreate rollfile and checkfile
$RM -rf $ROLLFILE
$TOUCH $ROLLFILE
$RM -rf $CHECKFILE
$TOUCH $CHECKFILE

# Generate KSK and ZSK for all zones, create rollfile and checkfile
#   - NOsigned zone filenames = "named.zone.tld"
#   - '-l dlv.isc.org' = include DLV record

cd $KEYPATH
for FILE in $( $LS $PATH | $GREP -v ".signed"); do
   ZONE=`$ECHO $FILE | $AWK -F. {' print $2"."$3 '}`
   $ZONESIGNER -szopts '-l dlv.isc.org' -genkeys -usensec3 -zone $ZONE $PATH/$FILE
   $ROLLINIT -zonefile $PATH/$FILE.signed -keyrec $KEYPATH/$ZONE.krf –admin $ADMIN@$ZONE $ZONE >> $ROLLFILE
   $ECHO "$PATH/$FILE.signed       $ZONE      $ADMIN@$ZONE" >> $CHECKFILE
done

# Restart BIND
/etc/init.d/bind9 restart



resign-zones.sh :

#!/bin/bash

#
#  resign-zones.sh
#  ver.20130730
#

# Set variables
PATH="/etc/bind/zones";
KEYPATH="/etc/bind/zones-keys";

# Paths to executables
LS="/bin/ls";
AWK="/usr/bin/awk";
ECHO="/bin/echo";
GREP="/bin/grep";
ZONESIGNER="/usr/sbin/zonesigner";

# Sign zones
#   - NOsigned zone filenames = "named.zone.tld"
#   - '-l dlv.isc.org' = include DLV record

cd $KEYPATH
for FILE in $( $LS $PATH | $GREP -v ".signed"); do
   ZONE=`$ECHO $FILE | $AWK -F. {' print $2"."$3 '}`
   $ZONESIGNER -szopts '-l dlv.isc.org' -zone $ZONE $PATH/$FILE
done

# Restart BIND
/etc/init.d/bind9 restart

Zpět na
vygenerování klíčů a podepsání zón



Odkazy:

[1] – CZ.NIC - O DNSSEC,[online].,,[cit. 2013-08-09], Dostupný na www :
<http://www.nic.cz/dnssec/>

[2] – Seriál DNSSEC a bezpečné DNS - Root.cz,[online].,,[cit. 2013-08-09], Dostupný na www :<http://www.root.cz/serialy/dnssec-a-bezpecne-dns/>

[3] – Configuring DNSSEC On BIND9 (9.7.3) On Debian Squeeze/Ubuntu 11.10 | HowtoForge - Linux Howtos and Tutorials,[online].,,[cit. 2013-08-09], Dostupný na www :<http://www.howtoforge.com/configuring-dnssec-on-bind9-9.7.3-on-debian-squeeze-ubuntu-11.10>, případně na mém lokálním HOWTOs mirror (str.1, str.2, str.3, str.4)

[4] – ISC DLV Registry,[online].,,[cit. 2013-08-09], Dostupný na www :<https://dlv.isc.org/about/using>

[5] – DNSSEC Analyzer,[online].,,[cit. 2013-08-09], Dostupný na www :<http://dnssec-debugger.verisignlabs.com/>

[6] – DNSViz | A DNS visualization tool,[online].,,[cit. 2013-08-09], Dostupný na www :<http://dnsviz.net/>

[7] – DNSSEC Validator,[online].,,[cit. 2013-08-09], Dostupný na www :<http://www.dnssec-validator.cz/>
;  
Vaše názory a komentáře: 1 ;  Zobrazeno: 8924 x ;  Hodnoceno: 0 x

Hodnocení článku: 1 2 3 4 5

Vaše názory a komentáře (1)
Petr KLOSKO
#274: 29.06.2015 ; 17:06:41
V roce 2016 má DLV v plánu přestat přijímat zóny, které mohou být ověřeny k rootu, a bude z DLV odstraňovat všechny zóny, které již k rootu ověřují. V roce 2017 dojde k odstranění všech zón. https://dlv.isc.org/
 

Přidat komentář
Jméno
E-Mail
Zadejte šestou čísici z čísla Zadejte šestou čísici z čísla
Pokud očekáváte odpověď na Vámi vložený komentář, zadejte Váš e-mail.
Vložením komentáře souhlasíte s pravidly.