Description des services Cyberwatch
La suite logicielle Cyberwatch repose sur l’utilisation d’images Docker. Il est possible d’utiliser Docker swarm ou Kubernetes comme orchestrateur. Les conteneurs proposent un ensemble de services communiquant ensemble et constituant les briques de la suite logicielle.
Cette documentation liste et décrit l’ensemble des services nécessaires au fonctionnement de la suite logicielle Cyberwatch, ainsi que leur état de présence/absence sur les serveurs Cyberwatch en fonction du type d’architecture choisie.
L’état de ces services peuvent être consultés depuis le serveur Cyberwatch à l’aide de la commande suivante :
sudo cyberwatch status
Dans le cas où tous les services ne sont pas en cours d’exécution, consulter les logs du service.
Description de chaque service
- db
- Base de données MariaDB dans laquelle sont stockées les données de l’application.
- nginx
- Serveur web responsable de l’interface entre l’application et l’extérieur. Par défaut, le conteneur expose les ports 80 et 443 sur l’extérieur. Le service redirige les requêtes vers le conteneur approprié (web, kibana, third_parties).
- web
- Conteneur Olympe responsable du traitement des requêtes web.
- sidekiq_master
- Conteneur Olympe responsable de l’exécution des jobs en mode asynchrone. Le service traite les tâches qui nécessite d’être exécutée sur le nœud master. Le service a été ajouté avec le socle en version 5.21.
- sidekiq
- Similaire à sidekiq_master, à la différence que le service est disponible sur tous les types de nœud. Le service traite les tâches qui ne nécessitent pas d’être exécutées sur un scanner en particulier.
- sidekiq_node
- Similaire à sidekiq mais utilisé pour exécuter les tâches sur un scanner en particulier. Responsable notamment de la connexion aux machines supervisées en mode sans-agent.
- cron
- Planificateur des tâches de l’application. Supprimé sur les socles en version supérieure ou égale à 5.21.
- redis
- Base de données en RAM utilisée pour la pile des tâches.
- cache
- Base de données en RAM utilisée pour le cache de l’application.
- elasticsearch
- Conteneur responsable des indexes Elasticsearch.
- kibana
- Outil de visualisation permettant la création de dashboards personnalisés.
- web_scanner
- Moteur des scans de cible réseau et site web.
- container_scanner
- Moteur Buildah pour les scans des images Docker.
- third_parties
- Conteneur contenant le cab file Windows.
Services attendus sur chaque nœud
Service | Nœud maître | Nœud satellite indépendant |
---|---|---|
db | ✓ | |
nginx | ✓ | ✓ |
web | ✓ | ✓ |
sidekiq_master | ✓ | |
sidekiq | ✓ | ✓ |
sidekiq_node | ✓ | ✓ |
cron | ✓(1) | |
redis | ✓ | |
cache | ✓ | ✓ |
elasticsearch | ✓ | |
kibana | ✓ | |
web_scanner | ✓ | ✓ |
container_scanner | ✓ | ✓ |
third_parties | ✓(2) | ✓(2) |
(1) Uniquement sur les versions du socle inférieures ou égales à 5.20.
(2) Uniquement sur les nœuds hors-ligne.