2.1 KiB
2.1 KiB
Portal de Seguridad Harbor (Inspector de CVEs y SBOMs)
Herramienta centralizada y offline-compatible diseñada para que el equipo de seguridad pueda auditar y consultar vulnerabilidades (CVEs) y SBOMs en las instancias de Harbor corporativas, incluso trabajando detrás de estrictos firewalls.
🛠️ Componentes del Sistema
La solución se divide en dos piezas clave para resolver las restricciones de red y de seguridad del navegador:
1. Interfaz Web Estática
- Qué es: Un panel de control moderno y responsivo basado en Tailwind CSS (optimizado para funcionar sin conexiones externas a CDNs).
- Qué hace:
- Permite buscar, filtrar y exportar (en formato CSV o JSON) las vulnerabilidades y artefactos detectados en Harbor.
- Ofrece métricas rápidas clasificadas por severidad (Críticas, Altas, Medias y Bajas).
- Incluye un modal de configuración para introducir las credenciales de la API de Harbor de forma segura.
Simplemente copia cualquiera de las dos versiones harbor_security_local.html o harbor_security_portal.html como index.html
2. Servidor Proxy Local (proxy-harbor.py)
- Qué es: Un script ligero desarrollado en Python (
http.server) que actúa como pasarela local. - Qué hace:
- Bypasseo de CORS: Evita que el navegador bloquee las peticiones web (Same-Origin Policy / errores
OPTIONS 405) al servir la API de forma local. - Puente seguro: Recibe las consultas de la interfaz web, les añade las cabeceras de Autenticación Básica necesarias y se comunica de manera transparente con la API REST v2.0 de Harbor mediante HTTPS.
- Inyección de CORS: Devuelve la respuesta en formato JSON limpia e incorpora automáticamente las cabeceras
Access-Control-Allow-Originpermitiendo que la interfaz cargue los datos fluidamente.
- Bypasseo de CORS: Evita que el navegador bloquee las peticiones web (Same-Origin Policy / errores
🚀 Puesta en Marcha Rápida
- Coloca el archivo
index.htmly el scriptproxy-harbor.pyen la misma carpeta. - Arranca el servidor proxy con Python en tu terminal:
python3 proxy-harbor.py
Para mas detalles lee el artículo de SoloConLinux