Intégrations

Il est possible d’envoyer les données de Cyberwatch vers un système externe via les Intégrations.

Création d’une Intégration

  1. Cliquer sur Administration
  2. Cliquer sur Intégrations
  3. Cliquer sur Ajouter
  4. Compléter les champs du formulaire de création d’intégration :

    • Protocole de l’intégration :
      • HTTP hook pour envoyer des requêtes HTTP rest
      • SMTP hook pour envoyer des e-mail avec la configuration SMTP paramétrée dans Administration > SMTP
    • Nom de l’intégration : Nom de l’intégration qui sera affiché dans les listes de choix d’intégration
    • Emplacement du déclencheur : Emplacement où il sera possible de retrouver l’intégration. Les emplacements disponibles sont :
      • Inventaire : correspond à la page Inventaire du module Vulnérabilités.
      • Détails d’un serveur - Détection : correspond à la page d’un serveur sur l’onglet « Vulnérabilités ».
      • Détails d’un serveur - Correction : correspond à la page d’un serveur sur l’onglet « Gestion des correctifs ».
      • Détails d’une vulnérabilité : correspond à la page d’une vulnérabilité de l’Encyclopédie des vulnérabilités.
  5. Pour les intégrations HTTP

    • URL de la requête : URL vers laquelle seront envoyées les données.
    • En-têtes de la requête : En-têtes de la requête sous la forme d’un dictionnaire, exemple :

      {
          "Accept-Charset": "utf-8",
          "Accept-Encoding": "gzip",
          "Authorization": "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
          "Content-Type": "application/json",
          "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0"
      }
      
    • Corps de la requête : Corps de la requête contenant les données à envoyer. Compatible avec les Patrons.
    • Méthode HTTP de la requête : Choix de la méthode HTTP avec laquelle sera envoyée la requête.
    • Utiliser un certificat auto-signé pour la requête : Permet de se connecter à un serveur auto-signé. Attention : Se connecter à un serveur auto-signé expose à un risque qu’un tiers puisse intercepter le trafic vers le serveur via ce certificat.
    • Utiliser la configuration proxy pour la requête : Permet d’utiliser le proxy configuré dans Cyberwatch.
  6. Pour les intégrations SMTP

    • Adresse e-mail du destinataire.
    • Sujet de l’e-mail. Compatible avec les Patrons.
    • Contenu de l’e-mail : Le message contenant les données à envoyer. Compatible avec les Patrons.
  7. Sauvegarder

Si les champs ont correctement été renseignés, l’intégration apparaîtra dans la liste des intégrations.

Patrons

Cyberwatch utilise le moteur de template Liquid pour formater le corps des requêtes HTTP et des e-mails. Sa documentation est disponible en anglais à l’adresse https://shopify.dev/docs/api/liquid.

Les variables Cyberwatch suivantes sont disponibles :

VariableDescriptionExemple
assetActif concerné, pour les contextes où il n’y en a qu’un seul. Attributs :
- name : nom de l’actif.
- description : description de l’actif.
- cve_announcements_count : nombre de vulnérabilités de l’actif.
- critical_cve_announcements_count : nombre de vulnérabilités prioritaire de l’actif.
- compliance_rules_count : nombre de règles de conformité de l’actif.
- compliance_rules_failed_count : nombre de règles de conformité échouées de l’actif.
- compliance_rules_succeed_count : nombre de règles de conformité réussies de l’actif.
- compliance_rules_anomalies_count : nombre de règles de conformité en anomalie de l’actif.
- security_issues_count : nombre de défauts de sécurité de l’actif.
{{ asset.name }}MY-PC.DOMAIN
assetsListe des actifs concernés. Les attributs sont les mêmes que asset.{{ assets | map: 'name' | join: ', ' }}example-1.local, example-2.local
cveCVE concernée, pour les contextes où il n’y en a qu’une seule. Attributs :
- code : référence de la CVE.
- description : description de la CVE.
- score : score CVSS de la CVE.
- epss : score EPSS de la CVE.
{{ cve.code }}CVE-2023-1234
cvesListe des CVE concernées. Les attributs sont les mêmes que cve.{{ cves | map: 'code' | join: ', ' }}CVE-2023-0001, CVE-2023-0002
technologyTechnologie concernée, pour les contextes où il n’y en a qu’une seule. Attributs :
- product : nom de produit de la technologie.
- target_version_string : version cible de la technologie.
- cve_announcements_count : nombre de vulnérabilités de la technologie.
- critical_cve_announcements_count : nombre de vulnérabilités prioritaires de la technologie.
{{ technology.product }}Google Chrome
technologiesTechnologies concernées. Les attributs sont les mêmes que technology.{{ technologies | map: 'product' | join: ', ' }}linux, linux-firmware

En plus des filtres par défaut, le filtre json permet de formater une donnée en JSON. Il est par conséquent possible d’envoyer une liste de CVE à une API avec le corps : { "cves": {{ cves | json }} }. La liste des CVE apparaitra alors comme un tableau JSON, par exemple { "cves": [{ "code": "CVE-2023-0001" }, { "code": "CVE-2023-0002" }] }.

Édition d’une Intégration

  1. Cliquer sur Administration
  2. Cliquer sur Intégrations
  3. Cliquer sur le bouton d’édition (icône de crayon) correspondant à l’intégration à éditer
  4. Modifier les champs souhaités dans le formulaire. Les champs sont complétés avec les valeurs de l’intégration éditée
  5. Sauvegarder

Suppression d’une Intégration

  1. Cliquer sur Administration
  2. Cliquer sur Intégrations
  3. Cliquer sur le bouton de suppression (icône de corbeille) correspondant à l’intégration à supprimer
  4. Valider en cliquant sur le bouton « OK » de l’alerte de confirmation

Tester une intégration

  1. Cliquer sur Administration
  2. Cliquer sur Intégrations
  3. Cliquer sur le bouton de test (icône de flèche) correspondant à l’intégration à tester
  4. Vérifier qu’une modale contenant l’état de la réponse apparaît, attestant de la connexion avec le serveur.

Utilisation d’une intégration

Les intégrations sont utilisables à différents emplacements selon le choix qui est fait dans le formulaire de création/édition :

Inventaire

  1. Cliquer sur Vulnérabilités
  2. Cliquer sur Inventaire
  3. Sélectionner les actifs à envoyer
  4. Cliquer sur le bouton Actions groupées
  5. Cliquer sur le nom de l’intégration dans le menu déroulant
  6. Vérifier l’état de la réponse dans la modale en haut à droite

Détails d’un serveur - Détection

  1. Cliquer sur Vulnérabilités
  2. Cliquer sur Inventaire
  3. Cliquer sur le nom de l’actif pour lequel envoyer les données
  4. Cliquer sur le bouton Détection
  5. Sélectionner les vulnérabilités à envoyer
  6. Cliquer sur la flèche à droite du bouton Ignorer et commenter
  7. Cliquer sur le nom de l’intégration dans le menu déroulant
  8. Vérifier l’état de la réponse dans la modale en haut à droite

Détails d’un serveur - Correction

  1. Cliquer sur Vulnérabilités
  2. Cliquer sur Inventaire
  3. Cliquer sur le nom de l’actif pour lequel envoyer les données
  4. Cliquer sur le bouton Correction
  5. Sélectionner les packages/vulnérabilités à envoyer
  6. Cliquer sur la flèche à droite du bouton Planifier les correctifs sélectionnés (ou sur le bouton Envoyer la sélection dans le cas d’un actif en mode « scan uniquement »)
  7. Cliquer sur le nom de l’intégration dans le menu déroulant
  8. Vérifier l’état de la réponse dans la modale en haut à droite

Détails d’une vulnérabilité

  1. Cliquer sur Vulnérabilités
  2. Cliquer sur Encyclopédie des vulnérabilités
  3. Cliquer sur une référence CVE dans l’encyclopédie pour se rendre dans la fiche de la CVE
  4. Sélectionner les actifs à envoyer
  5. Cliquer sur la flèche à droite du bouton Ignorer et commenter
  6. Cliquer sur le nom de l’intégration dans le menu déroulant
  7. Vérifier l’état de la réponse dans la modale en haut à droite