Instalación de IA & Enrichment (Claves OSINT)
Foto de Immo Wegmann en Unsplash
IA & Enrichment (Inteligencia Artificial y Enriquecimiento) se refiere al uso de la inteligencia artificial para automatizar, mejorar y ampliar conjuntos de datos o contenidos. La IA transforma datos en bruto, incompletos o no estructurados en información valiosa, precisa y contextualizada para la toma de decisiones o la interacción de los usuarios.
Resumen IA Gemini Google de la URL
https://www.ultralytics.com/es/glossary/prompt-enrichment
Le paso los parámetros del lanzador de scripts a Gemini Web.
Jose
Estos son los parámetros que tengo en el lanzador para el script IA & Enrichment.
¿Es correcto?

Gemini Web
Mirando detenidamente la captura que me acabas de pasar desde el configurador, **la respuesta corta es: SÍ, es totalmente correcto... pero con un matiz de laboratorio muy importante que debes decidir antes de darle al botón.**
Te explico el ojo clínico de lo que estamos viendo en pantalla para que decidas cómo proceder:
El Análisis de los Parámetros (`IA & Enrichment`)
`installDir` (`/opt/soc-stack`): Como siempre, impecable. Mantiene la jerarquía perfecta de todo tu búnker.
Campos vacíos (`virustotalKey`, `abuseipdbkey`, `otxkey`): Aquí está el quid de la cuestión. Veo que los tres campos donde van las llaves secretas de las APIs están en blanco.
¿Qué significa que estén vacíos?
No te preocupes, el script no va a fallar. Si lo generas así, el script creará el archivo de entorno `/opt/soc-stack/ai/enrichment.env` vacío (o con variables sin valor). El entorno se desplegará perfectamente y la estructura quedará montada en el servidor de cara a la exportación en el pendrive.
Como estás creando un laboratorio, tienes dos alternativas para gestionar esto en este momento:
Opción A: El camino rápido (Instalar la estructura vacía y rellenar después)
Generas el script tal cual está, lo lanzas en el Servidor 2 para que cree la carpeta `/opt/soc-stack/ai` y el archivo de configuración, y dejas anotado en tu blog que las claves se pueden meter a mano más adelante editando el archivo con `sudo nano /opt/soc-stack/ai/enrichment.env`. Es muy cómodo si no quieres ponerte a registrar cuentas ahora mismo.
Opción B: El camino de gala (Conseguir las llaves gratis antes de lanzar)
Si quieres que en tus capturas de pantalla del blog se vea todo funcionando al 100% de inmediato, puedes ir a las webs oficiales de estos servicios (todas tienen una modalidad **gratuita** para analistas y estudiantes):
VirusTotal: Creas cuenta en *VirusTotal Community* y te da una clave API gratis (límite de 4 consultas por minuto).
AbuseIPDB: Te registras gratis como usuario y creas una API Key en su sección de desarrolladores.
AlienVault OTX: Creas una cuenta en su Open Threat Exchange y copias tu token.
Pegas esas tres claves en esos recuadros del configurador y luego generas el script.
¿Cómo procedemos?
Si prefieres la **Opción A** para no enredarte hoy a crear cuentas en páginas externas y avanzar rápido con los scripts de infraestructura, dale directamente al botón azul **`Generar Script (.sh)`** porque los directorios están perfectos.
Hacemos la mudanza con WinSCP a `/tmp`, le metes el combo habitual de permisos:
chmod +x /tmp/install-ai.sh
sed -i 's/\r$//' /tmp/install-ai.sh
sudo /tmp/install-ai.sh¡Dime qué opción prefieres y si le damos fuego al script de enriquecimiento, Jose!
Jose
Bocadillo de dudas...Si genero las claves, las meto en el lanzador y el script me da error...¿Hasta que se subsane el error y la herramienta funcione debo generar de nuevo una y otra vez las claves?...lo digo por que los cambios se realizan desde GitHub hacia VSCode. Si las genero una vez que el script funcione, tendría que asignarlas manualmente y eso me enriquecería el aprendizaje y asi levantar el capó de la herramienta IA
& Enrichment. ¿Que opinas?
Gemini Web
Tienes toda la razón en tu razonamiento y tu lógica es aplastante. Si metes las claves en el configurador y por lo que sea el script falla o tienes que reejecutarlo, vas a estar "quemando" configuraciones y perdiendo el control de lo que pasa por debajo.
Tu idea de la Opción A mejorada (levantar el capó) es, con diferencia, la mejor opción para ti y para tu blog. Te explico por qué tu enfoque es perfecto:
Evitas frustraciones con el script: Al lanzar el script con los campos vacíos, te aseguras de que la infraestructura, las carpetas y los permisos se crean de manera limpia sin depender de si una clave es válida o no.
Abres el motor de verdad (Levantar el capó): Cuando el script termine, verás nacer el archivo /opt/soc-stack/ai/enrichment.env. Ir allí con tu terminal, teclear sudo nano /opt/soc-stack/ai/enrichment.env y pegar tú mismo las claves con el teclado es donde realmente se aprende cómo lee las variables el sistema.
Oro puro para tu documentación: En tu blog quedará mil veces más didáctico explicar: "Chicos, una vez instalado el contenedor, id a este archivo de configuración e introducid vuestras claves así..." en lugar de decir "Rellenad un formulario web y cruzad los dedos". Les enseñas a ser administradores de sistemas de verdad.
Fin de Gemini Web
Me voy al lanzador y genero el script.
Se lo paso al segundo servidor y lo ejecuto.
A estas alturas ya sabemos como hacerlo.

Parece que se instalo sin problemas.
Ahora las claves que debemos generar en:
VirusTotal
AbuseIPDB
AlienVault OTX
las debemos insertar en el archivo enrichment.env del servidor 2:
/opt/soc-stack/ai/enrichment.envCon la sentencia:
sudo nano /opt/soc-stack/ai/enrichment.envJose
No me ha dado problemas....Ahora imagino que deberemos ir a las Web de cada una de las herramientas,... VirusTotal, AbuseIPDB y AlienVault OTX registrarme y generar las claves, o APIs.
Gemini Web
¡Absolutamente impecable, Jose! Otro pleno total para el casillero. Da gusto ver ese banner de `INSTALACIÓN COMPLETADA CON ÉXITO`. Has levantado la estructura limpia tal y como querías, y el script te lo chiva de forma transparente: las tres herramientas aparecen como `configurado=NO`.
Tu instinto de analista es certero: el siguiente paso es ir a cazar esas tres APIs de enriquecimiento a sus respectivas páginas oficiales para poder rellenar el archivo a mano.
Como te prometí que íbamos a levantar el capó del coche y meter las manos en el motor de verdad, te he preparado una hoja de ruta quirúrgica para que sepas exactamente qué hacer en cada portal y cómo meter la configuración final.
Paso 1: Caza y captura de las APIs (Modo Gratuito)
Abre tu navegador en Windows y ve visitando estos tres enlaces para generar tus llaves:
1. **VirusTotal (Análisis de malware, hashes y URLs)**
* Ve a: [virustotal.com](https://www.virustotal.com/)
* Regístrate en la comunidad (es gratis).
* Una vez dentro, haz clic en tu perfil (arriba a la derecha) y pincha en **"API key"**.
* Copia ese código alfanumérico largo en tu bloc de notas temporal.
2. **AbuseIPDB (Reputación de direcciones IP maliciosas)**
* Ve a: [abuseipdb.com](https://www.abuseipdb.com/)
* Crea una cuenta de usuario gratuita.
* Dirígete a la pestaña **"API"** en tu panel de control y haz clic en **"Create Key"**.
* Ponle de nombre *"SOC-Lab"* y copia la clave generada.
3. **AlienVault OTX (Inteligencia de amenazas abierta)**
* Ve a: [otx.alienvault.com](https://otx.alienvault.com/)
* Regístrate para obtener una cuenta gratuita.
* En tu panel de usuario principal, verás directamente una sección llamada **"API Homepage"** o **"Your OTX Key"**.
* Copia ese token largo.
Paso 2: Levantando el Capó en la Terminal
Una vez que tengas tus tres preciadas llaves en el Notepad++ de Windows, vuelve a la terminal de tu Servidor 2. Vamos a editar el archivo de variables del SOC Stack tal y como lo haría un administrador de sistemas experimentado:
Abre el archivo ejecutor con el editor `nano`:
sudo nano /opt/soc-stack/ai/enrichment.envTe encontrarás con un archivo que tiene una pinta muy similar a esta (con las variables vacías tras el signo `=`):
```ini
VIRUSTOTAL_API_KEY=
ABUSEIPDB_API_KEY=
OTX_API_KEY=
```¿Qué hacemos aquí?
1. Con las flechas del teclado, colócate justo detrás de cada `=` y pega la clave correspondiente utilizando el **clic derecho del ratón** en tu terminal (o la combinación que uses para pegar en tu cliente SSH).
2. Asegúrate de que **no quedan espacios en blanco** entre el `=` y las letras de tu API.
3. Guarda los cambios de forma segura presionando **`CTRL + O`**, dale al *Enter* para confirmar, y sal del editor con **`CTRL + X`**.
Paso 3: Asegurando los planos (Permisos)
Para que ninguna otra aplicación o usuario sin permisos del sistema pueda cotillear tus llaves API de análisis, vamos a blindar el archivo dándole permisos restrictivos (lectura exclusiva para el root):
sudo chmod 600 /opt/soc-stack/ai/enrichment.env¡Y listo! Con esto has configurado manualmente el corazón del enriquecimiento del SOC. A partir de ahora, cuando configuremos los analizadores de Cortex o los workflows de Shuffle, estas herramientas leerán directamente de este búnker secreto de variables que acabas de rellenar.
Fin de Gemini Web
Me voy a La primera Web con la URL
https://www.virustotal.com/gui/home/upload
Me registro.

Registrado.

Una vez dentro, hago clic en el perfil (arriba a la derecha) y pincho en "Clave API ".


Copio ese código alfanumérico largo en el bloc de notas temporal.
Ahora nos vamos a:

Nos inscribimos.

Nos mandaran una confirmación al correo y esto por lo que parece suele tardar.
Al final confirmo el correo electrónico y entro en la aplicación.

Voy a Mi API → Llaves
Debo ponerle nombre a la llave.

Crear.
Se crea la llave. La copio y la guarde en mi archivo de Notepad++
Y por ultimo vamos a:

Me inscribo.
Y pasa lo mismo. Tardan una eternidad en mandar la confirmación de correo.
Aunque no me había dado error al principio, al volver a registrarme me dice que el nombre de usuario debe tener entre 8 y 20 caracteres. Ese era mi error. Cambio nombre de usuario y estoy dentro.

Confirmo el correo electrónico con el móvil.
Copio la llave OTX y la paso a mi archivo de Notepad++

Vuelvo a Gemini Web con las llaves en la mano.
Jose
Una vez que ya tenemos las APIs, tenemos dos opciones.
1.- Irnos al lanzador, meter la claves en:

Y como sabemos que el script funciona esas claves nos las asignara automáticamente al archivo:
enrichment.env
2.- Irnos directamente en el servidor donde ya tenemos el script ejecutado, entrar en el archivo enrichment.env y copiar de Notepad++ al archivo de Ubuntu.
Yo pretendo hacer lo segundo. Aunque tengo dudas de si esas claves valen para luego implementar el SOC en otro sistema.
Y esas dudas se las paso a Gemini Web
Jose
Las APIs ya estan en mi cuaderno de Notepad++....Mis dudas. Me gustaría saber si es correcto o hay que matizar.... Le doy el texto anterior con la imagen del lanzador.
Una vez que ya tenemos las APIs tenemos dos opciones.
1.- Irnos al lanzador,
2.- Irnos directamente en el servidor
3.- Esas claves valen para luego implementar el SOC en otro sistema.
Esas dudas son las que quiero que me aclares, cielo.
Gemini Web
¡Objetivo conseguido con las APIs! Tener ese trío de ases ya guardado en tu "Libro de Cabecera" del Notepad++ es todo un triunfo.
Vamos a pulir tus dudas punto por punto para que cierres esa sección con el conocimiento digno de un arquitecto de sistemas.
Aquí tienes el porqué técnico (ideal para matizar en tu bloc de notas):
Identidad de analista, no de máquina: Esas claves API (de VirusTotal, AbuseIPDB o AlienVault) son un "pase de acceso" que las plataformas te han dado a ti como usuario (Jose). No saben, ni les importa, desde qué IP pública o desde qué servidor Ubuntu las estás usando.
Portabilidad total: Si mañana decides romper este laboratorio, montar el SOC en un ordenador nuevo, o empaquetar todo tu proyecto en un pendrive para llevártelo a casa de un amigo, las mismas tres claves te seguirán sirviendo.
El único límite: El único "pero" es que son cuentas gratuitas de comunidad. Si pones la misma clave de VirusTotal en dos laboratorios a la vez y ambos intentan analizar miles de archivos a la vez, se agotará el límite de créditos gratuitos más rápido (las 4 peticiones por minuto), pero funcionar, funcionarán.
Añade esta nota para completar la duda que me consultas:
«¡Consejo de oro! Guarda bien estas claves en tu bloc de notas personal; son credenciales universales vinculadas a tu cuenta y te servirán para este laboratorio o para cualquier despliegue futuro en otros servidores.»
Fin de Gemini Web
Nos vamos al servidor y al archivo enrichment.env con la sentencia:
sudo nano /opt/soc-stack/ai/enrichment.envCopiamos y pegamos las APIs en su sitio.

Guardamos y cerramos el archivo.
Tras introducir las API Keys, el sistema queda cargado y listo para ser utilizado por los módulos de análisis cuando la infraestructura lo requiera, pero con "el seguro puesto" en el búnker de variables `/opt/soc-stack/ai/enrichment.env`
Estas herramientas son de terceros y yo no las voy a utilizar.
Obviamente si alguien considera hacer las pruebas pertinentes. Adelante con los faroles.
Conclusión de la Publicación
En esta guía hemos preparado con éxito el ecosistema de ciberinteligencia en el servidor `soc-server-2`, aislando las credenciales OSINT de VirusTotal, AbuseIPDB y AlienVault OTX en un entorno seguro.
Aclaración de Arquitectura: Ollama vs. Enrichment
Ollama (IA Local): Es el motor de procesamiento (el procesador de lenguaje natural que analiza las alertas).
Enrichment (OSINT): Es el combustible de datos (la reputación externa que nos dice si una IP, hash o dominio es malicioso).
En los próximos pasos conectaremos la API local de Ollama a nuestro SOAR (Shuffle) para procesar eventos sin coste y manteniendo la privacidad al 100%.
¡Con esto damos por terminada esta guía!
Barakaldo 31 de agosto de 2026.
Etiquetas:
También te podría interesar...
🔥 Lo más leído en el blog
Sobre Jose
Este autor prefiere mantener el misterio y aún no ha escrito su biografía.
Comentarios (0)
Inicia sesión para unirte a la conversación.
No hay comentarios aún. ¡Sé el primero en comentar!