Événements menaçants 3rd Intégration des partis

Événements de menace Intégration de 3rd

Introduction :

IBM Security Verify offre des fonctionnalités complètes de détection et de correction des menaces liées à l'identité (ITDR) qui permettent d'identifier les comportements de connexion anormaux et les modèles de menaces qui indiquent des attaques afin de générer des événements de menace. L'administrateur peut examiner ces événements dans des rapports sur les menaces. En outre, l'administrateur peut configurer des règles pour des actions de remédiation proactives afin de remédier au trafic suspect, par exemple en bloquant le trafic provenant d'adresses IP signalées comme suspectes dans les alertes critiques. Ce document traite de l'intégration des événements liés aux menaces dans des outils externes tels que SIEM par le biais de webhooks de notification. Avec ces webhooks de notification, l'administrateur peut définir plusieurs webhooks pour différents outils. Chaque webhook peut contenir plusieurs clauses pour filtrer les événements.

À titre d'exemple, Slack a été utilisé comme outil externe pour montrer comment configurer les webhooks de notification afin d'envoyer les événements de menace à des outils externes. De même, ces webhooks de notification peuvent être utilisés pour l'intégration avec PagerDuty ou d'autres outils externes.

Configurer les Webhooks de notification :

  1. Connectez-vous à votre locataire avec des privilèges d'administrateur.
  2. Allez dans votre profil et "passez en mode administrateur".
  3. Allez dans Intégrations -> Notification Webhooks et cliquez sur Create Webhook pour créer un webhook de notification.
901
  1. Fournir un nom pour le webhook de notification et les détails de contact. L'exemple suivant montre l'intégration de Slack par le biais de webhooks de notification en utilisant des fonctions cloud.
1024
  1. Indiquer le point de contact externe qui reçoit l'événement de menace. Fournir le point de terminaison des fonctions en nuage qui reçoit l'événement de menace en tant que charge utile. La fonction "cloud" contient un code permettant de traiter les événements de menace dans le format requis pour Slack et d'envoyer l'alerte Slack.
1024
  1. Choisissez le type d'authentification compatible avec votre terminal externe et fournissez les détails.
  2. Ajoutez les en-têtes requis dans la section des en-têtes personnalisés.
  3. Les lettres mortes peuvent être activées pour réessayer d'envoyer l'événement de menace si le point de terminaison externe n'est pas démarré.
  4. Cliquez sur Next.
  5. Certains événements prédéfinis peuvent être activés directement pour notification.
  6. Pour envoyer des événements de menace, cliquez sur Add custom event.
1024
  1. Donnez un nom et une description à l'événement.
1024
  1. Sous Intérêts, fournir les adresses Event key property = event_type et Field value = threat pour obtenir tous les événements de menace par le biais de notifications.
1024
  1. Des événements de menace spécifiques peuvent être filtrés en ajoutant des clauses supplémentaires.
1024
  1. Cliquez sur Add pour créer un filtre pour le webhook de notification.
1024
  1. Il est possible d'ajouter d'autres événements au même webhook en ajoutant plusieurs événements personnalisés.
1024
  1. Cliquez sur "Créer" pour créer le webhook de notification.
  2. En haut à droite, vous trouverez l'option permettant de tester la connexion à un point de terminaison externe.
1024
  1. Appuyez sur Send Test pour vérifier la connexion au point d'extrémité externe.
1024

La création du webhook est réussie.


Création d'une fonction "cloud" :

  1. Les fonctions du nuage peuvent être créées à partir de https://cloud.ibm.com/functions/.
  2. Connectez-vous au cloud IBM ou au lien précédent en utilisant vos identifiants cloud IBM.
  3. Pour trouver des fonctions cloud à partir de la page d'accueil IBM cloud, recherchez functions dans la barre de recherche.
  4. Pour créer une nouvelle fonction de nuage, appuyez sur le bouton Start Creating.
1024
  1. Cliquez sur Trigger pour créer une charge utile de réception d'événement de menace.
1024
  1. Cliquez sur Custom Trigger pour créer un point de terminaison public qui recevra la charge utile de l'événement de menace via une requête HTTP.
1024
  1. Fournir un nom et une description du déclencheur.
1024
  1. Le déclencheur est créé. Les points de terminaison et l'exemple de requête curl se trouvent dans la section Points de terminaison.
1024 1024
  1. Pour activer l'envoi d'alertes à Slack, allez dans les actions connectées et cliquez sur Add.
  2. Pour créer une action, sélectionnez l'onglet Create New et indiquez le nom de l'action et sa durée d'exécution. Sélectionnez Python comme moteur d'exécution. Cliquez ensuite sur Create & Add. Si vous avez déjà créé une action, vous pouvez la sélectionner sous l'onglet Select Existing.
1024
  1. Sélectionnez l'action créée et écrivez le code pour envoyer des alertes à Slack. Un exemple de code est fourni à titre de référence.
import sys
import requests
import json

def main(dict):

    print(dict)

    if "test" in dict:
        slack_payload = {"text":str(dict)}

    else:

        slack_payload = {"text":"Alert from notification webhook",
        "blocks":[
                {
                    "type": "header",
                    "text": {
                        "type": "plain_text",
                        "text": f"{dict['data']['rule_name']}"
                    }
                },
                {
                    "type": "divider"
                },
                {
                    "type": "context",
                    "elements": [
                        {
                            "type": "mrkdwn",
                            "text": "*" + dict['data']['summary'].replace('[', '`[', 1) + "`*"
                        }
                    ]
                },
                {
                    "type": "section",
                    "fields": [
                        {
                            "type": "mrkdwn",
                            "text": "*Start Time:* " + "`" + dict['data']['start_time'] + "`"
                        },
                        {
                            "type": "mrkdwn",
                            "text": "*End Time:* " + "`" + dict['data']['end_time'] + "`"
                        },
                        {
                            "type": "mrkdwn",
                            "text": "*Anomalous Event Count*: " + str(dict['data']['anomalous_event_count'])
                        },
                        {
                            "type": "mrkdwn",
                            "text": "*Severity*: " + dict['data']['severity']
                        }
                    ]
                },
                {
                    "type": "divider"
                },
                {
                    "type": "section",
                    "text": {
                        "type": "mrkdwn",
                        "text": "*Alert Details:*\n"
                    },
                    "fields": [
                        {
                            "type": "mrkdwn",
                            "text": "*Top 5 tenants:*\n" + "```" + str(dict['tenantname']) + "```"
                        }
                    ]
                },
                {
                    "type": "divider"
                }
            ]
        }

    url = "<Provide Slack Webhook URL>"
    headers = {"Content-type": "application/json"}
    payload = {"text": "Received this message from cloud functions"}

    response = requests.request('POST', url,headers = headers, data=json.dumps(slack_payload))
    print(response.status_code, response.text)
    if response.status_code == 200:
        return {"message":"Succefully sent the alert to slack"}

    return json.dumps({"status_code": 200, "message": "Received this message from cloud functions"})

  1. Les journaux d'activation des fonctions de nuage sont disponibles à l'adresse Activation Dashboard sur la page principale des fonctions de nuage.
  2. Le point de terminaison de la fonction cloud est prêt à recevoir des requêtes HTTP provenant de webhooks de notification et peut envoyer des alertes à Slack.
  3. L'exemple d'alerte Slack ressemble à l'image suivante lorsque des événements de menace sont générés.
1024

💎

Priti Patil & M Krishnakant Achary, IBM Security