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
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.