La gestión manual de escaneos es cosa del pasado. En entornos ágiles (DevSecOps), la capacidad de automatizar, orquestar y exportar datos de vulnerabilidades mediante la API de Nessus permite reducir tiempos de respuesta y eliminar errores humanos.
Pilares de la Automatización
Para dominar el control remoto de Nessus, debemos centrarnos en tres ejes principales:
Orquestación de Ciclos de Vida: Crear, configurar y lanzar escaneos programados o disparados por eventos (por ejemplo, al desplegar un nuevo contenedor).
Gestión de Activos (Assets): Actualizar dinámicamente las listas de objetivos (targets) sin intervenir la interfaz web.
Extracción de Inteligencia: Exportar reportes en formatos JSON o .nessus para procesarlos en herramientas propias, dashboards de BI o sistemas de ticketing
El Flujo Maestro (Workflow)
Autenticación: Uso de accessKey y secretKey mediante el encabezado X-ApiKeys.
Identificación de Políticas: Consultar los policy_id para asegurar que el escaneo cumple con los estándares requeridos.
Lanzamiento: Ejecutar el endpoint /scans para iniciar la tarea.
Monitoreo: Consultar el estado hasta que el valor sea completed.
Descarga: Generar el archivo de salida y transferirlo para su análisis posterior.
*** Desde la versión Nessus 10 no permiti usar su api en versiones Trial (Nessus Professional o Nessus Expert) para realizar escaneos de vulnerabilidades; se requiere otro tipo de licencia que no vamos a explicar. Para los curiosos, se necesitaria Tenable Vulnerability Management (antes Tenable.io) o Tenable Security Center. Conseguir una versión de prueba requiere demaisada paciencia.
*** Solo utilizaremos el API para gestionar los reportes que realizaremos de manera manual; con eso sabremos cómo funcionaría en un entorno ideal con la autorización de Nessus para realizar lo que no está permitido por políticas de licencias.
Vamos a realizar un scan al host dvwa.solociberseguridad.com de manera manual, tambien a otros dentro de mi red Lan. Luego realizaremos peticiones web a los reportes elaborados por Nessus Pro.
Realizo un scan a un DVWA local, no configuro puertos, tipo de scan, assessment ni credenciales, lo que obtenga por defecto, solo me interesa consumir el reporte a través de la API.
Validamos que el API este activo, Nessus cada vez está más fino en sus controles.
Antes de empezar a programar, obtenemos las credenciales para usar la API, esa solo dura 6 días y mi servidor no está público.
Luego hacemos una petición web para obtener el json que contiene todos los datos del reporte generado por Nessus. El reporte de la interfaz de Nessus indica que identificó 43 alertas: 3 bajas, 14 medias, 1 alta y 2 críticas; de igual manera, se visualiza a la izquierda en el json obtenido. Debo precisar que levanté un sistema web en mi equipo local para realizar una petición remota al servidor Nessus configurado en una máquina virtual; para más detalle, leer la API de Nessus.
En otra vista vemos el detalle de críticas y altas; las vulnerabilidades medias fueron agrupadas por Nessus. Lo importante es que logramos validar la automatización.
Ahora solo nos falta una licencia con permisos para lanzar SCAN sin restricciones.
No hay comentarios:
Publicar un comentario