Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Guía de Seguridad del Administrador de Linux - DNS

Guía de Seguridad del Administrador de Linux - DNS

 ***** (7 opiniones)
Creative Commons Tutorial de Kurt Seifried - 16 de Febrero de 2006
Temas Relacionados: Linux
26. DNS
Bind

DNS es un servicio extremadamente importante para redes IP. No dudaría en decir que probablemente sea el servicio MÁS importante (sin él, nadie puede encontrar nada más). También requiere conexiones provenientes del mundo exterior, y debido a la naturaleza y estructura del DNS, la información que los servidores de DNS dicen tener puede no ser cierta. El principal proveedor de software DNS (named, el standard de facto) actualmente está buscando la forma de añadir información de autentificación ( utilizando RSA para firmar criptográficamente los datos, probando que es "cierto"). Si se tiene planeado administrar servidores DNS, yo diría que es de obligada lectura "DNS & BIND", de O’Reilly and Associates.



La mayoría de las distribuciones vienen con bind 8.x, sin embargo ninguna (según mis conocimientos) lo trae configurado para no-root, utilizan chroot por defecto. Sin embargo hacer el cambio es sencillo:

-u

especifica a qué UID cambiará bind una vez que esté vinculado al puerto 53 (me gusta utilizar un usuario llamado ‘named’ sin permisos de login, similar a ‘nobody’).

-g

especifica el directorio al que bind se hará chroot a sí mismo una vez que esté arrancado. /home/named es una buena apuesta, es en este directorio donde se deberían situar todas las librerías y ficheros de configuración que va a necesitar bind.

Una forma incluso más sencilla de ejecutar bind con chroot es descargar el paquete bind-chroot, disponible como paquete de contribución en la mayoría de las distribuciones, e instalarlo. Antes de la instalación, se necesitará un usuario y un grupo llamados named (al cual cambiará el servidor bind su UID/GID), simplemente utilizar groupadd y useradd para crear el usuario/grupo. Algunos paquetes utilizan holelogd para hacer un log de la información de bind en /var/log/messages (de igual forma que haría bind). Si no está disponible, habrá que instalarlo a mano, lo cual es una faena. Además de esto, el fichero de configuración por defecto de bind se suele configurar de forma segura (p. ej., no se puede hacer una petición a bind acerca de su versión).

Otro aspecto de bind es la información que contiene sobre tu(s) red(es). Cuando alguien hace una petición a un servidor DNS, por lo general envían una petición pequeña por cada información. Por ejemplo, ¿cuál es la dirección IP de www.seifried.org? Y existen transferencias de dominios, en las cuales un servidor DNS solicita toda la información disponible sobre, digamos, seifried.org, la recibe y después la pone disponible a otros (en el caso de un servidor DNS secundario). Esto es potencialmente peligroso, ya que puede ser tanto o más peligroso que enviar el número de teléfono de la compañía a cualquiera que llame y lo solicite. La versión 4 de Bind no se preocupaba demasiado sobre la seguridad, se podían limitar las transferencias a ciertos servidores, pero no de la forma lo suficientemente selectiva como para ser realmente útil. Esto ha cambiado en Bind 8, la documentación se encuentra disponible en http://www.isc.org/bind.html. Resumiendo, en Bind 8 existen configuraciones globales, la mayoría de las cuales se pueden aplicar basadas en el dominio. Se pueden restringir con facilidad las transferencias Y las peticiones, hacer log de las peticiones, configurar los tamaños máximos de los datos, etcétera. Recuerda, cuando se está restringiendo las peticiones de zona, se deben asegurar TODOS los servidores de nombres (principal y secundarios), ya que se pueden transferir zonas desde un secundario con igual facilidad que desde el principal.

He aquí un fichero de configuración named.conf relativamente seguro (robado del paquete bind-chroot disponible en ftp.tux.org):

options {

Para este chroot se necesitan los siguientes paths

directory "/var/named";

dump-file "/var/tmp/named_dump.db";
_PATH_DUMPFILE

pid-file "/var/run/named.pid"; _PATH_PIDFILE

statistics-file "/var/tmp/named.stats";
_PATH_STATS

memstatistics-file "/var/tmp/named.memstats"; _PATH_MEMSTATS

Fin de los paths necesarios

check-names master warn; /* default. */

datasize 20M;

};

zone "localhost" {

type master;

file "master/localhost";

check-names fail;

allow-update {

none;

};

allow-transfer {

any;

};

};

zone "0.0.127.in-addr.arpa" {

type master;

file "master/127.0.0";

allow-update {

none;

};

allow-transfer {

any;

};

};

Denegar y registrar peticiones de versión excepto desde localhost

zone "bind" chaos {

type master;

file "master/bind";

allow-query {

localhost;

};

};

zone "." {

type hint;

file "named.zone";

};

zone "ejemplo.org" {

type master;

file "zones/ejemplo.org";

allow-transfer {

10.2.1.1;

10.3.1.1;

};

};

Bind se ejecuta en el puerto 53, utilizando udp y tcp, udp se utiliza para las peticiones normales de dominios (es ligero y rápido), tcp se utiliza para las transferencias de zonas y peticiones más grandes (como excavar www.microsoft.com). De modo que filtrar con el cortafuegos el tcp es relativamente seguro y eliminará cualquier transferencia de zonas, pero la petición ocasional al DNS podría no funcionar. Es mejor utilizar named.conf para controlar las transferencias de zonas:

ipfwadm –I –a accept –P tcp –S 10.0.0.0/8 –D 0.0.0.0/0 53

ipfwadm –I –a accept –P tcp –S un.host.fiable –D 0.0.0.0/0 53

ipfwadm –I –a deny –P tcp –S 0.0.0.0/0 –D 0.0.0.0/0 53

o

ipchains –A input –p tcp –j ACCEPT –s 10.0.0.0/8 –d 0.0.0.0/0 53

ipchains –A input –p tcp –j ACCEPT –s un.host.fiable –d 0.0.0.0/0 53

ipchains –A input –p tcp –j DENY –s 0.0.0.0/0 –d 0.0.0.0/0 53

lo cual bloquearía las transferencias de zonas y las peticiones grandes, lo siguiente bloquearía las peticiones normales (pero no las transferencias de zona, de modo que si se está bloqueándolo, recordar utilizar ambos conjuntos de reglas)

ipfwadm –I –a accept –P udp –S 10.0.0.0/8 –D 0.0.0.0/0 53

ipfwadm –I –a accept –P udp –S un.host.fiable –D 0.0.0.0/0 53

ipfwadm –I –a deny –P udp –S 0.0.0.0/0 –D 0.0.0.0/0 53

o

ipchains –A input –p udp –j ACCEPT –s 10.0.0.0/8 –d 0.0.0.0/0 53

ipchains –A input –p udp –j ACCEPT –s un.host.fiable –d 0.0.0.0/0 53

ipchains –A input –p udp –j DENY –s 0.0.0.0/0 –d 0.0.0.0/0 53



Dents

Dents es un servidor DNS con licencia GPL, actualmente en fase de pruebas (versión 0.0.3). Dents se está escribiendo desde cero, con soporte para SQL, integración con SNMP, utilizando CORBA internamente. Todo en conjunto debería compensar a Bind, tengo planeado probarlo y evaluarlo, pero hasta entonces tendrás que intentarlo tú mismo. Dents se encuentra disponible en: http://www.dents.org/.
Tabla de contenidos
  1. 1 - Cómo determinar qué asegurar y cómo asegurarlo
  2. 2 - Instalación segura de Linux
  3. 3 - Conceptos generales, servidores versus estaciones de trabajo, etc
  4. 4 - Ficheros del sistema
  5. 5 - Seguridad de Ficheros / Sistema de ficheros
  6. 6 - PAM
  7. 7 - Seguridad Física / de Arranque
  8. 8 - Seguridad de contraseñas
  9. 9 - Almacenamiento de Contraseñas
  10. 10 - Seguridad basica de servicios de red
  11. 11 - Ficheros basicos de configuración de red
  12. 12 - TCP-IP y seguridad de redes
  13. 13 - Seguridad PPP
  14. 14 - Seguridad IP (IPSec)
  15. 15 - Cifrado de servicios / datos
  16. 16 - Rutado
  17. 17 - Software de Proxy
  18. 18 - Cortafuegos
  19. 19 - Telnet
  20. 20 - SSH
  21. 21 - FTP
  22. 22 - HTTP / HTTPS
  23. 23 - SMTP
  24. 24 - POP
  25. 25 - IMAPD
  26. 26 - DNS
  27. 27 - NNTP
  28. 28 - DHCPD
  29. 29 - RSH, REXEC, RCP
  30. 30 - NFSD
  31. 31 - TFTP
  32. 32 - BOOTP
  33. 33 - SNMP
  34. 34 - Finger
  35. 35 - Identd
  36. 36 - NTPD
  37. 37 - CVS
  38. 38 - rsync
  1. 39 - lpd
  2. 40 - Samba
  3. 41 - Servidores LDAP Linux
  4. 42 - Sistema X Window
  5. 43 - Conectividad SNA
  6. 44 - Software de Autoridad de Certificación para Linux
  7. 45 - El kernel de Linux
  8. 46 - Parches de seguridad del kernel y del compilador
  9. 47 - Herramientas administrativas
  10. 48 - Gestión de Software
  11. 49 - Herramientas de monitorización de Hosts
  12. 50 - Ficheros de Log y otros métodos de monitorización
  13. 51 - Limitación y monitorización de usuarios
  14. 52 - Lista de comprobación para la conexión a Internet
  15. 53 - Métodos de compartición de ficheros
  16. 54 - Lectores de correo basados en WWW
  17. 55 - Autentificación Basada en Red
  18. 56 - Software de Listas de correo
  19. 57 - Escaneo / herramientas de prueba de intrusos
  20. 58 - Herramientas de escaneo y detección de intrusos
  21. 59 - Sniffers de Paquetes
  22. 60 - Normas de comportamiento / integridad de ficheros
  23. 61 - Gestión de auditorías
  24. 62 - Copias de Seguridad
  25. 63 - Enfrentandose a los ataques
  26. 64 - Ataques de Negación de Servicio
  27. 65 - Ejemplos de ataques
  28. 66 - Virus, Caballos de Troya y Gusanos
  29. 67 - Distribuciones seguras de Linux
  30. 68 - Información específica por Distribuidor / Vendedor
  31. 69 - Información de contacto con vendedores
  32. 70 - Programación segura
  33. 71 - Apéndice A: Libros y Revistas
  34. 72 - Apéndice B: Otra documentación de seguridad sobre Linux
  35. 73 - Apéndice C: Documentación de seguridad en línea
  36. 74 - Apéndice D: Sitios de seguridad en general
  37. 75 - Apéndice E: Sitios de Linux en general
Autor y licencia de 'Guía de Seguridad del Administrador de Linux - DNS'
Kurt Seifried Extraído de: http://es.tldp.org/Manuales-LuCAS/GSAL/gsal-19991128-htm/

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Guía de Seguridad del Administrador de Linux - DNS'

A lo largo de este trabajo se va a intentar hacer un repaso de los... Más »
En este documento se presenta la información acerca de la instalación, configuración, ejecución y mantenimiento... Más »
Esta es la primerísima edición del Linux en Castellano COMO. La audiencia a la que... Más »
Este documento pretende ser el punto de entrada de los hispanohablantes al mundo Linux, intentando... Más »
Este documento describe el soporte de sonido para Linux. Enumera el hardware de sonido soportado,... Más »
¿Estás seguro de que deseas eliminar este capítulo?