Instalación DNSSEC-Tools CentOS

DNSSEC-Tools son un conjunto de aplicaciones, extensiones y plugins cuyo fin es hacer más sencillas las tareas a realizar en un servidor DNS con DNSSEC, como por ejemplo firmar zonas, actualizaciones, generación de llaves, etc.

En Fedora, puede instalarse directamente vía YUM:

yum install dnssec-tools dnssec-tools-libs dnssec-tools-perlmods

Y para instalar los paquetes de desarrollo:

yum install dnssec-tools-libs-devel dnssec-tools-debuginfo

Yo en CentOS lo instalé compilando a mano, el proceso es el siguiente, podéis descargar las sources de la web de dnssec-tools:

Primero instalaremos unos módulos de perl necesarios:

perl -MCPAN -e shell
     cpan>  install Net::DNS 
     cpan>  install Net::DNS::SEC 
     cpan>  install Text::Wrap 
     cpan>  install  Date::Parse       

Necesitaremos también los compiladores para compilar dnssec-tools:

yum install gcc

Y openssl:

yum install openssl.i686 openssl-devel 

Ahora compilamos con:

./configure
make
make install

A la hora de hacer el configure nos pedirá unas cuantas rutas a ficheros, como el named.ca, resolv.,conf, etc. Una vez compilado, la primera vez tenemos que ejecutar un asistente de configuración (lo que hace es configurar el fichero /usr/local/etc/dnssec-tools/dnssec-tools.conf):

dtinitconf

Si el fichero existe habrá que sobreescribirlo:

 dtinitconf -overwrite

Y el proceso del asistente es algo similar a esto:

Path-related Options: 
	These directories contain BIND programs: 
		/usr/local/sbin 
		/usr/sbin 

	BIND directory [/usr/local/sbin]:  /usr/sbin/named 

	Image Display Program [/usr/X11R6/bin/xview]:  
 
	Checking validity of paths: 
		BIND's named_checkzone (/usr/sbin/named/named-checkzone) does not exist 
		BIND's dnssec_keygen (/usr/sbin/named/dnssec-keygen) does not exist 
		BIND's dnssec_signzone (/usr/sbin/named/dnssec-signzone) does not exist 
		Image display program (/usr/X11R6/bin/xview) does not exist 
	 
	At least one path did not exist. 
	Would you like to try again?   [yes]:  yes 

Path-related Options: 
	These directories contain BIND programs: 
		/usr/local/sbin 
		/usr/sbin 

	BIND directory [/usr/local/sbin]:  /usr/sbin 

	Image Display Program [/usr/X11R6/bin/xview]:  

	Checking validity of paths: 
		Image display program (/usr/X11R6/bin/xview) does not exist 
	 
	At least one path did not exist. 
	Would you like to try again?   [yes]:  no 


Key-related Options: 
	Encryption Algorithm [rsasha1]:  rsasha1 
	Random-number Generator [/dev/urandom]:  /dev/urandom 
	KSK Length (in bits) [2048]:  2048 
	KSK Lifespan (in seconds) [15552000]:  15552000 
	ZSK Length (in bits) [1024]:  1024 
	ZSK Lifespan (in seconds) [604800]:  604800 
	ZSK Count [1]:  1 

Zone-related Options: 
	End-time [+2592000]:  2592000 

DNSSEC-Tools Options: 
	Use DNSSEC-Tools GUI Interface [no]:  no 
	Display Entropy Message in Zonesigner [yes]:  yes 
	Save Old Keys [yes]:  yes 
	Key Archive Directory [no default]:  /var/named/chroot/var/key_archive 

	Key-Generation Options [no default]:  
	Zone-Checking Options [no default]:  
	Zone-Signing Options [no default]:  

	Roll-over Manager's Logfile [/usr/local/etc/dnssec-tools/log-rollerd]:  
	Roll-over Manager's Logging Level [info] 
	    (valid values:  tmi, expire, info, phase, err, fatal):  info 
	Roll-over Manager's Sleep-time [3600]:  

	TrustMan's contact address [no default]:  
	TrustMan's SMTP server [no default]:  

Una vez finalizado podremos generar las llaves y firmar una zona con el comando zonesigner, ejemplo:

zonesigner -genkeys -endtime +2678400 dominio.com