Cette documentation décrit les étapes nécessaires pour intégrer GLPI à Cyberwatch en utilisant un micro-proxy basé sur Flask.
- Une instance GLPI configurée
- Une instance Cyberwatch
- Accès à la machine avec Cyberwatch pour exécuter le micro-proxy
- Accéder à l'onglet API dans Configuration > Générale.
- Activer l'option Activer l'API Rest.
- Activer l'option Activer la connexion avec un jeton externe pour l'authentification.
- Dans la même page, cliquer sur Ajouter un client de l'API.
- Ajouter un client API pour Cyberwatch.
- Activer ce client.
- Régénérer un app_token et le conserver.
- Avec l'utilisateur actuel ou un utilisateur cyberwatch créé dans GLPI pour l'API, régénérer un jeton API dans les préférences utilisateur.
- Conserver le user_token.
Sur la machine Cyberwatch, installer les dépendances avec pip3
en tant qu'utilisateur dédié (ex: cyberwatch
) :
su - cyberwatch
pip3 install --user Flask Flask-BasicAuth
-
Modifier le fichier
data.json
avec les User Token et App Token configurés dans GLPI. -
Lancer le micro-proxy sur le port 5000 :
export FLASK_APP=micro_proxy.py
python3 -m flask run --host=0.0.0.0 --port=5000
Remarque : Il est possible d'utiliser d'autres méthodes (systemctl...) pour démarrer Flask et assurer son redémarrage automatique après un reboot.
- Accéder à Administration > Intégration.
- Ajouter une nouvelle intégration en suivant les paramètres ci-dessous.
Personalisée
Intégration HTTP
Choisir "Détails d'un actif - Onglet Gestion des correctifs"
Mettre pour l'URL, l'IP de la machine et le port 5000 : http://[IP]:5000
{
"Content-Type": "application/json",
"Authorization": "Basic am9objptYXRyaXg="
}
Note : Modifier "Authorization" selon la configuration
basic_auth
dans le scriptmicro_proxy.py
.
{
"input": {
"name": "[Cyberwatch] Actif #SERVER_NAME# vulnérable",
"content": "Bonjour,\n\n L’actif #SERVER_NAME# est affecté par les vulnérabilités suivantes : #CVE_ANNOUNCEMENTS#.\n\n Merci de bien vouloir procéder à leur correction.",
"status": "1",
"urgency": "1"
}
}
Choisir "POST"
- Dans l'inventaire, accéder aux détails d'une machine et sélectionner une CVE.
- Tester l'intégration en envoyant une requête.
- Vérifier que le ticket a bien été créé dans GLPI.