Descripción de los servicios Cyberwatch
La suite de software Cyberwatch se basa en el uso de imágenes Docker. Es posible usar Docker swarm o Kubernetes como orquestador. Los contenedores ofrecen un conjunto de servicios que se comunican entre si y constituyen los bloques de la suite de software.
Esta documentación lista y describe todos los servicios necesarios para el funcionamiento de la suite de software Cyberwatch, así como su estado de presencia/ausencia en los servidores Cyberwatch según el tipo de arquitectura elegida.
El estado de estos servicios puede consultarse desde el servidor Cyberwatch usando el siguiente comando:
sudo cyberwatch status
En caso de que todos los servicios no estén en ejecución, consulte los logs del servicio.
Descripción de cada servicio
- db
- Base de datos MariaDB donde se almacenan los datos de la aplicación.
- nginx
- Servidor web responsable de la interfaz entre la aplicación y el exterior. Por defecto, el contenedor expone los puertos 80 y 443 al exterior. El servicio redirige las solicitudes al contenedor apropiado (web, kibana, third_parties).
- web
- Contenedor Olympe responsable del procesamiento de las solicitudes web.
- sidekiq_master
- Contenedor Olympe responsable de la ejecución de jobs en modo asincrono. El servicio procesa las tareas que necesitan ejecutarse en el nodo master. El servicio fue agregado con el socle en version 5.21.
- sidekiq
- Similar a sidekiq_master, con la diferencia de que el servicio esta disponible en todos los tipos de nodo. El servicio procesa las tareas que no requieren ejecutarse en un escaner especifico.
- sidekiq_node
- Similar a sidekiq pero usado para ejecutar tareas en un escaner especifico. Responsable en particular de la conexión a las maquinas supervisadas en modo sin agente.
- cron
- Planificador de tareas de la aplicación. Eliminado en los socles en version superior o igual a 5.21.
- redis
- Base de datos en RAM usada para la pila de tareas.
- cache
- Base de datos en RAM usada para el cache de la aplicación.
- elasticsearch
- Contenedor responsable de los índices Elasticsearch.
- kibana
- Herramienta de visualización que permite crear dashboards personalizados.
- web_scanner
- Motor de escaneos de objetivo de red y sitio web.
- container_scanner
- Motor de escaneos de imágenes Docker.
- third_parties
- Contenedor que contiene el cab file Windows.
Servicios esperados en cada nodo
| Servicio | Nodo maestro | Nodo satélite independiente |
|---|---|---|
| db | ✓ | |
| nginx | ✓ | ✓ |
| web | ✓ | ✓ |
| sidekiq_master | ✓ | |
| sidekiq | ✓ | ✓ |
| sidekiq_node | ✓ | ✓ |
| cron | ✓(1) | |
| redis | ✓ | |
| cache | ✓ | ✓ |
| elasticsearch | ✓ | |
| kibana | ✓ | |
| web_scanner | ✓ | ✓ |
| container_scanner | ✓ | ✓ |
| third_parties | ✓(2) | ✓(2) |
(1) Solo en las versiones del socle inferiores o iguales a 5.20.
(2) Solo en los nodos sin conexión.