Ghost AcademySecLearn// Seguridad Informática
🛡️ OpenVAS · Greenbone · Ubuntu 24.04 · Docker Compose
OpenVAS en Ubuntu
con Docker
// Escáner de vulnerabilidades Greenbone desplegado en contenedores

Instala OpenVAS (Greenbone Vulnerability Manager) en Ubuntu 24.04 usando Docker Compose con imagen immauss/openvas y PostgreSQL. Realiza tu primer escaneo completo, revisa los feeds de vulnerabilidades, crea targets y tareas, y exporta informes profesionales en PDF, CSV o JSON.

Docker CE · Docker Compose V2 · immauss/openvas PostgreSQL 13 · puerto 9392 · HTTPS Feed Status · GVMD_DATA · SCAP · CERT Target · Task · Report · Full and Fast
🔧
1. Preparación del Sistema
Actualiza los repositorios e instala las herramientas básicas necesarias antes de añadir Docker.
bash — actualizar e instalar dependencias
# Actualizar índices y paquetes del sistema
sudo apt update && sudo apt upgrade -y

# Instalar herramientas necesarias para añadir el repositorio de Docker
sudo apt install curl ca-certificates gnupg -y
🐳
2. Instalar Docker y Docker Compose V2
Instalamos la versión oficial de Docker desde sus repositorios para evitar errores de compatibilidad con Python (distutils).
A
Añadir la clave GPG oficial de Docker
Crea el directorio de keyrings, descarga la clave y ajusta permisos.
B
Configurar el repositorio oficial
Añade el repositorio de Docker estable para la versión de Ubuntu instalada (usa $VERSION_CODENAME automáticamente).
C
Instalar Docker Engine + Compose plugin
Un solo comando instala el motor Docker CE, la CLI, containerd, buildx y el plugin de Compose V2.
bash — instalación completa de Docker CE
# A: Añadir clave GPG oficial de Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# B: Configurar el repositorio oficial
echo   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu   $(. /etc/os-release && echo "$VERSION_CODENAME") stable" |   sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# C: Instalar Docker Engine y el plugin de Compose
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
📄
3. Configurar docker-compose.yml
Crea el directorio de trabajo y define los dos servicios: PostgreSQL 13 como base de datos y immauss/openvas como escáner web.
bash — crear directorio y archivo
# Crear directorio de trabajo
mkdir openvas-docker && cd openvas-docker

# Crear el archivo de configuración
nano docker-compose.yml
📄 docker-compose.yml — contenido exacto
version: "3.8"

services:

  db:
    image: postgres:13
    container_name: openvas-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: gvmd
      POSTGRES_PASSWORD: gvmd
      POSTGRES_DB: gvmd
    volumes:
      - db-data:/var/lib/postgresql/data

  openvas:
    image: immauss/openvas:latest
    container_name: openvas
    restart: unless-stopped
    ports:
      - "9392:9392"
    depends_on:
      - db
    environment:
      - PASSWORD=admin
      - DB_PASSWORD=gvmd
    volumes:
      - openvas-data:/data

volumes:
  db-data:
  openvas-data:
💾 Guardar en nano: Ctrl+O → Enter → Ctrl+X
🚀
4. Despliegue, Acceso y Credenciales
Levanta los contenedores en segundo plano y accede a la interfaz web. El primer arranque tarda varios minutos mientras se generan certificados y se sincronizan los feeds.
bash — levantar y monitorizar
# Levantar los contenedores en segundo plano
sudo docker compose up -d

# Monitorizar el progreso del arranque en tiempo real
sudo docker compose logs -f openvas
# Ctrl+C para salir del log cuando veas que está listo

Una vez los logs indiquen que el sistema está listo, accede desde el navegador:

URL https://localhost:9392
Usuario admin
Contraseña admin
🔒 Aviso de seguridad del navegador: Es normal recibir la alerta "Conexión no segura" — OpenVAS usa un certificado autofirmado. Haz clic en Avanzado → Aceptar el riesgo y continuar.
📡
5. Verificar el Estado de los Feeds
Antes de escanear, comprueba que las firmas de vulnerabilidades se hayan sincronizado. Un escaneo sin feeds actualizados no detectará la mayoría de vulnerabilidades.

Navega a Administration → Feed Status y asegúrate de que la columna "Status" muestre Current en todas las filas. Si aparece "Update in progress", espera a que termine.

OpenVAS Feed Status mostrando Current en todos los feeds
Administration → Feed Status — todos los feeds en estado Current
✅ Feeds listos: GVMD_DATA, SCAP y CERT deben estar en estado Current. Si alguno falla, usa los comandos de mantenimiento de la sección final para resincronizar manualmente.
🎯
6. Configurar el Objetivo (Target)
El Target define qué vas a escanear: una IP, rango de red o nombre de host.
1
Navegar a Configuration → Targets
menú
Accede desde el menú superior: Configuration → Targets
2
Crear nuevo Target (icono hoja + estrella azul)
New Target
Haz clic en el icono de hoja en blanco con estrella azul (New Target).
3
Rellenar Name y Hosts
datos
Name: un nombre descriptivo (ej. "Mi Red Local")
Hosts: la IP o rango a analizar — usa 127.0.0.1 para escanear la propia máquina, o la IP de tu red local (ej. 192.168.1.0/24)
4
Guardar con Save
✓
Haz clic en Save. El target aparecerá en la lista.
Formulario de New Target en OpenVAS con campo Name y Hosts
Configuration → Targets → New Target — definiendo nombre e IP del objetivo
📋
7. Crear la Tarea de Escaneo (Task)
La Task define cómo se realizará el escaneo: qué configuración de plugins usar y sobre qué target.
1
Navegar a Scans → Tasks
menú
Accede desde el menú superior: Scans → Tasks
2
New Task → Name y Scan Targets
datos
Name: nombre de la tarea (ej. "Escaneo Inicial")
Scan Targets: selecciona el Target creado en el paso anterior
3
Scan Config → Full and Fast
recomendado
Selecciona Full and Fast (opción recomendada): resultados detallados sin saturar la red. Usa Use Scan Config Default si está disponible.
4
Guardar con Save
✓
Haz clic en Save. La tarea aparecerá en la lista de Tasks lista para ejecutarse.
Formulario New Task con campos Name, Scan Targets y Scan Config Full and Fast
Scans → Tasks → New Task — configuración con Full and Fast
▶️
8. Ejecutar el Escaneo y Revisar Resultados
Arranca la tarea con el botón Play y sigue el progreso en tiempo real. El tiempo varía según la complejidad del objetivo.

En la lista de tareas (Scans → Tasks), localiza tu tarea y haz clic en el botón ▶ Start. El estado cambiará a Requested y luego mostrará el porcentaje de progreso. Una vez finalice, ve a Scans → Reports para ver el detalle de vulnerabilidades encontradas.

⏱️ Si el progreso se detiene en 0% o 1%: Revisa los logs del contenedor con sudo docker compose logs -f openvas. Puede que los feeds sigan actualizándose en segundo plano y estén bloqueando el inicio del escaneo.
Lista de Tasks con botón Play para iniciar el escaneo
Tarea creada — botón ▶ Start
Escaneo en progreso mostrando porcentaje de avance
Escaneo en progreso
Reporte de resultados en Scans → Reports con lista de vulnerabilidades encontradas
Scans → Reports — resumen de vulnerabilidades encontradas ordenadas por severidad
📥
9. Exportar el Informe
Descarga los resultados en el formato adecuado para presentarlos, importarlos en otras herramientas o archivarlos.
  1. Ve a Scans → Reports y haz clic en el reporte finalizado.
  2. Busca el icono de Export Report (flecha hacia abajo / hoja con flecha) en la parte superior izquierda.
  3. En el menú desplegable Select Report Format, elige el formato deseado.
  4. Haz clic en el icono de descarga junto al selector.
📄
PDF
Presentaciones e informes ejecutivos con gráficos de color
📊
CSV
Trabajar los datos en Excel o importar en SIEM
🔧
JSON
Integrar con otras herramientas de seguridad
📋
XML
Importar en plataformas de gestión de vulnerabilidades
📌 Para el primer informe usa PDF (Summary and Full Results): incluye resumen ejecutivo con gráficos por severidad, descripción detallada de cada vulnerabilidad y las soluciones recomendadas para parchear cada fallo.
Selector de formato de exportación en OpenVAS con opciones PDF, CSV, XML, JSON
Selector de formato de exportación
Vista previa del reporte detallado con lista de vulnerabilidades y CVEs
Reporte detallado con CVEs y soluciones
Vista compacta del informe en formato PDF con resumen de severidades
Vista previa del informe PDF con resumen de severidades
🗺️
Resumen del Menú de OpenVAS
Mapa completo de las secciones de la interfaz web de Greenbone Vulnerability Manager.
🔄
Mantenimiento — Actualizar Feeds Manualmente
Si los feeds no se actualizan automáticamente o necesitas forzar una sincronización, ejecuta estos comandos dentro del contenedor.
bash — sincronización manual de feeds
# Sincronizar datos de GVMD (vulnerabilidades principales)
sudo docker exec -it openvas greenbone-feed-sync --type GVMD_DATA

# Sincronizar datos SCAP (CVEs y CPEs)
sudo docker exec -it openvas greenbone-feed-sync --type SCAP

# Sincronizar avisos CERT
sudo docker exec -it openvas greenbone-feed-sync --type CERT

# Ver logs del contenedor
sudo docker compose logs -f openvas

# Parar / levantar los contenedores
sudo docker compose down
sudo docker compose up -d
ℹ️ Tipos de feed: GVMD_DATA contiene las plantillas de escaneo y configuraciones. SCAP incluye todos los CVEs y CPEs del NVD. CERT añade los avisos de seguridad de CERT-Bund y DFN-CERT.