Instalando OSSEC HIDS, Agente Windows XP E Interfaz WEB En CentOS (Manual y VideoTutorial)

Bueno hoy quisiera hablarles acerca de los IDS y en especial de este IDS llamado OSSEC, el cual es una herramienta GPL de modelo Cliente-Servidor enfocada a la deteccion de intrusos.

VideoTutorial


En el siguiente enlace pueden ver un VideoTutorial haciendo un laboratorio de OSSEC.

http://www.dalealplay.com/informaciondecontenido.php?con=332993






Que es un IDS?

Un IDS es un Sistema de Deteccion de Intrusos, es un software capaz de relacionar eventos en un equipo y relacionarlos con un tipo de ataque si asi lo fueran. Los IDS suelen contener sniffers para basarse en estos y determinar los ataques, es algo similar a tener a una persona sentada en un equipo monitoreando una red con Whireshark y verificando lo que pasa para ver si hay intrusiones.

Existen 2 tipos de IDS los HIDS y los NIDS.

HIDS

Es un Sistema de Deteccion de Intrusos basado en Host el cual registra los eventos ocurridos en este ya que generalmente cuando hay una intrusion quedan rastros en lugares como el registro o las DLL ( en el caso Windows).

NIDS

Es un Sistema de Deteccion de Intrusos basado en Red se encarga de sniffear y determinar los accesos a todo un segmento de red y dar oportuno aviso al administrador de esta.

OSSEC HIDS

Ossec es una herramienta con varios años de desarrollo aunque reconocida hasta hace poco ya que fue incluida en el famoso OSSIM de AlienVault el cual es un conjunto de herramientas bajo la licencia GPL diseñadas para la verificacion de la seguridad de la informacion.

Ossec esta desarrollado para varios sistemas operativos entre estos Windows, Linux, MacOs, OpenBSD y FreeBSD, este esta dividido en 3 componentes basicos los cuales son el servidor el cual monitorea y registra la actividad de los agentes, los agentes son quienes estan siendo verificados y le envian la informacion de lo que ocurre en ellos al servidor y la interfaz WEB la cual se instala en un servidor WEB y sirve para la administracion grafica del servidor.

Instalación de OSSEC HIDS.

Inicialmente contamos lo siguiente.



En la imagen se muestra nuestro servidor en CentOS 5.4 atualizado con Ossec, el cual también tiene un servidor WEB para alojar nuestra interfaz WEB del OSSEC y un servidor DNS para la resolucion del nombre ossec.gnunick.com, ademas este funciona como router enrutando paquetes desde el cliente hacia internet y también es reenviador DNS para la resolucion de nombres a partir de los clientes a dominios de internet. En el cliente no tengo ninguna configuración  simplemente lo tengo con el servidor como Gateway y como servidor DNS.








Si desean saber mas acerca de como instalar un servidor WEB y DNS en CentOs pueden seguir los siguientes links.



Instalando El Servidor OSSEC.

Comenzaremos descargando los paquetes necesarios para la instalación del OSSEC, estos son el gcc y el gcc-c++, aclaro que los paquetes httpd, php y automake tambien deben ser instalados si no los tienen.


Nos descargaremos desde la WEB oficial www.ossec.net los paquetes necesarios para la instalación del servidor en Linux.


Luego de descargados iremos al directorio donde están ubicados y con el descompresor tar los extraeremos.


Ahora tenemos la carpeta donde esta ubicado el instalador y nos iremos hasta esta, allí encontraremos un archivo llamado install.sh y lo ejecutaremos con ./install.sh


Comenzara el asistente de instalación y nos preguntara el idioma en el que queremos ejecutar dicho asistente, en este caso con "es" elegiremos el español.


Luego nos dará una breve información del equipo y nos dirá que presionemos enter para continuar.


Elegiremos el tipo de instalación la cual en este caso sera el servidor, también nos pedirá la ruta en la que lo queremos instalar que por defecto es /var/ossec/, también nos pedirá una dirección de correo donde enviarnos notificaciones de lo que pase en el servidor o en los agentes y le definiremos una, el inmediatamente ubicara el servidor SMTP y le daremos que lo use.



También nos preguntara si deseamos agregar el servidor de integridad del sistema, en mi caso puse si, lo mismo para el sistema de detección de rootkit y la habilitación de la respuesta activa.


Ahora habilite la respuesta de desechar en el Firewall y luego le definí la lista blanca la cual son mis servidores  DNS para la resolución de dominios de internet, también decidi habilitar el syslog remoto.


Comenzara la instalación luego de presionar enter.


Cuando esta finalice nos mostrara los demonios que nos permiten iniciar o detener el servidor.


Ahora entraremos al archivo de configuración del OSSEC en /var/ossec/etc/ossec.conf


En este archivo añadimos las reglas, las reacciones y los comandos a ejecutar según el caso. También habilitaremos el ingreso de conexiones remotas desde la subred 192.168.1.0/24 por el puerto 1514 UDP hasta nuestra dirección IP (192.168.1.2). Ademas de esto le diremos que denegaremos en el archivo /etc/host.deny cualquier IP que realice intentos de intrusión a nuestro servidor o a los agentes.




En el siguiente link http://www.ossec.net/doc/syntax/ossec_config.html podremos ver las configuraciones y las opciones de lo que podemos hacer en este archivo.


Ahora  ya que designamos el puerto 1514 UDP para las comunicaciones con los clientes le daremos acceso a dicho puerto desde los iptables.


Ahora reiniciaremos el OSSEC para que tome los cambios de las configuraciones.



Instalando El Agente

Ahora nos iremos hasta el cliente XP el cuan sera un agente. Para esto nos descargaremos desde la pagina oficial de OSSEC la versión agente para Windows.


Ejecutaremos el binario y seguiremos los pasos para la instalación del agente.






Finalizada la instalación se ejecutara el Agent Manager y nos aparecerá una ventana como la siguiente.


En esta ventana ingresaremos la IP del servidor y la llave de autenticacion la cual a continuación les explico como obtenerla.

Primero vamos al servidor OSSEC, alli ejecutamos el manage_agents, en este nos aparece la opción Add an agent, la elegimos presionando "A", nos pedirá un nombre para el agente el cual es irrelevante, luego una dirección IP la cual es la del agente que vamos a añadir y finalmente nos dirá que el ID del agente sera 001.


El lo añadirá y nos dará los resultados y nos pedirá confirmación, se la daremos escribiendo "y", ahora veremos otra opción la cual es Extract key for an agent, la elegiremos presionando "E"


Nos dirá que hay un agente disponible le diremos el ID del agente el cual es 001 y el nos arrojara una llave, esta llave sera la autenticacion que debemos ingresar en el agente Windows para que se autentique contra el servidor OSSEC.


Introducimos entonces en el agente la IP del servidor con la llave que nos acaba de arrojar.


Ahora nos pedirá confirmación y le daremos Aceptar.



Miraremos los logs del sistema.




Por ser la primer vez que ingresamos no hay un archivo de logs creado así que nos dirá que si lo queremos crear.


Reiniciaremos entonces el agente.



Y visualizaremos los logs, en estos podremos ver lo que se esta monitoreando y al final nos dice que el agente se ha iniciado.



Reiniciaremos el ossec-remoted con el comando /var/ossec/bin/ossec-remoted restart y con el comando /var/ossec/bin/agent_control -i#deID visualizaremos la informacion de los agentes, en este caso el 001, por ahora me salio "Never Conected" esto se debe a que debo reiniciar el ossec-control y el OSSEC.


Ahora los reiniciare.



Si listamos de nuevo los agentes me aparecerá Active que significa que esta habilitado para enviar notificaciones al servidor.



Instalando La Interfaz WEB.




Ya contamos con un servidor y un agente OSSEC, ahora instalaremos el entorno gráfico desde una interfaz WEB, para esto nos descargaremos dicha interfaz desde la pagina oficial de OSSEC.




Nos pararemos el el directorio de descarga y descomprimiremos el archivo con el descompresor tar.


Ahora listaremos para ver que se haya descomprimido satisfactoriamente, luego crearemos un DocumentRoot en el cual vamos a alojar la interfaz, este quedara en /var/www/html/ossec/, luego de crearlo moveremos todo el contenido de la carpeta que acabamos de descomprimir a la que acabamos de crear.




Ahora crearemos un hosting virtual en /etc/httpd/conf.d/(nombre del hosting virtual) con los siguientes parámetros.



Ahora nos desplazáramos hasta el DocumentRoot y ejecutaremos el archivo setup.sh, el cual al final nos pedirá un usuario y una contraseña.


Luego agregamos en /etc/group el usuario apache a ossec.

 

Y le daremos permisos y cambiaremos el grupo por apache a la carpeta temp dentro de el DocumentRoot, finalmente reiniciaremos nuestro servidor apache y para verificar que nuestro DNS resuelve por la direccion ossec.gnunick.com le daremos nslookup.


Ahora nos desplazaremos hasta un navegador web e ingresaremos la URL de nuestro servidor, allí nos deberán aparecer los agentes disponibles, las ultimas modificaciones y los últimos eventos tanto en el agente como en el servidor.


Ahora desde otra maquina simulare un ataque de fuerza bruta por ssh al servidor intentando ingresar contraseñas erróneas para que el OSSEC detecte un intento de intrusión.


Podremos ver en el ultimo evento que hubo un intento de intrusión desde la IP 192.168.1.10 hasta nuestro servidor. 


Aquí podremos observar que el OSSEC detecto que la intrusion era del tipo Brute Force.


Ahora nos desplazaremos al archivo /etc/host.deny en el servidor para verificar si la ip que intento hacer la intrusión fue denegada.


Efectivamente se denegaron todos los intentos de conexión desde la IP que intento hacer el ataque.


Con esto termino mi introducción a OSSEC, cabe resaltar que es un software muy completo y con muchas opciones que es bueno indagar, espero que les haya gustado, estoy abierto a recomendaciones. Muchas gracias.

Si has encontrado útil este artículo puedes compartirlo desde tu blog, página Web o foro.




0 comentarios:

Publicar un comentario

 
Licencia Creative Commons
Este obra está bajo una licencia Creative Commons Atribución-NoComercial-SinDerivadas 2.5 Colombia.