Babel:Documentation es:Introduction

From openIdeas.info

Jump to: navigation, search

Babel Enterprise 2.0 Documentacion

Contents

Introducción a Babel Enterprise 2.0

Babel Enterprise 2.0 es un cuadro de mandos de seguridad.

Babel Enterprise 1.1 está centrado en la parte más técnica. Es una potente herramienta capaz de auditar las principales tecnologías de sistemas operativos del mercado. Hay agentes de Babel Enterprise que se pueden ejecutar en las últimas versiones de Microsoft™, como Windows 2003, o Windows XP y en los sistemas Unix más comunes como Solaris™ 9, AIX™5.1, SUSE GNU/Linux 9 ES y Debian/Ubuntu Dapper. Además, los agentes de Babel Enterprise pueden ser fácilmente adoptados para otras versiones u otros sistemas como BSD o HPUX™). Con estos agentes es posible verificar el cumplimiento de políticas de seguridad, respecto a instalación y mantenimiento de sistemas de forma segura. Y además, como los resultados están normalizados, permite comparar los resultados entre sí.

Pero Babel Enteprise 1.1 no es un cuadro de mandos de seguridad, para serlo le faltan tres cosas fundamentales:

  • La capacidad de agregar datos de diferentes fuentes en activos concretos.
  • La capacidad para poder trabajar sobre políticas, que actúen como un filtro sobre los datos obtenidos de las diferentes fuentes. Estas políticas son las métricas que miden el cumplimiento de los objetivos marcados por una compañía a nivel de seguridad.
  • La capacidad de integrar datos «interactivos» por parte de un director de seguridad de forma que se complementen los datos obtenidos de forma automática por los agentes.

Con estas premisas se ha desarrollado Babel Enterprise 2.0, como una estructura que permita integrar diferentes datos de diferentes fuentes, seleccionando aquellos de interés -mediante diferentes filtros- en los múltiples activos de una organización. Las fuentes en cada organización serán diversas y cada organización será libre para desarrollar los módulos específicos, e integrarlos en la estructura que ya hay desarrollada.

Babel Enterprise 2.0 está diseñado para gestionar la seguridad de sistemas en un entorno grande y complejo con diferentes tecnologías y diferentes Sistemas Operativos con distintas versiones y configuraciones. Puede ser gestionado por diferentes equipos humanos con diferentes capacidades y responsabilidades. Y permite ser instalado con redundancia de todos sus componentes.

Babel Enterprise 2.0 usa un punto de vista pragmático e intenta evaluar los puntos que representan un riesgo en la seguridad y pueden ser mejorados con la intervención de un administrador. Es una herramienta no intrusiva, no realiza absolutamente ningún cambio en los sistemas que audita, sólo ejecuta los test que se necesitan y da los resultados en un informe detallado, incluyendo un indicador numérico con el nivel de seguridad del sistema.

Babel Enterprise 2.0 es una plataforma que sirve para construir lo que viene a llamarse un “Cuadro de mando de la seguridad” 100% adaptado a las necesidades concretas de cada empresa. Dicho cuadro de mando, en esta versión, viene delimitado por las siguientes características:

  • Capacidad de valorar el grado de cumplimiento de una normativa (en España LOPD, LSSI e ISO/UNE 17799). En multinacionales, principalmente SOX (Sarbanes-Oxley).
  • Capacidad de implementar controles software para validar el cumplimiento de esas políticas.
  • Capacidad de valorar los riesgos de los activos (lo que verifica Babel 1.2)
  • Capacidad de valorar los riesgos presentes desde el exterior. Se ha integrado con Nessus, y Snort y tiene capacidad de integración con prácticamente cualquier aplicación de este tipo.
  • Capacidad de monitorizar niveles de servicio (SLA) y disponibilidad de los servicios y procesos de negocio, integrándolo con Pandora FMS.
  • Gestión de eventos de seguridad reportados por activos de seguridad mediante integración con Pandora FMS, recolectores de eventos, Antivirus o AntiSpam. Se trata de que Babel pueda presentar y relacionar entre sí esos datos ya procesados por cada una de las herramientas anteriormente expuestas, no de hacer que Babel “almacene” toda esa información.
  • Capacidad de salvaguardar esa información durante un tiempo limitado para su consulta por parte de una auditoría independiente.

Babel Enterprise 2.0 es Software Libre, tiene una API abierta, todos sus detalles internos son abiertos, tiene un repositorio público (Subversion) y toda la documentación ha sido generada usando estándares libres como DocBook SGML, y editada usando Software Libre (eMacs, OpenJade). La pagina Web del proyecto es http://babel.sourceforge.net.

Los usuarios avanzados pueden libremente modificarlos y adaptarlos a sus sistemas.

Arquitectura general

La arquitectura de Babel 2.0 se puede ver gráficamente en la siguiente imagen:

Babel Enterprise tiene una arquitectura distribuida basada en varios componentes.

Agentes de Babel Enterprise

Babel Enterprise ha sido diseñado con una estructura muy modular, fácil de expandir y personalizar. Los agentes se definen en base a módulos independientes. Los módulos tienen extensión .bem (Babel Executable Module). Cada módulo ejecuta una porción diferente de la auditoría (usuarios, permisos, servicios, etc).

Algunos de ellos tienen asociados un pequeña base de datos en texto plano o ciertos elementos de configuración. Funcionan a modo de lista blanca o lista negra, permitiendo al administrador parametrizar y configurar el comportamiento de cada agente, «filtrando» así la información recolectada. Esos archivos tienen el mismo nombre que el modulo pero con extensión .lst. Por ejemplo, en el módulo de contraseñas, el fichero de biblioteca (.lst) contiene aquellas palabras que usaremos como diccionario y generalmente son las contraseñas típicas que se suelen usar en una organización (nombre del departamento, empresa, contraseñas «corporativas», etc).

Cada versión de Babel Enterprise tiene diferencias entre los módulos en función de la arquitectura sobre la que se ejecute, por ejemplo, en GNU/Linux existe un módulo llamado xined.conf, mientras que su equivalente en Solaris™ o AIX™ se llama inetd.conf. El desarrollo interno de cada módulo ha sido adaptado a la arquitectura nativa, y los módulos para Solaris™ no se ejecutan sin cambios en AIX™. Por eso existen diferentes agentes de Babel Enterprise para cada arquitectura.

Servidor de Babel Enterprise

El servidor (Babel Data Server) es el componente principal que procesa los ficheros de datos (XML) generados por los agentes. Cada XML contiene una serie de información separada por módulos. Cada módulo es de un tipo —que ha de ser previamente definido en la consola de Babel Enterprise y almacenado por esta en la base de datos.

Por medio del servidor, estos ficheros de datos son procesados y de esta manera, convertidos en datos visibles por el usuario desde la consola de administración de Babel Enteprise. El servidor genera los datos de auditoría «raw» (sin ponderación de riego) y a la vez genera las diferentes políticas (con ponderación de riesgo) para el conjunto de datos procesado. Además es capaz de procesar la información relacionada procedente de datos de tipo conector (plugin), que relacionan la información recibida del agente, con información asociada de las extensiones que están asociados a determinados módulos de datos recibidos por parte del agente.

Finalmente el servidor, después de procesar el fichero de datos, lo borra del sistema de archivos donde es recibido.

Consola web

La Consola web es la interfaz gráfica de usuario. Visualiza información y permite acceder a todo tipo de informes gráficos detallados sobre las ejecuciones de las políticas de seguridad. Este entorno permite también gestionar la infraestructura de Babel Enterprise y obtener información sobre el estado de cada agente.

Base de datos

La base de datos almacena toda la información de Babel Enterprise: información de los agentes, perfiles de usuario, elementos de la auditoría, elementos de configuración y por supuesto los datos de cada auditoría ejecutada. La base de datos funciona sobre MySQL, y se puede emplear un clúster MySQL para mejorar el rendimiento y la escalabilidad.

Colectores

Los colectores de Babel Enterprise son nuevos componentes que permiten procesar información de fuentes muy heterogéneas. La principal diferencia entre un colector y un agente es que el colector permite procesar de una sola vez, información proveniente de varias fuentes, creando las diferentes auditorías y políticas necesarias para cada agente (asociando los datos por la IP del agente existente en Babel Enterprise).

La arquitectura del colector se divide en :

  • Collector agent: Pequeña aplicación (que puede desarrollarse en cualquier lenguaje) que permite generar a través de un fichero de datos, un XML específico de Babel Collector para que este sea procesado por el servidor de colectores. El XML incluye todos los datos procesador desde el origen. Este fichero generado contendrá toda la información para todas las máquinas existentes en Babel Enterprise (clasificadas por dirección IP) y todos los módulos que tengan un módulo asociado a dichas máquinas.
  • Collector Server: Servidor que procesa el XML generado por el Collector agent y que es capaz de traducir el formato original en un XML de tipo Babel Collector.

El primer colector desarrollado ha sido el colector para políticas de Nessus. Este agente colector está desarrollado en Python y procesa una auditoría Nessus en formato .nbe, generando un ficheros de datos de babel collector siguiendo la estructura del colector XML descrita anteriormente. Una vez generado el XML, sólo hay que hacer una llamada al Collector Server para que procese el fichero de datos recién generado por el Collector Agent de Nessus.

Nueva organización de Babel Enterprise 2.0

La nueva versión de Babel Enterprise 2.0 ha cambiado radicalmente la forma de entender y procesar la información que llega de los agentes.

Babel Enterprise se dividde en los siguientes grupos:

  • Dominios: Es una división organizativa, que podría ser, por ejemplo, un grupo de empresas filiales dentro de una empresa madre, una serie de departamentos, o simplemente, diferentes clientes. Los agentes se asocian a dominios.
  • Áreas: Son grupos de conocimiento lógico, donde se agrupa la información. Como ejemplo se puede hablar de: Normativa LOPD, Normativa ISO 17799, Vulnerabilidades externas, Seguridad en Sistemas, IDS, Seguridad Perimetral, Gestión de la seguridad, Seguridad Física, Disponibilidad, etc
  • Políticas: Son un filtrado de información con las métricas de seguridad para cada tipo de elemento reportado. Dichas políticas se aplican sobre dominios, y estas a su vez se ejecutan en los agentes pertenecientes a esos dominios y que contienen datos incluidos en las políticas definidas. En base a la métrica contenida en cada política, se genera un índice de riesgo por módulo dentro de cada política. Como ejemplo las políticas podrían ser: Política de Snort, de Nessus, de Gestión de Parches, Cumplimiento de 1799, Hardening de Sistemas, LOPD.
  • Grupos técnicos: Es una agrupación técnica que clasifica los agentes que enviarán datos al servidor de Babel Enterprise.

Image:Diagram1.jpeg