Enjaulando Bind

Introducción

Buenas a todos. Hoy vamos a ver cómo enjaular Bind en Ubuntu. Bind es un servidor DNS muy usado en internet, concretamene en máquinas cuyos sistemas operativos están basados en Unix. Fue creado por cuatro estudiantes en la University of California. Actualmente se encuentra en su versión 9.

¿Enjaular?

El proceso de enjaular un servicio o usuario en Linux se realiza para evitar intrusiones no deseadas en un sistema, de modo que si alquien consiguiera burlar la seguridad de nuestro sistema y entrar, sólo se vería afectada la zona de enjaulamiento.

Instalando Bind

Lo primero que hay que hacer es instalar Bind en nuestra máquina, así que en un terminal escribimos:

sudo aptitude install bind9 dnsutils

Cuando ya tenemos Bind instalado, detenemos el servicio:

sudo /etc/init.d/bind9 stop

Configurando Bind y creando directorios de enjaulamiento

Ahora vamos a indicarle a Bind de dónde debe coger los archivos de configuración, desde el terminal:

sudo gedit /etc/default/bind9

Una vez con el archivo abierto, esto será lo que veamos:

Añadimos lo siguiente a la línea indicada:

- t /var/lib/named

Guardamos los cambios y vamos a crear ahora los directorios que almacenarán los archivos de configuración de Bind, desde el terminal:

sudo mkdir /var/lib/named

Creamos también los siguientes directorios:

sudo mkdir /var/lib/named/dev
sudo mkdir /var/lib/named/etc
sudo mkdir /var/lib/named/var/cache/bind
sudo mkdir /var/lib/named/var/run/bind/run

Ahora movemos los archivos de configuración de Bind a los directorios que hemos creado:

sudo mv /etc/bind /var/lib/named/etc

Ahora creamos un enlace simbólico que vaya desde /etc/bind a /var/lib/named/etc

sudo ln -s /var/lib/named/etc /etc/bind

Una vez creado el enlace simbólico, vamos a crear los dispositivos null y random con el comando mknod. Desde el terminal:

sudo mknod /var/lib/named/dev/null c 1 3

sudo mknod /var/lib/named/dev/random c 1 8

Asignando los permisos

Ahora tenemos que configurar los permidos de ejecución y hacer a Bind propietario de los directorios /var/lib/named/etc y /var/lib/named/var/*.

Empezamos con los permisos, desde el terminal escribimos:

sudo chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random

Y ahora hacemos a Bind propietario de los directorios:

sudo chown -R bind:bind /var/lib/named/var/*

sudo chown -R bind:bind /var/lib/named/etc/bind

Editando el fichero resolv.conf

Vamos ahora a editar el fichero /etc/resolv.conf para añadir nuestra máquina cómo servidor DNS encargado de resolver las direcciones. En un terminal escribimos:

sudo gedit /etc/resolv.conf

Una vez con el archivo abierto, comentamos las direcciones que aparezcan y añadimos la dirección IP de nuestra máquina, de forma que quede más o menos así:

En mi caso, tenía para resolver las direcciones la propia dirección del router bajo el que me encuentro.

Ahora reiniciamos la red para que los cambios surtan efecto, desde el terminal escribimos:

sudo /etc/init.d/networking restart

Ahora mismo, si hacemos un ping a Google nos responderá esto:

Esto se debe a que el servicio de Bind está parado, y sólo está nuesta máquina para resolver las direcciones. Iniciamos Bind:

sudo /etc/init.d/bind9 start

Esto se debe a que el servicio apparmor no nos permite iniciar Bind ya que este no tiene permiso para acceder a /var/lib/named

Configurando los permisos de apparmor

Vamos a configurar los permisos de apparmor, para que Bind pueda tener acceso a /var/lib/named. En primer lugar paramos el servicio de apparmor, desde el terminal tecleamos:

sudo /etc/init.d/apparmor stop

Ahora vamos a editar la configuración de apparmor, escribimos en un terminal lo siguiente:

sudo gedit /etc/apparmor.d/usr.sbin.named

Una vez con el archivo abierto, comentamos las siguientes líneas:

#/var/run/named/named.pid w,
# support for resolvconf
#/var/run/named/named.options r,

Ahora nos vamos hacia el final del archivo, y añadimos las siguientes líneas:

/var/lib/named/etc/bind/* rw,
/var/lib/named/etc/bind/zones/* rw,
/var/cache/bind/* rw,
/var/lib/named/var/run/bind/run/named.pid w,
/var/lib/named/var/run/bind/named/options r,
/var/lib/named/dev/null rw,
/var/lib/named/dev/random rw,

Iniciando apparmor y Bind

Ya está todo configurado, ya sólo queda iniciar apparmor y Bind, desde el terminar escribimos:

sudo /etc/init.d/apparmor start

sudo /etc/init.d/bind9 start

Ya sólo queda hacer un ping a Google para comprobar si obtenemos respuesta o no, desde el terminal escribimos:

ping google.es

Bibliografía

Anuncios
Publicado en Bind, Seguridad, Tutoriales
4 comments on “Enjaulando Bind
  1. Felipe dice:

    Te comento el primero desde thebitdeveloper.com jajaja

    Por cierto, no sabia que se adaptaba tan bien la URL al dominio, es porque lo has comprado en WP o siempre es asi?

  2. Felipe dice:

    Se adapta bien a las rutas de la direccion, es decir:

    Si la ruta de este articulo en la direccion original es https://thebitdeveloper.wordpress.com/2009/12/14/enjaulando-bind

    ,no sabia que cuando comprabas un dominio, la ruta se quedaba igual a partir de la dirección del dominio:

    http://thebitdeveloper.com/2009/12/14/enjaulando-bind

    No se si me explico xDDD

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 )

Google+ photo

Estás comentando usando tu cuenta de Google+. 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 )

w

Conectando a %s

Sobre mi…

Soy Técnico en Explotación de Sistemas Informáticos y Técnico Superior en Administración de Sistemas Informáticos en Red. Actualmente estudiando el Grado de Ingeniería Informática en la Universidad de Córdoba (España).

Enamorado de la ciencia en general y de la computación en particular.

Música: Heavy, Rock, Celta, New Age, Electrónica, etc...
Libros:Isaac Asimov, Richard Dawkins, Stephen Hawking, Carl Sagan...

Estoy interesado en la programación de videojuegos. Políticamente de izquierdas, escéptico y ateo. En definitiva, mala gente.

Sígueme en Twitter

Introduce tu dirección de correo electrónico para seguir este Blog y recibir las notificaciones de las nuevas publicaciones en tu buzón de correo electrónico.

Únete a otros 24 seguidores

Usa Linux Mint
The Bit Developer Box
A %d blogueros les gusta esto: