Logo ServiceNow

Configuration d’une intégration avec ServiceNow

Il est possible d’envoyer des données de Cyberwatch vers la solution ServiceNow en utilisant les Intégrations.

Cyberwatch propose de configurer des Web Hook depuis la plupart de ses pages, un bouton est alors créé afin d’interagir avec une ressource distante en HTTPS.

L’API de ServiceNow étant intégralement ouverte, les possibilités d’interconnexion entre les deux solutions sont étendues. L’intégration de Cyberwatch au sein d’un workflow ServiceNow est de ce fait transparente, et permet de bénéficier de nos fonctionnalités au sein de l’écosystème ServiceNow.

Concrètement, cela permet, par exemple, à un utilisateur Cyberwatch d’ouvrir en un seul clic, un ticket ServiceNow demandant la mise à jour d’un logiciel afin de corriger une liste de CVE. Il lui suffira dans ce cas de choisir le correctif proposé par Cyberwatch, puis de cliquer sur le bouton déclencheur de l’intégration.

Automatiser le déclenchement d’une opération via les alertes

Le déclenchement des intégrations est automatisable lorsqu’il est associé à notre système d’Alertes. Dans ce cas, le déclencheur de l’action est quotidiennement testé, et s’exécute lors de l’apparition d’une nouvelle entité sur l’une des pages de l’application.

Cela permet, par exemple ici, de planifier quotidiennement la création d’un ticket ServiceNow, si une ou plusieurs nouvelles CVE sont détectées sur vos actifs. Pour aller plus loin, le déclencheur de l’alerte peut être affin via un filtrage, ce qui permettrait par exemple ici, de créer ce ticket seulement si les CVE détectées ont un score CVSS élevé.

Guide de mise en place d’une intégration avec ServiceNow

Cette section de la documentation est un guide dédié à la mise en place des exemples d’intégrations cités précédemment.

Au besoin, la documentation ServiceNow de la route que nous utilisons ici est disponible ci-joint

Notre premier exemple est de pouvoir créer depuis Cyberwatch, un ticket d’incident ServiceNow demandant la mise à jour d’un logiciel, en fonction des CVE qui lui sont associées.

Configuration d'une intégration permettant la création manuelle d'un ticket ServiceNow

La création de cette intégration s’effectue depuis la page Administration > Intégrations, en y renseignant :

  • Personnalisé comme modèle d’intégration

  • Intégration HTTP comme protocole d’intégration

  • ServiceNow - Demande de correctif comme nom

  • Détails d'un actif - Onglet Gestion des correctifs en tant qu’emplacement du déclencheur

  • https://instance.service-now.com/api/now/table/incident comme URL de la requête, en y replaçant la valeur instance.service-now.com par l’url d’accès à votre instance ServiceNow

  • Utiliser un certificat auto-signé pour la requête et Utiliser la configuration proxy pour la requête si nécessaire

  • POST comme méthode HTTP de la requête

  • Le contenu ci-dessous dans le champ En-tête de la requête, en y remplaçant <basic_chain> par vos identifiants au format username:password encodés en base64 :

{
  "content-type": "Application/JSON",
  "Authorization": "Basic <basic_chain>",
  "Accept": "application/json"
}
  • Le corps de la requête ci-dessous, en y remplaçant la valeur de la propriété caller_id par celle du créateur de l’incident :
{% capture cve_data %}
{% assign item_limit = 10 %}
{% assign sorted_cves = cves | sort: 'score' | reverse %}
{% for cve in sorted_cves limit: item_limit %}
- {{ cve.code }} (CVSS {{ cve.score }} / EPSS {{ cve.epss | times: 100 | round: 1 | append: " %" | escape }})#
{% endfor %}
{% endcapture %}
{
   "short_description":"Nouvelle demande de mise à jour pour l'actif {{ asset.name }}",
   "caller_id":"6816f79cc0a8016401c5a33be04be441",
   "comments":"Bonjour,\n\nL’actif {{ asset.name }} est affecté par les vulnérabilités suivantes :\n{{ cve_data | strip_newlines | split: '#' | join: '\n' }}.\n\nMerci de bien vouloir procéder à la mise à jour des technologies : \n{% for item in technologies %}- {{ item.product }} vers {% if item.target_version_string != '' %}la version {{ item.target_version_string }} {% else %}la dernière version{% endif %}\n{% endfor %}",
   "urgency":"1",
   "impact":"1"
}

Pour aller plus loin, nous reprenons ci-dessous la possibilité d’automatiser le déclenchement d’un Web-Hook Cyberwatch en l’associant à une alerte. Dans ce cas, un ticket d’incident est quotidiennement créé avec la liste des nouvelles CVE prioritaires détectées sur vos actifs.

Configuration d'une intégration ServiceNow déclenchée par une alerte

La création de cette intégration s’effectue depuis la page Administration > Intégrations, en y renseignant :

  • Personnalisé comme modèle d’intégration

  • Intégration HTTP comme protocole d’intégration

  • ServiceNow - Nouvelles CVE prioritaires comme nom

  • Aucun en tant qu’emplacement du déclencheur

  • https://instance.service-now.com/api/now/table/incident comme URL de la requête, en y replaçant la valeur instance.service-now.com par l’url d’accès à votre instance ServiceNow

  • Utiliser un certificat auto-signé pour la requête et Utiliser la configuration proxy pour la requête si nécessaire

  • POST comme méthode HTTP de la requête

  • Le contenu ci-dessous dans le champ En-tête de la requête, en y remplaçant <basic_chain> par vos identifiants au format username:password encodés en base64 :

{
  "content-type": "Application/JSON",
  "Authorization": "Basic <basic_chain>",
  "Accept": "application/json"
}
  • Le corps de la requête ci-dessous, en y remplaçant la valeur de la propriété caller_id par celle du créateur de l’incident :
{% capture cve_data %}
{% assign item_limit = 10 %}
{% assign sorted_cves = cves | sort: 'score' | reverse %}
{% for cve in sorted_cves limit: item_limit %}
- {{ cve.code }} (CVSS {{ cve.score }} / EPSS {{ cve.epss | times: 100 | round: 1 | append: " %" | escape }})#
{% endfor %}
{% endcapture %}
{
   "short_description":"Nouvelles vulnérabilités prioritaires",
   "caller_id":"6816f79cc0a8016401c5a33be04be441",
   "comments":"Bonjour,\n\nDe nouvelles vulnérabilités prioritaires ont été détéctées sur vos actifs et méritent votre attention :\n{{ cve_data | strip_newlines | split: '#' | join: '\n' }}",
   "urgency":"1",
   "impact":"1"
}

Puis renseigner lors de la création de l’alerte associée :

  • Nom, avec par exemple la valeur Alerte ServiceNow - Nouvelles CVE prioritaires

  • Emplacement, en choisissant Encyclopédie des vulnérabilités

  • Filtre, en sélectionnant le filtre Etat: Vulnérabilités présentes et Etat: Vulnérabilités prioritaires

  • Intégration, en choisissant ServiceNow - Nouvelles CVE prioritaires


Retour en haut