Conoce a tu enemigo:
Honeywall CDROM

GenII Honeynet Gateway de arranque

Traducción del texto: Know your enemy (Honoeywall CDROM), disponible en
Honeynet Project
http://www.honeynet.org
Última modificación: 14 de mayo de 2004

Licencia de la traducción

Se da permiso para copiar, distribuir y/o modificar este documento bajo los términos de la Licencia de Documentación Libre GNU (FDL), versión 1.2 o cualquier versión posterior publicada por la Free Software Foundation (Fundación para el Software Libre); este documento no tiene secciones invariantes, textos de portada ni de contraportada. Se incluye una copia de dicha licencia en la sección titulada "Licencia de Documentación Libre GNU".


El Honeywall CDROM es un CD de arranque que contiene todas las herramientas necesarias para crear y utilizar una honeynet gateway (pasarela de red trampa) de segunda generación. El CDROM está basado en una versión reducida de Linux y está diseñado para ser utilizado como aplicación: contiene sólo las herramientas necesarias para gestionar el Honeywall. Un entorno de configuración (customization) permite a los usuarios avanzados añadir acracterísticas al CDROM que hace posible que las herramientas del mismo puedan ser utilizadas fuera de la red trampa. La primera versión del CDROM, Eeyore, es una versión beta.

Este artículo servirá como introducción a los conceptos y el diseño del Honeywall CDROM. Artículos posteriores explicarán temas más avanzados incluyendo análisis de datos, configuración, y capacidades distribuidas. Consideramos este artículo un "documento vivo", en el sentido de que cambia al mismo tiempo que el CDROM para incluir la información más actualizada. Se asume que el lector ha leído y comprende los fundamentos sobre redes trampa tal como están descritas en CTE: Honeynets y CTE: Honeynets GenII. Además, el CDROM contiene documentación técnica más detallada sobre la interfaz de usuario, aspectos internos, configuraciones del kernel (núcleo), y características de configuración (customization).

Objetivos
El Honeywall CDROM reduce muchos de los retos de implementar redes trampa al tiempo que crea una plataforma para tecnologías más avanzadas. Es un LiveCD de Linux muy reducido con funcionalidades muy específicas. Está diseñado para funcionar más como una aplicación que como un sistema operativo independiente. La pasarela creada por el CDROM incorpora sólo las herramientas necesarias para que ese sistema funcione. Las propiedades de configuración (discutidas más adelante) permiten crear nuevas imágenes del CDROM con características nuevas o modificadas.

El Honeywall CDROM está diseñado para ser:

Estructura del Honeywall CDROM
El Honeywall CDROM es un LiveCD de Linux basado en el FIRE forensics CD por William Salusky. Hemos escogido esta base porque es una versión muy reducida de Linux, se centra en temas forenses (captura y análisis) y varios miembros ya están familiarizados con ella. Hemos configurado el CDROM, incluyendo sólo las herramientas y librerías asociadas necesarias para que tenga funcionalidades de Honeywall. Tiene un tamaño de de poco más de cincuenta megabytes. La licencia del CDROM está basada en una combinación de GPL y BSD.

Los CDs de arranque de Linux suelen utilizados ser para instalación de sistemas, como el instalador de Debian, o para ejecutar un SO sin modificar el disco duro del equipo, como Knoppix. En el primer caso, los contenidos del CD son copiados al disco duro del equipo. Una vez copiados, el CD puede ser retirado para arrancar directamente desde el hardware. En el segundo caso, todos los ficheros permanecen en el CD y se crea un sistema de ficheros temporal en la RAM del equipo. El sistema de ficheros temporal es necesario para permitir a los programas que necesitan crear ficheros funcionar correctamente (como los ficheros temporales de vi o bloquear ficheros utilizados por algunos demonios). Como los ficheros no pueden ser sobrescritos en el CDROM de sólo escritura, el SO creado por el CDROM crea un pseudo-sistema de ficheros en la RAM del equipo. Los ficheros nuevos o modificados aparentan existir en el sistema de ficheros del CDROM, pero realmente están almacenados en RAM. Cuando el equipo es reiniciado los cambios se pierden.

Como aplicación, el Honeywall CDROM combina ambos tipos de funcionalidad. Cuando se arranca, el CDROM carga la mayoría del sistema operativo en RAM, incluyendo todos los binarios y librerías localizadas en el sistema de ficheros raíz (p.ej., /usr, /lib, y demás). Estos ficheros no son copiados al disco duro y cualquier cambio en ellos se perderá cuando se reinicie el sistema. Existen muchos datos que deseará mantener fijos entre reinicios de sistema, incluyendo ficheros de configuración de sistema y registros. Si todo esto fuera cargado en RAM cada vez, se perdería en el siguiente reinicio. El CDROM utilizará su disco duro para almacenar toda la información persistente en un directorio llamado /hw. Este directorio contiene subdirectorios para los contenidos de /home, /etc, /var y /conf que contiene las variables de configuración utilizadas por el honeywall. Los enlaces simbólicos se utilizan para hacer que algunos de estos directorios aparezcan en el directorio raíz normal.

Esta aproximación permite almacenar en el disco duro del equipo más datos de registro mientras minimiza las oportunidades de que las herramientas importantes del CDROM puedan ser accidentalmente modificadas o eliminadas. Según los requisitos del sistema de ficheros en RAM y el uso intensivo de memoria por parte de algunas aplicaciones, el CDROM debe ser instalado en un sistema con al menos 256MB de RAM. Recomendamos empezar al menos con un disco duro de 30GB, aunque el tamaño del disco duro del sistema puede variar dependiendo de la red en la que sea instalado y de la frecuencia con la que se almacenen y borren los registros. . Por el momento sólo se soporta IDE; no hay soporte para SCSI. Tenga en cuenta que el CDROM tomará el control completo del disco duro, y eliminará todos los datos de la unidad, así que asegúrese de que no hay datos de valor en el mismo. La velocidad del procesador requerida por el Honeywall también depende de la cantidad de tráfico de la red. Se sugiere contar como mínimo con un PentiumIII o equivalente. Al menos dos interfaces de red son necesarias para utilizarlo como pasarela y opcionalmente puede utilizarse una tercera interfaz para accesos de administración remota. El CDROM actual sólo soporta interfaces de red basadas en el Intel eepro100 o chipset 3Com 3c59X. Puede leer más sobre los requisitos de sistema en CDROM Honeywall site.

Funcionalidades incluidas
La primera vez que se inicia el CDROM en un equipo, se presenta la interfaz de usuario (UI) del Honeywall. La UI está basada en una serie de scripts (guiones) en bash que utilizan dialog para crear las ventanas interactivas y menús. Casi toda la configuración del sistema y del Honeywall, así como las funciones de administración pueden hacerse desde el menú. Cuando usted selecciona una opción en el menú (como en la imagen de arriba) puede encontrar una explicación de dicha opción en la esquina inferior izquierda de su pantalla. Además, como el sistema está basado en Linux, los usuarios siguen teniendo acceso a la línea de comandos y a muchas de las utilidades GNU estándar.

La configuración inicial del Honewall se hace enteramente a través de la UI. En la configuración inicial se formatea el disco duro del equipo, se crean los directorios fijos, se introduce la información de la red, y se especifican las variables específicas sobre el control de datos, captura de datos y alertas automáticas. Se puede configurar una tercera interfaz de red para administración remota. Se pueden utilizar reglas de cortafuegos para controlar qué equipos/redes pueden conectarse al interfaz. Una vez completada la configuración se reinicia el sistema y el Honewall está listo. Hemos incluido un documento de configuración inicial para ayudarle a planear su instalación con antelación. Una alternativa al menú de configuración consiste en tener un fichero de configuración preparado y accesible desde disquete.

Cada una de las variables configuradas mediante la interfaz de usuario se almacena en un fichero individual en el directorio /hw/conf del disco duro del equipo. Por ejemplo, la variable para ver si su pasarela funciona como un puente de nivel dos o una pasarela de nivel tres se encuentra en /hw/conf/HwMODE, mientras que la dirección de correo electrónico utilizada para las alertas se encuentra en /hw/conf/HwALERT_EMAIL. Estas variables son utilizadas por guiones del Honeywall para configurar cada una de las herramientas necesarias para que el sistema funcione. Los guiones deben ser recargados para que un cambio en una de sus variables tenga efecto. El menú del CDROM tiene la opción de exportar todas las variables a un único fichero llamado honeywall.conf en /etc.  Este fichero no es utilizado por el propio honeywall, sino que es una forma de transportar ficheros de configuración de un sistema a otro o de crear ficheros de configuración preestablecidos. La interfaz de usuario tiene utilidades para exportar e importar el fichero honeywall.conf en un sistema en funcionamiento. La configuración puede también ser importada desde disquete durante la configuración inicial (Initial Setup).

Control de datos
El Honeywall CDROM incluye dos métodos principales de control de datos: limitación de conexiones salientes basado en iptables y el sistema de prevención de intrusiones (IPS) snort-inline. El limitador del cortafuegos, basado en el script rc.firewall, puede ser configurado para establecer límites sobre la cantidad de datos que pueden ser enviados desde cada sistema trampa por unidad de tiempo. Los límites utilizan las conexiones salientes en el caso de TCP y el número de paquetes para UDP, ICMP, y OTHER (una categoría que detecta si los atacantes utilizan un protocolo diferente, como IPv6 dentro de IPv4, para enviar datos desde la red trampa). El tiempo para cada límite puede indicarse en unidades de segundos, minutos, horas, y días. Los paquetes de salida autorizados para pasar a través del cortafuegos son luego enviados a snort-inline. Snort-inline es un sistema de prevención de intrusiones basado en el detector de intrusiones Snort y está mantenido por Rob McMillen del Honeynet Project. Es capaz de tomar acciones contra el tráfico saliente que tenga ataques conocidos. Snort-inline puede ser configurado en el Honeywall para utilizar tres conjuntos diferentes de reglas por defecto que pueden descartar (drop), deshabilitar (disable), o rechazar (reject) ataques conocidos. El guión del cortafuegos y las reglas de snort-inline están en el directorio /etc. Pueden ser modificados para ajustarse a las necesidades particulares de cada red trampa y los cambios se escribirán en el disco duro. Ambos pueden generar registros detallados que pueden ser utilizados para análisis y alertas.

Captura de datos
Un segundo requisito es capturar toda la actividad del atacante minimizando las posibilidades de que se percate de ello. La actividad en la red trampa es registrada por varias herramientas diferentes. Primero, el cortafuegos registra todas las conexiones entrantes y salientes en /var/log/messages. Esto está bien para proporcionar una perspectiva general de lo que está ocurriendo. Segundo, por defecto un proceso de Snort captura toda la actividad de red y todos los contenidos de los paquetes vistos por la interfaz de red interna (por defecto eth1). Esto incluye toda la actividad de Sebek, es enviada mediante paquetes UDP. Tercero, una instancia adicional de Snort escucha en la interfaz interna y genera alertas IDS en modo full y fast. Toda la actividad de Snort y Snort-inline es registrada en /var/log/snort/$DAY, donde $DAY es el valor numérico del día. Hemos estandarizado YEARMONTHDAY, de forma que los datos capturados el 13 de julio de 2005 deberían estar en /var/log/snort/20050713.Todo esto está configurado por defecto por el CDROM.

La única cosa que necesita configurarse a mano son las opciones de registro de Sebek. A qué puerto e IP tienen los clientes Sebek que enviar sus registros, y si usted desea que todos los paquetes de Sebek sean registrados por el cortafuegos (Sebek puede ser bastante ruidoso, llenando sus registros de cortafuegos). Seguramente desee capturar la actividad de Sebek en los registros del cortafuegos al principio, para dejar de hacerlo una vez confirmado que Sebek está funcionando. Cuando el Honeywall haya capturado la actividad de Sebek en los ficheros pcap de Snort, usted tendrá que extraer manualmente los paquetes de Sebek utilizando las utilidades de Sebek sebeksniff y sbdump.pl incluidas en el CDROM. Se está desarrollando una herramienta más avanzada de análisis de datos y será incluida en futuras versiones del CDROM. El software del cliente de Sebek tendrá que ser instalado manualmente en todos los sistemas trampa detrás de la pasarela, más información en el artículo CTE: Sebek.

Alertas automáticas
Un requisito adicional es la habilidad para generar alertas automáticas cuando el sistema trampa ha sido comprometido. Las alertas están implementadas actualmente utilizando correos electrónicos sin cifrar (en texto en claro). Swatch, el Simple WATCHer,  monitoriza /var/log/messages en busca de actividad entrante y saliente. Si se detecta cualquier conexión saliente, se genera una alerta y envía un correo electrónico. Las direcciones de correo a las que son enviadas las alertas pueden ser configuradas a través del UI. Las alertas de correo sirven para notificar a los operadores de la red trampa sobre las posibles máquinas comprometidas. Si el Honeywall está configurado para trabajar en modo puente de nivel dos (por defecto) entonces debe tener una tercera interfaz de gestión (eth2) para poder enviar las alertas. Cuando se envían alertas por correo electrónico a través de la interfaz de gestión, debe configurar el cortafuegos para permitir la salida de TCP/25 desde esa interfaz. Por defecto, Swatch generará alertas por correo basándose en los siguientes eventos:

El problema con esta aproximación reside en sus limitadas capacidades; asume que los atacantes sólo iniciarán conexiones salientes. Alertas más inteligentes podrían estar también basadas en el aumento de conexiones entrantes, más de 10 paquetes en una conexión establecida, o quizás una conexión entrante que tiene más de 1 KB. También hemos identificado un problema en IPTables. La versión actual parece fallar al seguir el estado correctamente. Esto significa que las reglas de conexiónes salientes de iptables pueden activarse por algunas conexiones TCP entrantes. Esto hace que iptables registre erróneamente una conexión saliente, y que Swatch genere una falsa alerta. Esto ha sido registrado como un fallo y estamos pendientes del asunto.

Seguridad basada en máquinas (host-based)
Como con cualquier software, la seguridad es un problema. Se han tomado varias medidas para asegurar el propio sistema contra un ataque con éxito. Primero, se ha configurado un cortafuegos restrictivo en la pasarela que rechaza por defecto cualquier tráfico entrante o saliente de la interfaz de administración de la pasarela. Segundo, hemos intentado ejecutar los procesos con el menor nivel de privilegios y utilizar entornos protegidos con chroot en lo posible. Tercero, el Honeywall CDROM viene por el momento con tres núcleos de Linux diferentes:

Los núcleos modificados proporcionan un control de acceso más sofisticado y protección de la pila para los procesos del CDROM. Estamos trabajando en la utilización de ProPolice en todos los binarios y librerías del sistema. Por último, ejecutamos el proceso monit para monitorizar todos los demás procesos, y los reinicia si cualquiera deja de funcionar. Tenga en cuenta que este CDROM es una versión beta. Por favor, infórmenos de todos los errores o problemas a través de nuestro servidor de errores. La mejor forma de asegurar su Honeywall CDROM es tener una monitorización del sistema 24/7 (24 horas al día, 7 días a la semana).

Actualización y configuración
El desafío de un CDROM de arranque es que es estático. Usted obtiene lo que viene con el CDROM. A veces, tendrá que cambiar su Honeywall, bien para actualizarla o bien para configurarla para su entorno. Hemos reunido ambas funcionalidades en el CDROM. La primera es la actualización. Usted tendrá que actualizar su Honeywall cuando se añadan nuevas características y se resuelvan vulnerabilidades. Hemos intentado hacer la actualización tan simple como es posible. Las actualizaciones deberían consistir en nada más que descargarse la última imagen .iso, grabar el CDROM, y por último arrancar el nuevo CDROM. Todos los ficheros permanentes en el disco duro (tales como los ficheros de configuración y registros) deberían quedar intactos, mientras que el CDROM tendría los últimos binarios, librería, y núcleos. Esto hace la actualización sencilla, ya que los últimos y más grandes ficheros están en el CDROM y son luego cargados en RAM durante el inicio. No obstante, a veces, tendremos que actualizar los ficheros de configuración o los guiones de inicio que residen en el disco duro, principalmente en /etc, como las reglas de Snort. Esto es algo más complicado. Cuando esto ocurre, después del inicio, el nuevo CDROM comprueba todos los ficheros en /etc y realiza sumas de comprobación MD5 de todos los ficheros contra una base de datos de los últimos ficheros. Si un fichero no coincide, primero se hace una copia de seguridad y luego el (supuestamente) nuevo fichero es sobrescrito. Si usted tiene cualquier fichero en /etc que haya modificado y no desea que se sobrescriba automáticamente, inclúyalo en /etc/noupgrade. Se le preguntará antes de cualquier actualización, y todos los ficheros actualizados son registrados a /var/log/upgrade. Aunque no es perfecto, este método funciona (¿hemos dicho que este CDROM es una beta?). [Nota: Hay un posible conflicto con este método de actualización y configuración. Hay un método de actualización más robusto en el sitio de configuración, que está siendo considerado para futuras versiones.]

Una segunda y más potente capacidad es la configuración (customization). Actualmente el CDROM le permite configurar su CDROM para su entorno. Esto significa principalmente establecer las variables, como las direcciones IP, nombre de máquina, activar snort-inline, etc. Sin embargo, ¿qué pasa si desea ir más allá, como añadir claves SSH, modificar el proceso de inicio, añadir un nuevo núcleo o binarios, cambiar la estructura de directorios, etc.? La configuración le permite hacer eso. Usted descarga la imagen .iso del Honeywall CDROM genérica, la modifica (incluyendo o quitando ficheros) y luego graba el CDROM. Esto le permite crear la imagen exacta que desea, adaptada a su entorno. Uno de los objetivos fundamentales de esto es permitir a las organizaciones pre-construir sus propias imágenes .iso para entornos distribuidos. Por ejemplo, tal vez desee implementar cien redes trampa en su organización. Con la configuración puede hacer que una persona cree 100 CDROMs configurados, listos para empezar. Estas 100 imágenes .iso pueden ser descargadas por sus respectivos equipos, grabadas en CDROM, y listas para trabajar una vez iniciadas. La configuración es muy potente, permitiéndole construir un CDROM que cumpla fielmente sus necesidades. Puede aprender más sobre configuración en Dave Dittrich's customization site.

Escenario de implementación
Hemos diseñado el CDROM con un tipo específico de desarrollo en mente. La versión actual del Honeywall CDROM está diseñada para implementar una red trampa independiente. Esto significa que mucha, si no casi toda la configuración inicial, monitorización, y mantenimiento se hace localmente en el sistema. Puede administrar remotamente el sistema con SSH, pero las capacidades de la UI actual pueden estar algo limitadas. La arquitectura del Honeywall CDROM es la misma que la descrita en el artículo CTE: Honeynets GenII. Concretamente, la instalación vista en la arquitectura de red trampa. Allí se puede observar la pasarela Honeywall implementada como un puente de nivel dos separando un sistema de producción de la red de sistemas trampa. La disposición por defecto de las interfaces en el Honeywall es:

Además de ser utilizadas para el Honeywall, muchas de las herramientas incluidas en el Honeywall CDROM, tales como el IPS, IDS, y el cortafuegos, pueden ser utilizadas para asegurar y defender redes de producción. El rápido despliegue y configuración junto con las características de configuración hacen al Honeywall apropiado para usos diferentes del campo de las redes trampa. Algunos ejemplos son:

Palabras de advertencia
Una de nuestras preocupaciones es que la gente que no comprende las tecnologías o los problemas implicados ahora puede ser capaz de implementar esta tecnología. Si usted no ha dedicado el tiempo necesario para aprender y comprender qué tipo de problemas puede tener si instala una red trampa, no está preparado para configurar una. Puede arriesgar su ancho de banda de descarga, puede arriesgarse a que un atacante (¡que puede conocer más de su propia red que usted mismo!) descubra su red y aproveche este conocimiento, o puede violar derechos de privacidad y arriesgarse a ser procesado o provocar acciones civiles del estado o de estatutos de privacidad electrónica.

El Honeywall CDROM no reduce las habilidades necesarias para implementar y mantener una red trampa. Sólo reduce el tiempo necesario para instalar y configurar una. Los operadores de la red trampa deben tener un alto grado de habilidad en redes y seguridad para comprender y responder a los eventos de una red trampa. La tecnología de Redes Trampa no es perfecta. Las técnicas de control de datos utilizadas tienen limitaciones conocidas, y hay formas de esquivar las medidas que hemos instalado. Cualquiera que instale este CDROM necesita ser avisado de los riesgos involucrados. Para una mejor comprensión de estas cuestiones, acuda a CTE: Honeynets.

Ha habido varios éxitos notables de redes trampa en el campo durante los últimos años. En cada caso, la red trampa involucrada era monitorizada por individuos con una gran preparación y profundos conocimientos en seguridad de redes y tecnologías de redes trampa. Un ejemplo es el trabajo que ha hecho el equipo de Georgia Tech. Es imperativo que antes de emprender cualquier implementación en producción, los sujetos implicados se sientan absolutamente cómodos con las complejidades de las redes TCP/IP, análisis forense de equipos y redes, y tengan el tiempo y recursos necesarios para monitorizar y responder a eventos de la red. Si usted aún está intentando captar y comprender su cortafuegos o sensor IDS, este CDROM no es para usted.

Conclusión
La primera versión pública del Honeywall CDROM, Eeyore, pretende proporcionar las herramientas necesarias para instalar y configurar rápidamente una red trampa de segunda generación. Los miembros del Honeynet Project y el Honeynet Research Alliance están trabajando activamente en el Honeywall CDROM y están planeando varias actualizaciones y mejoras para la siguiente versión, incluyendo:

Como esto es una beta, le animamos a informarnos sobre errores o parches. Se ha habilitado un servidor público de errores para el Honeywall y otras herramientas desarrolladas por el Honeynet Project. También nos gustaría oír sus pensamientos sobre qué puede ser añadido/eliminado de la versión actual. Las preguntas y comentarios deberían ser dirigidas a project@honeynet.org. El Honeywall CDROM está pleno desarrollo. Compruebe con frecuencia el sitio del Honeynet Project para obtener las últimas noticias y actualizaciones.

The Honeynet Project