Instalando y Configurando Centro IDS / IPS con Prelude SIEM, Snort y Prewikka. Parte 3

Seguimos con Prelude IDS / IPS. En la primera parte vimos como instalar y configurar todo el sistema, en la segunda parte instalamos un sensor snort remoto.

prewikka con apache2 gestion y registro alertas y sensores

Recordaréis que como servidor web instalamos LighTTPD. Eso es así porque, en su momento (no soy ningún experto en GNU/Linux), tuve algún problema para configurar el gestor de sensores Prewikka con apache2. Solventado los problemas, vamos a configurar Prelude para Apache. De esta forma la gestión será más completa, tendremos acceso a las estadísticas gráficas, etc, etc.

Modificado 9-04-2011. Se añade una imagen con el contenido del archivo /etc/apache2/sites-available/prewikka

Si ya habéis instalado LighTTPD, paramos el servicio y desistalamos. Una hecho esto seguimos.

Si tenéis apache2 instalado pues adelante y si no, pues seguimos los pasos cada uno según le convenga.

En este caso, aunque no es necesario, he montado todo de nuevo en otro host.

Instalación de paquetes necesarios para funcionamiento Apache2 y Prewikka.

Instalamos apache2, en mi caso he instalado lo siguiente:

  • apache2
  • apache2.2-common
  • apache2.2-mpm-prefork
  • apache2-utils

Además nos hará falta instalar:

  • libapache2-mod-python

Creamos el archivo /etc/apache2/sites-available/prewikka editamos y añadimos lo siguiente:

archivo prewikka sites-available

En mi caso he desactivado 000-default y activado el sitio prewikka:

a2dissite 000-default   (deshabilitamos este sitio)

a2ensite prewikka       (habilitamos el sitio prewikka)

apache2ctl restart       (reiniciamos servicio)

Una vez reiniciado el servicio apache ya podemos accerder a prewikka de la forma:

Además he personalizado la interface (pinchar para agrandar)d esde /etc/prewikka/prewikka.conf:

prewikka con apache2 gestion y registro alertas y sensores

Podemos accecder a los distintos tipos de estadísticas gráficas desde statistics:

prelude prewikka estadisticas

Los sensores correctamente configurados. Añadiremos algunos más como:

  • Prelude-correlator
  • Suricata
  • Nagios
  • …. etc,

Arriba tenemos los sensores locales y abajo snortsensor (recordad que lo instalamos desde el host remoto 192.168.1.106 en el capítulo 2) que es el sensor remoto snort:

sensores registrados prelude prewikka

=======

Hasta aquí por hoy. Hasta la próxima que segurimos con Prelude.

Esta entrada fue publicada en OSSEC HIDS, Prelude IDS - IPS, Seguridad y redes, Snort. Guarda el enlace permanente.

14 respuestas a Instalando y Configurando Centro IDS / IPS con Prelude SIEM, Snort y Prewikka. Parte 3

  1. Mauricio dijo:

    Otra vez, disculpa mi torpesa, pero ahora en apache no carga la pagina que colocas en la foto.
    Aqui paso el log de apache

    [Fri Apr 08 17:17:45 2011] [notice] SIGHUP received. Attempting to restart
    [Fri Apr 08 17:17:45 2011] [error] python_init: Python version mismatch, expected ‘2.6.5’, found ‘2.6.6’.
    [Fri Apr 08 17:17:45 2011] [error] python_init: Python executable found ‘/usr/bin/python’.
    [Fri Apr 08 17:17:45 2011] [error] python_init: Python path being used ‘/usr/lib/python2.6/:/usr/lib/python2.6/plat-linux2:/usr/lib/python2.6/lib-tk:/usr/lib/python2.6/lib-old:/usr/lib/python2.6/lib-dynload’.
    [Fri Apr 08 17:17:45 2011] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
    [Fri Apr 08 17:17:45 2011] [notice] mod_python: using mutex_directory /tmp
    [Fri Apr 08 17:17:45 2011] [notice] Apache/2.2.16 (Ubuntu) PHP/5.3.3-1ubuntu9.3 with Suhosin-Patch mod_python/3.3.1 Python/2.6.6 configured — resuming normal operations
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] mod_python (pid=26199, interpreter=’prewikka’, phase=’PythonHandler’, handler=’prewikka.ModPythonHandler’): Application error
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] ServerName: ‘prewikka’
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] DocumentRoot: ‘/etc/apache2/htdocs’
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] URI: ‘/favicon.ico’
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] Location: ‘/’
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] Directory: None
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] Filename: ‘/etc/apache2/htdocs’
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] PathInfo: ‘/favicon.ico’
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] Traceback (most recent call last):
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] File “/usr/lib/python2.6/dist-packages/mod_python/importer.py”, line 1537, in HandlerDispatch\n default=default_handler, arg=req, silent=hlist.silent)
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] File “/usr/lib/python2.6/dist-packages/mod_python/importer.py”, line 1229, in _process_target\n result = _execute_target(config, req, object, arg)
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] File “/usr/lib/python2.6/dist-packages/mod_python/importer.py”, line 1128, in _execute_target\n result = object(arg)
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] File “/usr/lib/python2.6/dist-packages/prewikka/ModPythonHandler.py”, line 80, in handler\n core = Core.get_core_from_config(config, threaded=True)
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] File “/usr/lib/python2.6/dist-packages/prewikka/Core.py”, line 99, in get_core_from_config\n _core_cache[path] = Core(path)
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] File “/usr/lib/python2.6/dist-packages/prewikka/Core.py”, line 143, in __init__\n self._env.idmef_db = IDMEFDatabase.IDMEFDatabase(self._env.config.idmef_database)
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] File “/usr/lib/python2.6/dist-packages/prewikka/IDMEFDatabase.py”, line 370, in __init__\n self._db = preludedb_new(sql, None)
    [Fri Apr 08 17:17:46 2011] [error] [client 127.0.0.1] PreludeDBError: Access denied for user ‘prelude’@’localhost’ (using password: YES)

  2. Alfon dijo:

    Disculpa Mautricio. Pero La plantilla nireblog a la hora de editar se ha comido algunos caracteres. Lo que tienes que poner en el archivo prewikka lo tienes en el mismo articulo que acabo de modificar añadiendo una imagen con lo que tienes que poner.
    .
    Luego en /etc/prewikka/prewikka.conf tienes que asegurarte del pass para acceso a mysql. Por defecto creo que pone prelude pero debes cambiarlo y poner el mismo pàss que tenga /etc/prelude-manager/prelude-manager.conf donde dice:
    # Password used to connect the database.
    pass = loquesea

    este es el que tienes que poner en prewikka.conf en donde dice:
    type: mysql
    host: localhost
    user: prelude
    #pass: prelude
    pass: loquesea
    name: prelude

    Con esto debería estar solucionado.
    Saludos,

  3. Mauricio dijo:

    Amigo, disculpa la retirada, hoy tengo tiempo libre y me dispuse a resolver el fallo para conectar.
    Ya por fin me entra el prewikka, pero no se ve bien, como que le hace falta los estilos, pero por lo menos ya logro entrarme.
    Gracias otra vez.

  4. Mauricio dijo:

    Un detalle, es que no me entra como localhost/prewikka
    Mas bien, solo con colocar localhost, supongo que ahi es donde esta el problema.
    Vere si preparo un equipo para dicho cometido, ya que me interesa tener una forma de visualizar facilmente todo lo que ocurre en mi red.

  5. Alfon dijo:

    Hola Mauricio,
    Me alegro que te vaya ya todo mejor. Pues si, tal como verá sen el artículo, he configurado apache / prewikka para que se accesible desde http://localhost/
    Saludos,

  6. Alvaro dijo:

    Hola, tengo que decir, muchas gracias ha sido el único tutorial que me ha funcionado, muchas gracias de nuevo, pero tengo un problema, instale todo como lo indica, pero después de entrar al entorno Web no me sale prácticamente ninguna información… doy clic en agentes y me aparece el “agente-manage” y en status “missing” y prelude-lml no me aparece, no se que error estoy cometiendo.

    Cuando instale el prelude-lml lo resgistre y me aparece que esta al parecer bien
    “prelude-lml root root 61767236583733 idmef:w 3708022672193373
    prelude-manager prelude prelude 3708022672193373 n/a n/a”

    Espero me pueda ayudar

  7. Alvaro dijo:

    Pude arreglar el problema🙂, tenia primero que cerrar la terminal que tenia abierta cuando estaba registrando el agente prelude-lml, y paso siguiente obligar el inicio de estos servicios tanto de “prelude-manage” como del “prelude-lml” con estos comandos:

    /etc/init.d/prelude-manage start
    /etc/init.d/prelude-lml start

    Si alguien tiene el mismo problema mio ahí está la solución, de nuevo muchisimas gracias porque gracias a esta pagina puede por fin instalar el IDS.

  8. Alvaro dijo:

    Otra pregunta, por ahí vi que también se puede colocar trabajar un sensor en Windows? pues aparece una aplicacion Win32 de “libprelude” no se si sea un agente para Windows y si lo es usted sabe como hacerlo trabajar con Windows y Prelude, o para que trabaje con Windows tocará colocar como sensor a OSSEC

  9. Jesús A. Suárez dijo:

    Hola Mauricio,
    El sitio principal de prelude está caído y en algunas listas indican que están redefiniendo el proyecto con el patrocinante. Sabes alguna noticia al respecto?. O sabes en que otra parte se puede conseguir los fuentes y la documentación?

    Saludos y Gracias

  10. victor dijo:

    Disculpad las dudas, pero me he quedado con la miel en los labioss…

    apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

    He seguido todos los pasos al pie de la letra, pero nada. Agradecería ayuda o alguna orientación.

    Saludos y gracias por el blog, especialmente por este pedazo de post🙂

  11. victor dijo:

    es un problema con la versión de python. Aquí el log de apache:

    [Tue Sep 25 21:44:27 2012] [notice] Apache/2.2.16 (Debian) configured — resuming normal operations
    [Tue Sep 25 21:44:32 2012] [notice] Graceful restart requested, doing restart
    [Tue Sep 25 21:44:32 2012] [error] (9)Bad file descriptor: apr_socket_accept: (client socket)
    apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
    [Tue Sep 25 21:44:32 2012] [notice] Apache/2.2.16 (Debian) configured — resuming normal operations
    [Tue Sep 25 22:54:31 2012] [notice] caught SIGTERM, shutting down
    [Tue Sep 25 23:29:44 2012] [notice] Apache/2.2.16 (Debian) PHP/5.3.3-7+squeeze14 with Suhosin-Patch configured — resuming normal operations
    [Tue Sep 25 23:30:57 2012] [notice] Graceful restart requested, doing restart
    [Tue Sep 25 23:30:57 2012] [error] (9)Bad file descriptor: apr_socket_accept: (client socket)
    apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
    [Tue Sep 25 23:30:59 2012] [notice] Apache/2.2.16 (Debian) PHP/5.3.3-7+squeeze14 with Suhosin-Patch configured — resuming normal operations
    [Tue Sep 25 23:31:00 2012] [notice] child pid 16288 exit signal Segmentation fault (11)
    [Tue Sep 25 23:31:00 2012] [notice] child pid 16289 exit signal Segmentation fault (11)
    (…)
    [Tue Sep 25 23:42:16 2012] [notice] SIGHUP received. Attempting to restart
    apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
    [Tue Sep 25 23:42:16 2012] [error] python_init: Python version mismatch, expected ‘2.6.5+’, found ‘2.6.6’.
    [Tue Sep 25 23:42:16 2012] [error] python_init: Python executable found ‘/usr/bin/python’.
    [Tue Sep 25 23:42:16 2012] [error] python_init: Python path being used ‘/usr/lib/python2.6/:/usr/lib/python2.6/plat-linux2:/usr/lib/python2.6/lib-tk:/usr/lib/python2.6/lib-old:/usr/lib/python2.6/lib-dynload’.
    [Tue Sep 25 23:42:16 2012] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
    [Tue Sep 25 23:42:16 2012] [notice] mod_python: using mutex_directory /tmp
    [Tue Sep 25 23:42:16 2012] [notice] Apache/2.2.16 (Debian) PHP/5.3.3-7+squeeze14 with Suhosin-Patch mod_python/3.3.1 Python/2.6.6 configured — resuming normal operations
    [Tue Sep 25 23:42:39 2012] [error] [client 127.0.0.1] File does not exist: /etc/apache2/htdocs
    [Tue Sep 25 23:43:06 2012] [error] [client 127.0.0.1] File does not exist: /etc/apache2/htdocs

    Agradecería muco cualquier tipo de orientación,
    saludos🙂

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s