Saltar al contenido

SpainClouds |

Desplegar OpenVAS con Docker Compose – Guía completa y rápida

Despliega OpenVAS con Docker Compose paso a paso. Guía completa para instalar, configurar y mantener escaneos de vulnerabilidad fácilmente.

¿Qué es OpenVAS?

En nuestra serie sobre OpenVAS, ya vimos:

Ahora llegamos a la tercera entrega, enfocada en desplegar OpenVAS usando Docker Compose, una forma rápida, portable y reproducible para laboratorios o entornos de desarrollo.

1. Requisitos previos

Antes de empezar, asegúrate de contar con:

  • Docker y Docker Compose (v2 o superior)

  • Al menos 4 GB de RAM y 2 CPU

  • Puertos libres: 9392 (interfaz web) y 5432 (PostgreSQL)

  • Conexión a Internet para descargar imágenes

Instalación rápida en Ubuntu/Debian:

sudo apt update
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker
sudo systemctl start docker

2. Crear el entorno Docker

Crea un directorio de trabajo y entra en él:

mkdir openvas-docker && cd openvas-docker

Archivo docker-compose.yml:

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:

La imagen immauss/openvas está mantenida por la comunidad y es confiable para entornos de laboratorio.

3. Desplegar los contenedores

Inicia los servicios:

docker compose up -d

Verifica que estén activos:

docker compose ps

Para ver los logs en tiempo real:

docker compose logs -f

4. Acceso a la interfaz web

Abre en tu navegador:

👉 https://localhost:9392
o en un servidor remoto: https://<IP-servidor>:9392

Credenciales por defecto:

  • Usuario: admin

  • Contraseña: admin

Para cambiar la contraseña:

docker exec -it openvas gvmd --user=admin --new-password=<nuevo-password>

5. Actualización de feeds

Mantén las vulnerabilidades actualizadas con los siguientes comandos:

docker exec -it openvas greenbone-feed-sync --type GVMD_DATA
docker exec -it openvas greenbone-feed-sync --type SCAP
docker exec -it openvas greenbone-feed-sync --type CERT

6. Uso básico

  1. Crear un Target en la interfaz web.

  2. Iniciar un escaneo tipo Full and Fast.

  3. Revisar los resultados en Reports.

Puedes automatizar tareas y exportar reportes en PDF, CSV o JSON según tus necesidades.

7. Errores comunes y soluciones

ErrorCausaSolución
GVMD no arrancaProblemas de conexión a PostgreSQLRevisar variables DB_PASSWORD y reiniciar contenedores
Feed update failedConexión a Internet o DNS bloqueadoEjecutar manualmente greenbone-feed-sync dentro del contenedor
Web UI no respondePuerto ocupado o firewallAbrir puerto 9392 y reiniciar contenedor
Login incorrectoContraseña por defecto no cambiadaCambiar con gvmd --user=admin --new-password=<password>

8. Mantenimiento y actualizaciones

Para actualizar la imagen:

docker compose pull
docker compose up -d

Para detener y eliminar todo:

docker compose down -v

9. Conclusión

Desplegar OpenVAS con Docker Compose te permite:

  • Instalar rápido y sin conflictos de dependencias

  • Mantener entornos reproducibles y portables

  • Actualizar y reiniciar servicios fácilmente

Esta entrega cierra la transición de instalaciones manuales (Kali, Ubuntu) a un despliegue moderno y automatizado.

Próximo paso en la serie: exploraremos OpenVAS en entornos orquestados con Kubernetes, integrando escaneos de seguridad en pipelines DevSecOps.

Recursos relacionados