Manual de instalación de MISP
La ciberseguridad es un desafío continuo que demanda herramientas eficaces para identificar y gestionar amenazas. MISP (Malware Information Sharing Platform) es una plataforma diseñada para facilitar el intercambio de información sobre ciberamenazas y ayudar a las organizaciones a responder a ellas de manera más efectiva.
Este manual te guiará paso a paso en el proceso de instalación de MISP, asegurando que puedas comenzar a usarla de forma rápida y sencilla.
¿Dudas o interés sobre conectar a tu institución al MISP del CSIRT Nacional? Escríbenos a [email protected].
Antes de comenzar con la instalación, se recomienda revisar si la conexión a internet del servidor utiliza proxy, ya que el script realiza tareas de actualización y descarga de manera automática desde repositorios GIT.
También es recomendable revisar la hora y la zona horaria configurada en el servidor, y de igual manera, configurar el cliente NTP para mantener todos los logs de forma ordenada y que las tareas se ejecuten en los horarios que se configuren.
Todos los comandos deben ser ejecutados con un usuario con privilegios de administrador, o con el usuario "root". Para este documento de instalación utilizaremos "root"
Requisitos de hardware mínimos:
- 4 GB RAM
- 2 vCPU
- 150 GB de almacenamiento
Requisitos de hardware recomendados:
- 16 GB RAM
- 4 vCPU
- 200 GB de almacenamiento
Para comenzar con la instalación, debemos tener en cuenta que actualmente existe un script de instalación para distribuciones Ubuntu / Debian. Para efecto de este manual utilizaremos Ubuntu en su versión 24.04.x.
En caso de no tener nuestro Ubuntu en esta versión, podemos actualizar desde terminal:
sudo apt update && sudo apt upgrade -y && sudo do-release-upgrade
Para comenzar, como usuario “root”, descargamos del repositorio de GitHub de MISP el script de instalación con wget con el comando:
wget -O /tmp/INSTALL_MISP.sh https://raw.githubusercontent.com/MISP/MISP/refs/heads/2.5/INSTALL/INSTALL.ubuntu2404.sh
Una vez descargado el archivo, debemos modificar un parámetro de instalación asociado a dominio de servidor. Si tenemos un dominio actualmente, lo utilizamos. Si no, definimos el dominio con la IP del servidor (idealmente, que sea estática). Podemos consultar mediante el comando “ip a s”:
Vamos al archivo y modificamos el valor dentro de la variable “MISP_DOMAIN” según sea nuestro caso:
nano /tmp/INSTALL_MISP.sh
Guardamos el cambio en el archivo y procedemos a ejecutar el script con “bash”:
bash /tmp/INSTALL_MISP.sh
El asistente comenzara la instalación automatizada actualizando librerías base y posteriormente continuara con la instalación de componentes de MISP.
Al finalizar instalación, se creará un archivo con credenciales de acceso y otros datos dentro de /var/log/misp_settings.txt
Nota: Para certificados SSL y otras configuraciones debemos hacerlas dentro de la configuración de Apache.
Certificados SSL: /etc/ssl/private
Archivo conf: /etc/apache2/sites-available/misp-ssl.conf
Ahora vamos a comprobar que todo haya quedado instalado de forma correcta dirigiéndonos a la URL https://TU_IP_SERVIDOR:
Ingresamos con nuestro usuario [email protected] y la contraseña entregada en el log de instalación. Nos solicitara en el primer inicio de sesión modificar contraseña:
Luego de modificar la contraseña, ya podemos navegar para hacer una revisión de las configuraciones básicas.
Nos dirigimos a Administration→Server Settings & Maintenance
Luego vamos a sección Diagnostics, donde verificaremos la versión de MISP, configuración de PHP:
Versión de MISP:
Configuración PHP:
Como podemos observar, los componentes principales se encuentran instalados correctamente, no es necesario hacer ninguna corrección.
Para la configuración inicial de MISP necesitamos:
- Crear organización
- Crear usuarios
- Activar taxonomías
- Modificar mensaje de Bienvenida
- Configurar conexión a otras instancias MISP (opcional)
2.1 Crear Organización
Para crear una organización debemos ir a Administration→Add Organisations
Luego debemos definir un nombre a nuestra organización (alias) y una descripción
Al avanzar en la sección, podemos subir una imagen como logo, como a su vez podemos definir también nacionalidad, sector y tipo (gubernamental, privado, público, etc.)
Al completar los campos, hacemos clic a Submit para guardar datos.
En la sección Administration→List Organisations podemos visualizar la organización creada.
Por defecto MISP crea una organización denominada ORGNAME, la cual solo se utiliza para pruebas.
Una vez la organización creada, ya podemos comenzar a crear usuarios dentro de MISP.
2.2 Crear Usuarios
Para crear usuarios debemos ir a Administration→Add User
En MISP, es importante tener creado los tres tipos de usuarios (roles) principales:
- User: Puede crear, editar, eliminar eventos asociados a su organización
- Admin: Puede administrar tanto su organización, como otras organizaciones que estén internamente dentro de MISP
- Sync user: Entrega posibilidad de sincronizar información (eventos, atributos y otros) con otras instancias MISP conectadas de manera remota.
Dentro de la sección Add User, al crear un usuario, debemos definir:
- Email como username
- Organización a la que pertenece (seleccionamos la organización que creamos previamente)
- Rol específico (Role)
- Contraseña (En caso de usuarios que no tengan rol Sync)
Debemos crear los tres tipos de usuarios mencionados anteriormente, siguiendo los mismos pasos. Luego de llenar los campos marcados, procedemos a crear cada usuario al hacer clic en Create user.
Nota: El campo PGP Key y NIDS SID son opcionales.
2.3 Activar taxonomías
Existen taxonomías que son un punto de partida, al momento de crear futuros eventos dentro de nuestro MISP, como es el caso de la taxonomía TLP. Para activar taxonomías debemos ir a Events Actions→List Taxonomies
Antes de activar taxonomías, hacemos Update Taxonomies (por si hubo alguna modificación)
Podemos observar que en el listado de taxonomías, en su mayoría, se encuentran deshabilitadas.
Vamos a activar la taxonomía TLP, para esto debemos ir a la barra de arriba para buscar dentro del listado y Escribimos “tlp” y hacemos clic en filter
Nos mostrara un resultado filtrado con la taxonomía "tlp". Al hacer clic en el botón “Play” quedara activada.
Luego nos solicitara confirmar la acción, le damos clic en “Aceptar”.
Una taxonomía contiene un conjunto de etiquetas que deben activadas para ser utilizadas dentro de la taxonomía. Por esta razón son dos pasos, primero se activa la taxonomía y después se activan las etiquetas asociadas mediante la función “enable all”
Nos solicitará confirmar la acción, le damos clic en “Aceptar”
Vista de tags que contiene la taxonomía "tlp"
Se recomienda habilitar también taxonomías como:
- false-positive
- csirt-americas
- common-taxonomy
2.4 Modificar mensaje de bienvenida
Podemos modificar el mensaje de bienvenida de MISP, cambiando el parámetro MISP.welcome_text_top dentro de Administration→Server Settings & Maintenance->MISP
Podemos modificar otros parámetros de bienvenida también como establecer un logo de bienvenida (MISP.welcome_logo), texto en la parte inferior (MISP.welcome_text_bottom), entre otros.
2.5 Configurar conexión a otras instancias MISP (opcional)
Para conectar 2 instancias de MISP se recomienda utilizar usuarios de sincronización. Para este primer paso, y con un usuario con rol Org Admin, tenemos que dirigirnos al menú Administration→Add User, dónde crearemos un usuario con el rol Sync user (mencionado al crear usuarios en el punto 2.2)
Luego se debe enviar al administrador de la plataforma MISP a la cual queremos que se conecte hacia nuestro MISP:
- Base URl (url o IP de su instancia MISP)
- email (del Sync User creado anteriormente)
- Authkey (del Sync User creado anteriormente)
- UUID (se encuentra en el menú Administration→ List Organisations, seleccionar el UUID de su instancia)
Debemos solicitar esta misma información al administrador para establecer conexión desde nuestro MISP hacia la otra instancia.
Una vez recibida la información, debemos configurar en MISP la conexión de la siguiente manera:
1.Se debe iniciar sesión con un usuario utilizando que tenga el rol Org Admin o Admin.
2. Luego en el menú Sync Actions→Remote Server.
3. Enseguida, en el menú de la izquierda, se debe seleccionar New Servers y rellenar los campos Base URL e Instance name (con un nombre descriptivo de la instancia a la cual se conectará).
4. En el combo box Organization Type, debe seleccionar la opción New external organisation y rellenar los campos Remote Organisation’s Name y Remote Organisation’s UUID.
5. De la misma manera, se debe rellenar el campo Authkey.
6. En las opciones Enabled synchronisation methods seleccionamos Push, Pull, Push sightings.
7. En las opciones Misc settings seleccionar la opción Self Signed (esto nos asegura que se conecten las instancia, aunque no tengan un certificado) y la opción Publish Without Email (para evitar que se envíen muchos correos en el caso de que la cantidad de eventos creados sean muchos), no se recomienda marcar Unpublish Event para evitar que se compartan eventos que estén en algún proceso de rellenado y en el caso de la opción Skip proxy (solo si aplica).
8. Finalizar esta primera etapa de configuración con el botón Submit.
Se mostrará el nuevo servidor ya configurado dentro de Sync Actions→Remote Servers.
Para verificar que la comunicación es exitosa podemos ejecutar el test que se encuentra al lado del nombre del nuevo registro creado, haciendo clic en Run.
Un resultado exitoso de este procedimiento debería visualizarse con la siguiente estructura:
- Local versión (versión local de nuestro MISP)
- Remote versión (versión de MISP remoto)
- Status (Estado de conexión)
- Compatibility (Limitaciones posibles con la instancia conectada)
- POST test: (Estado de los servicios en el servidor MISP remoto)
Para establecer que queremos recibir o enviar de la instancia MISP conectada, debemos ir a la configuración de esta instancia presionando el ícono de Edit en el campo Actions. Posteriormente podremos configurar reglas para el caso de Push (Enviar) o Pull (Obtener), permitiendo o denegando algún TAG u Organizaciones.
Más que establecer reglas inicialmente de Push (que es un proceso automático), es importante establecer las reglas de Pull, ya que, si no se configura, al momento de realizar esta acción hacia un servidor remoto, MISP puede traer el histórico completo de datos, y llenar la instancia con datos que no puede no sean útiles en la actualidad.
Comúnmente en las reglas de Pull, se recomienda agregar el siguiente parámetro para que en el caso de conectarse con un MISP con muchos eventos solo sincronice los últimos 7 días, por ejemplo
La implementación exitosa de MISP no solo brinda una infraestructura tecnológica sólida para el intercambio de información, sino que también abre la puerta a una cultura de colaboración y respuesta proactiva ante amenazas.
Esperamos que este manual te haya facilitado el proceso de instalación y configuración. Ahora cuentas con una herramienta poderosa para contribuir a una red más segura y resiliente.
Te invitamos a seguir explorando y aprovechando las capacidades de MISP mientras fortaleces tus estrategias de ciberseguridad. ¡El conocimiento compartido es el primer paso hacia la defensa colectiva!
¿Dudas o interés sobre conectar a tu institución al MISP del CSIRT de Gobierno? Escríbenos a [email protected].