Inicio > Hosting > Instalando DNS, Bind 9. Chroot

Instalando DNS, Bind 9. Chroot


Por fin me he decido a gestionar yo mismo el dns de los dominios que tengo. Los servicios de dns que usado, aunque normalmente no me han dado demasiados problemas, son un poco engorrosos y no te dan la libertad que tienes al hacerlo tú mismo.

El primer problema que nos encontramos al gestionar un servicio que ofreceremos a internet es el de la seguridad y Bind y el DNS es un servicio con comunes problemas de seguridad con lo que hay que tener el máximo cuidado posible. La instalación de Bind en un chroot no es complicada una vez conoces los pasos adecuados y la gestión es idéntica a su instalación normal. Así que por el mismo precio lo instalamos en una jaula.

No voy a explorar el tema de bind y el firewall, quizás para otra ocasión.

El primer paso es instalar los paquetes de nuestra distribución Debian .

nahia:~# aptitude install bind9 bind9-doc dnsutils

Esto habrá instalado la última versión disponible en nuestro sistema, pararemos el servicio de dns para poder cer los cambios y crear el chroot.

nahia:~# /etc/init.d/bind9 stop

Crearemos la estructura de directorios del chroot y haremos al usuario bind dueño de estos directorios.

nahia:~#mkdir -p /var/chroot/bind9/{etc,dev,var/cache/bind,var/run/bind/run}
nahia:~# chown -R bind:bind /var/chroot/bind9/var/*

Con mknod crearemos los devices que necesitaremos y le daremos los permisos adecuados:

nahia:~# mknod /var/chroot/bind9/dev/null c 1 3
nahia:~# mknod /var/chroot/bind9/dev/random c 1 8
nahia:~# chmod 666 /var/chroot/bind9/dev/{null,random}

Ahora copiaremos la configuración previa (si la teníamos) a la estructura del chroot:

nahia:~# mv /etc/bind /var/chroot/bind9/etc
nahia:~# ln -s /var/chroot/bind9/etc/bind /etc/bind

De esta manera podremos seguir configurando bind como lo hacíamos hasta ahora.

Nos toca crear la parte de configuración de log. En mi caso, estoy usando Debian Lenny, la versión testing de Debian en el momento de escribir estas notas. Debian ha cambiado syslogd por rsyslog.
Nota: en el sistema donde hice la instalación, una debian testing “dist-upgradeada” desde la stable “etch” tuve que instalar rsyslog a mano.

Crearemos el siguiente fichero:

nahia:~# vi /etc/rsyslog.d/bind-chroot.conf

con el siguiente contenido:

$AddUnixListenSocket /var/chroot/bind9/dev/log

Ahora sólo nos queda indicarle al arranque de bind cómo arrancar:

Dejaremos el fichero /etc/default/bind9 así:

OPTIONS=”-u bind -t /var/chroot/bind9″
# Set RESOLVCONF=no to not run resolvconf
RESOLVCONF=yes

Con esto le estamos diciendo que arranque bind con el usuario (-u) bind con pocos privilegios y (-t) el directorio del chroot. Si el nombre del group al que pertenece bind es diferente del usuario -u bind tendremos que especificarlo también con (-g).

Ya podemos arrancar el servicio y veremos si todo ha ido bien:

nahia:~# /etc/init.d/bind9 start
Starting domain name service…: bind9.

nahia:~# ps -ef | grep named
bind 8577 1 0 19:15 ? 00:00:00 /usr/sbin/named -u bind -t /var/chroot/bind

Ya está, ya tenemos instalado bind9 en un entorno chroot. La configur
ación de las zonas y de los esclavos lo dejo para otros artículos.

VER  apparmor

Categorías:Hosting
  1. Aún no hay comentarios.
  1. octubre 11, 2013 a las 1:54 pm

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: