Instalación del servicio dns y configuración en ubuntu server 18.04

Ataque de DNS - concepto de guerra cibernética Ilustración 3d

Instalación del servicio:

sudo apt-get install bind9

Configurar para resolver  localmente:

  • Hay que crear la bases de datos por defecto, para ello creamos el fichero con extensión db o bd con el nombre del dominio:
  • pico /etc/bind/tropical.db
  • y ponemos lo siguiente separado por tabulador:
tropical.es.       IN         SOA     tropical.es.       root.tropical.es.
(
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Default TTL
tropical.es.       NS       dns.tropical.es.
pc1      IN         A          192.168.0.101
pc2      IN         A          192.168.0.102
pc3      IN         A          192.168.0.103
dns      IN         A
         192.168.0.1
  • Guardamos el fichero y comprobamos que la sintaxis interna sea correcta:
  • named-checkzone tropical.es /etc/bind/tropical.db
  • Si no nos devuelve error podemos decirle al servicio bind 9 que admite esta base de datos:
  • pico /etc/bind/named.conf.local
  • Aquí le decimos que bases de datos tenemos y a que dominio pertenece y añadimos lo siguiente:
zone “tropical.es”{
type master;
file “/etc/bind/tropical.db”;
};
  • Con esto decimos que el archivo tropical.db contiene la base de datos de las direcciones tropical.es.
  • Una vez hecho eso hacemos el siguiente comando para comprobar la sintaxis del archivo de configuración:
  • named-checkconf /etc/bind/named.conf.local
  • Si todo sale bien y no hay errores de sintaxis procedemos a reiniciar el servicio y a comprobar si se activa correctamente:
  • service bind9 restart
  • service bind9 status
  • Editar /etc/resolv.conf del servidor DNS
nameserver 127.0.0.1
search tropical.es
  • Si nos devuelve correcto el status probamos que resuelva bien haciendo un:
  • host pc1.tropical.es

´

Configuración de resolución inversa:

  • Creamos un fichero con el nombre representarte a nuestra red:
  • Pico /etc/bind/192.rev
  • Dentro escribimos la resolución inversa:
@         IN         SOA     tropical.es.       root.tropical.es.
(
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Default TTL
@         NS       dns.tropical.es.
101       IN         PTR      pc1.tropical.es.
102       IN         PTR      pc2.tropical.es.
103       IN         PTR      pc3.tropical.es.
1          IN         PTR      dns.tropical.es.
  • Ahora comprobamos si el fichero tiene la sintaxis correcta:
  • named-checkzone 192.168.0.in-addr-arpa /etc/bind/192.rev
  • Si no tiene errores, nos dará ok y es hora de indicar en el fichero principal la bases de datos de la inversa.
  • Abrimos named.conf.local y añadimos lo siguiente:
 zone "0.168.192.in-addr.arpa" { 
type master;
file "/etc/bind/192.rev";
};
  • Ahora toca comprobar que el fichero de configuración tenga una sintaxis completa:
  • named-checkconf /etc/bind/named.conf.local
  • Si no nos da error podemos continuar reiniciando el servidor bind
  • service bind9 restart
  • service bind9 status
  • Si todo esta correcto nos debería responder active.
  • Comprobamos que nos resuelva correctamente:
  • Host 192.160.0.101
  • Si nos resuelve ya esta listo.

Configuración de dns esclavo

  • Editamos el fichero en el servidor maestro /etc/bind/tropical.db y añadimos las siguientes líneas:
     tropical.es.       NS       tropical.es.
     dns2.tropical.es.           IN         A          192.168.0.2
  • Después lo agregamos también al de la zona inversa /etc/bind/192.rev:
       @ NS dns2.tropical.es.
  • Vamos al servidor esclavo y le ponemos en el /etc/bind/named.conf.local lo siguiente:
zone "tropical.es" {
type slave;
file "/etc/bind/tropical.db";
masters { 192.168.0.1;};
};
zone "0.168.192.in-addr.arpa" {
type slave;
file "/etc/bind/192.rev";
masters { 192.168.0.1;};
};
  • Comprobamos que este bien sintácticamente:
  • named-checkconf /etc/bind/named.conf.local
  • Si todo esta correcto toca indicar al maestro para que estén los servidores sincronizados.
  • Para ello editamos en el maestro /etc/bind/named.conf.local
zone "tropical.es" {
type master;
file "/var/cache/bind/ieslapaloma.db";
also-notify {192.168.0.2;};
};
zone
"0.168.192.in-addr.arpa" {
type master;
file "/var/cache/bind/192.rev";
also-notify {192.168.0.2;};
};
  • Y  comprobamos la sintaxis:
  • named-checkconf /etc/bind/named.conf.local
  • Ya solo nos falta reiniciar los 2 servidores:
service bind9 restart
service bind 9 status
  • Si nos da correcto, están configurados.
  • Probamos a poner ese dns en un cliente y comprobamos que resuelva.

Configurar dns como servidor cache.

  • El servidor dns viene por defecto configurado como servidor cache, solo hay que indicarles las ip de los dns que queramos que consulte cuando no existe alguno.
  • Para ello editamos el fichero /etc/bind/named.conf.options y añadimos dentro de él option{} lo siguiente:
forwarders { 80.58.0.33; 80.58.32.97;
};
  • Cada vez que que cambies un fichero hay que cambiar el serial para que el esclavo sincronice automáticamente