Intégrer Apigee à votre solution SIEM

Cette page s'applique à Apigee et à Apigee hybrid.

De nombreuses entreprises cherchent à intégrer Apigee à leurs solutions de gestion des informations et des événements de sécurité (SIEM). Cette intégration permet de donner de la valeur à la mise en corrélation des données Apigee avec d'autres journaux de produits réseau et de sécurité, ce qui facilite la détection avancée des menaces, la journalisation complète et la création de rapports de conformité. Ce document explore différentes approches d'intégration, répondant à des scénarios avec et sans le module complémentaire Advanced API Security.

Audience

Ce document s'adresse aux personnes suivantes :

  • Administrateurs d'API chargés de garantir la sécurité des API, de gérer les configurations de la plate-forme, d'assurer l'efficacité opérationnelle et de respecter les exigences de conformité en matière de sécurité.
  • Les analystes de sécurité se sont concentrés sur la détection et l'investigation proactives des incidents de sécurité liés aux API afin de minimiser les risques et de protéger les données sensibles.

Options de configuration

Apigee propose deux méthodes principales pour envoyer des informations de journal à une solution SIEM :

Option Description
Journaux Google Cloud Platform Fournit un niveau de base de données de journalisation d'API, y compris des journaux spécifiques au service utiles pour le débogage et le dépannage.
Règle de journalisation des messages Apigee La règle de journalisation des messages offre plus de flexibilité et de contrôle, ce qui vous permet d'envoyer un large éventail de données de journalisation Apigee, y compris des variables de flux spécifiques, à votre solution SIEM.

Intégrer Apigee à votre solution SIEM

L'adaptabilité d'Apigee garantit une intégration fluide avec la solution SIEM de votre choix. Les étapes d'intégration générale sont les suivantes :

  1. Choisissez votre méthode d'intégration. Sélectionnez les journaux de la plate-forme Google Cloud ou la règle de journalisation des messages d'Apigee en fonction de vos exigences de données et de vos fonctionnalités SIEM.
  2. Établissez le transfert de données. Pour établir le transfert de données, configurez Apigee pour envoyer les données de journal souhaitées à votre solution SIEM. Les étapes de base de cette configuration sont les suivantes : Les étapes exactes dépendent des détails de la configuration de votre système SIEM :
    1. Configurez une connexion ou une intégration entre Apigee et votre solution SIEM.
    2. Dans la configuration de votre solution SIEM, spécifiez les journaux ou événements Apigee à transférer vers votre solution SIEM.
    3. Accordez les autorisations nécessaires dans votre solution SIEM pour recevoir et traiter les données Apigee.
  3. Alignez les structures de données. Mappez les champs de journal Apigee et les variables de flux (telles que client.ip, request.uri, etc.) aux champs correspondants du modèle de données de votre solution SIEM. Cet alignement garantit que la solution SIEM peut interpréter et catégoriser correctement les données Apigee pour une analyse et une corrélation efficaces avec d'autres événements de sécurité.

Consigner les données Advanced API Security

Si vous souhaitez consigner les données identifiées par la détection des abus Advanced API Security, vous pouvez utiliser les Actions avec la stratégie de journalisation des messages Apigee.

Procédez comme suit :

  1. Utilisez les actions Advanced API Security pour signaler une règle que vous souhaitez consigner.
  2. Utilisez l'en-tête ajouté par l'action pour déclencher la règle de journalisation des messages afin de consigner la requête signalée. Par exemple, l'image suivante montre l'en-tête apisec configuré avec la valeur abuse dans l'UI des actions :

    Capture d'écran montrant l'en-tête apisec configuré avec une utilisation abusive de valeur dans l'interface utilisateur Advanced API Security

    Dans cet exemple, vous pouvez configurer la règle de journalisation des messages pour qu'elle se déclenche lorsqu'elle voit l'en-tête :

    <PostFlow name="PostFlow">
      <Request>
        <Step>
          <Condition>request.header.apisec="abuse"</Condition>
          <Name>LogMessagePolicy</Name>
        </Step>
      </Request>
    </PostFlow>

Exemple : Utiliser la règle de journalisation des messages Apigee

Cet exemple montre comment configurer la règle de journalisation des messages Apigee pour envoyer des données de journal Apigee à une solution SIEM. Avec cette option, vous spécifiez dans la stratégie de journalisation des messages les variables de flux Apigee que vous souhaitez envoyer à la solution SIEM. Cette option vous permet d'envoyer un ensemble plus riche de détails de journal à la solution SIEM que celui que vous obtenez avec l'option de journal de la plate-forme Cloud.

  1. Activez l'ingestion des données Apigee dans la solution SIEM.
  2. Créez une règle de journalisation des messages avec le corps XML suivant. Pour savoir comment faire, consultez Associer et configurer des règles dans l'UI.
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <MessageLogging continueOnError="false" enabled="true" name="ML-SIEM-Integration">
          <CloudLogging>		
            <LogName>projects/{organization.name}/logs/Apigee-SIEM-Integration-{environment.name}</LogName>
            <Message contentType="application/json" defaultVariableValue="unknown"> 
            {
              "apigee.metrics.policy.{policy_name}.timeTaken": "{apigee.metrics.policy.{policy_name}.timeTaken}",
              "client.country": "{client.country}", 
              "client.host": "{client.host}",
              "client.ip": "{client.ip}",
              "client.locality": "{client.locality}",
              "client.port": "{client.port}",
             "client.state": "{client.state}",
              "organization.name": "{organization.name}",
            "proxy.client.ip": "{proxy.client.ip}",
            "proxy.name": "{proxy.name}",
            "proxy.pathsuffix": "{proxy.pathsuffix}",
            "proxy.url": "{proxy.url}",
            "request.uri": "{request.uri}",
            "request.verb": "{request.verb}",
            "response.content": "{response.content}",
            "response.reason.phrase": "{response.reason.phrase}",
            "response.status.code": "{response.status.code}",
            "system.region.name": "{system.region.name}",
            "system.timestamp": "{system.timestamp}",
            "system.uuid": "{system.uuid}",
            "target.country": "{target.country}",
            "target.host": "{target.host}",
            "target.ip": "{target.ip}",
            "target.locality": "{target.locality}",
            "target.organization": "{target.organization}",
            "target.port": "{target.port}",
            "target.scheme": "{target.scheme}",
            "target.state": "{target.state}",
            "target.url": "{target.url}"
            }
             </Message>
          </CloudLogging>
        </MessageLogging>
  3. Associez la règle au flux postérieur de point de terminaison du proxy. Consultez la section Associer et configurer des règles dans l'UI

Lorsque le proxy d'API traite le trafic, la règle de journalisation capture les champs spécifiés dans les requêtes et les réponses, puis les écrit dans le fichier journal pour analyse et débogage.