Rapports relatifs à la sécurité

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

Consultez la documentation d'Apigee Edge.

La vue Rapports de sécurité vous permet de créer des rapports pour identifier les menaces de sécurité pesant sur vos API. Pour générer les rapports, Apigee analyse les données de trafic des API sur un intervalle de temps spécifié et recherche des schémas de trafic inhabituels pouvant être causés par des agents malveillants. Apigee affiche ensuite un rapport indiquant toute activité suspecte. À l'aide de ces informations, vous pouvez ensuite prendre des mesures pour bloquer les attaques contre vos API.

Vous pouvez créer des rapports de sécurité dans l'UI Apigee, comme décrit ci-dessous, ou à l'aide de l'API des rapports de sécurité. Si vous utilisez l'interface utilisateur, les données des rapports sont limitées à l'environnement que vous choisissez. Toutefois, à l'aide de l'API, vous pouvez également créer des rapports pour les groupes d'environnements.

Pour connaître les rôles nécessaires à l'exécution des tâches liées aux rapports de sécurité, consultez la section Rôles requis pour les rapports de sécurité.

Pour utiliser cette fonctionnalité, vous devez activer le module complémentaire. Si vous avez souscrit un abonnement, vous pouvez activer le module complémentaire pour votre organisation. Pour plus d'informations, consultez la page Gérer Advanced API Security pour les organisations avec abonnement. Si vous êtes un client facturé à l'usage, vous pouvez activer le module complémentaire dans vos environnements éligibles. Pour en savoir plus, consultez la page Gérer le module complémentaire Advanced API Security.

Détection des bots

L'une des menaces les plus critiques pour la sécurité des API provient des bots : les scripts automatisés qui envoient des requêtes malveillantes aux API. Advanced API Security recherche des schémas de trafic d'API spécifiques, appelés règles de détection, qui sont basés sur l'analyse de données d'API réelles afin de détecter les bots.

Retard des données des rapports de sécurité

Les données transmises par le pipeline Apigee Analytics présentent un retard moyen de 15 à 20 minutes. Par conséquent, un rapport de sécurité dans lequel l'heure de fin date de moins de 20 minutes dans le passé peut renvoyer des résultats incorrects.

Afficher la vue Rapports de sécurité

Procédez comme suit pour ouvrir la vue Rapports de sécurité :

  • Si vous utilisez l'interface utilisateur Apigee dans la console Cloud : sélectionnez Advanced API Security > Rapports de sécurité.
  • Si vous utilisez l'interface utilisateur Apigee classique : sélectionnez Analyser > Sécurité des API > Rapports de sécurité. Les noms et le comportement des colonnes peuvent différer légèrement dans l'interface utilisateur classique d'Apigee et dans l'interface utilisateur d'Apigee dans la console Cloud.

La vue principale Rapports de sécurité s'affiche :

Fenêtre principale de "Rapports de sécurité".

En haut de la page, vous pouvez sélectionner :

  • l'environnement dans lequel vous souhaitez créer un rapport ;
  • le filtre Type de rapport. Vous disposez des options suivantes :
    • Tous
    • Actif
    • Échec
    • Expiré

Sous ces options, les rapports de sécurité sont affichés dans les lignes d'un tableau. Chaque ligne affiche les détails du rapport suivants :

  • Le nom du rapport Cliquez sur le nom du rapport pour l'afficher.
  • L'état du rapport, qui peut être l'un des suivants :
    • running (en cours) : le rapport est en cours d'exécution et ne peut pas être affiché pour l'instant.
    • completed (terminé) : le rapport est terminé et peut être affiché ou exporté.
    • expired (expiré) : le rapport a expiré et ne peut plus être affiché ni exporté dans l'interface utilisateur. Pour afficher un rapport après la date d'expiration, vous devez l'exporter avant cette date. Au bout de 30 jours, le rapport est supprimé de la liste des rapports disponibles.
  • Les champs Heure de début et Heure de fin indiquent les dates et heures de début et de fin du rapport.

  • Date d'envoi : date et heure d'envoi de la demande de rapport.
  • Heure d'expiration : date et heure auxquelles le rapport expire et ne peut plus être affiché dans l'interface utilisateur d'Apigee. La date d'expiration est sept jours après la création du rapport. Au bout de 30 jours, le rapport est supprimé de la liste des rapports disponibles. Vous ne pouvez pas afficher ni exporter de rapports dans l'UI après leur date d'expiration.
  • Taille du fichier : taille du fichier du rapport. Vous devrez peut-être modifier les critères du rapport pour créer un rapport dont la taille de fichier est inférieure à la taille de fichier maximale. Consultez la section Limites applicables aux rapports de sécurité pour en savoir plus sur la taille maximale de fichier et les méthodes spécifiques permettant de réduire la taille de fichier.
  • Exporter : exporte ou télécharge le rapport dans un fichier ZIP. L'exportation n'est disponible que si l'état du rapport est terminé.

Créer un rapport de sécurité

Pour créer un rapport de sécurité, commencez par cliquer sur + Créer dans la vue Rapports de sécurité. La boîte de dialogue Créer un projet de rapport de sécurité s'ouvre. Vous pouvez configurer les options du rapport comme décrit dans la section suivante.

Options des rapports de sécurité

Vous pouvez spécifier les options suivantes pour un rapport de sécurité :

  • Nom du rapport : nom du rapport.
  • Plage de dates du rapport : heure de début et heure de fin du rapport.

    Remarque : Les heures de début et de fin du rapport doivent être antérieures à la date du jour et au maximum un an avant sa création.

  • Métriques : statistique du rapport. Vous pouvez choisir parmi les métriques et les fonctions d'agrégation suivantes (fonctions qui calculent les statistiques des métriques).
    Métrique Description Fonctions d'agrégation
    bot Nombre d'adresses IP distinctes pour les bots détectés sur des intervalles d'une minute. count_distinct
    bot_traffic Nombre de messages provenant d'adresses IP de bots détectés sur un intervalle d'une minute. pondérée
    message_count

    Nombre total d'appels d'API traités par Apigee par intervalles d'une minute.

    Remarque : Le message count_count ne peut pas être utilisé avec d'autres métriques ou avec la dimension bot_reason du même rapport.

    pondérée
    Taille d'une réponse Taille de la charge utile de réponse renvoyée en octets. somme, moyenne, min, max
  • Dimensions : les dimensions vous permettent de regrouper des valeurs de métriques en fonction des sous-ensembles de données associés. Le tableau suivant décrit les dimensions spécifiques aux rapports d'Advanced API Security.

    Dimension Description
    bot_reason
    incident_id (aperçu)
    security_action (aperçu) Type d'action de sécurité. Les valeurs possibles sont ALLOW, BLOCK et FLAG.
    security_action_name Nom de l'action de sécurité.
    security_action_headers En-têtes associés à une requête d'action ALLOW.

    Remarque : La dimension bot_reason, qui est spécifique à Advanced API Security, peut être constituée de n'importe quelle combinaison des règles de détection individuelles. Lorsqu'un bot est détecté, bot_reason comprend le sous-ensemble de règles de détection individuelles auquel le trafic du bot correspondait au moment de sa détection.

    Remarque : bot_reason et incident_id ne fonctionnent qu'avec les métriques suivantes :

    • bot
    • bot_traffic
    • Taille d'une réponse

    Consultez la section Dimensions pour connaître les autres dimensions compatibles avec les rapports d'Advanced API Security.

    Pour ajouter plusieurs dimensions, cliquez simplement sur + Ajouter une dimension pour chaque dimension à ajouter. Vous pouvez également modifier l'ordre dans lequel les dimensions s'affichent dans le rapport, en cliquant sur les flèches vers le haut ou vers le bas situées à droite du champ des dimensions.

  • Filtres : les filtres vous permettent de limiter les résultats aux métriques avec des valeurs spécifiques. Pour créer un filtre, définissez les champs suivants :
    • Sélectionnez un nom pour le filtre.
    • Sélectionnez un opérateur de comparaison.
    • Sélectionnez une valeur.

    Consultez les les filtres.

Une fois que vous avez sélectionné toutes les options de rapport, cliquez sur Créer pour créer la tâche de rapport.

Afficher un rapport terminé

Une fois le rapport terminé, il est listé dans le tableau comme indiqué ci-dessous :

Rapport de sécurité affiché dans le tableau.

Pour afficher le rapport, vous pouvez soit :

  • cliquer sur son nom ;
  • Cliquez sur Exporter sur la ligne de ce rapport.
Remarque : La détection des bots présente un délai de traitement d'environ 15 à 20 minutes en moyenne.

Exemple : rapport sur les adresses IP des bots

L'exemple suivant crée un rapport indiquant les adresses IP des bots détectés. Pour créer le rapport, utilisez la configuration suivante :

  • Métrique : bot, nombre d'adresses IP distinctes identifiées comme sources de bots.
  • Fonction d'agrégation : count_distinct
  • Dimension : IP client résolue

Le rapport terminé est présenté ci-dessous :

Rapport sur les adresses de bots dans les rapports de sécurité

Notez que le tableau situé en bas du rapport répertorie les adresses IP que la sécurité avancée des API a identifiées comme des bots.

Exemple : rapport sur le trafic par bots par motif de bot

L'exemple suivant crée un rapport sur le trafic de bots (c'est-à-dire le nombre de requêtes provenant d'adresses IP identifiées comme des sources de bots) par bot_reason (l'ensemble de règles de détection ayant entraîné la détection du bot). Pour créer le rapport, utilisez la configuration suivante :

  • Métrique : bot_traffic
  • Fonction d'agrégation : somme
  • Dimension : bot_reason

Le rapport terminé est présenté ci-dessous :

Rapport sur la sécurité du trafic de bots par motif de bot

Chaque bot_reason comprend un sous-ensemble des règles de détection individuelles. Comme vous pouvez le constater sur le graphique, la règle de détection qui a contribué à la plus grande quantité de trafic généré par les bots est l'ensemble de règles suivant :

  • Flooder
  • Brute Guessor
  • Robot Abuser

Exemple : rapport sur le trafic de bots

L'exemple suivant crée un rapport qui n'est pas regroupé par dimension. Si vous ne souhaitez pas regrouper les données par dimension, vous pouvez définir Dimension sur Environnement. Étant donné que les données sont toujours limitées à l'environnement sélectionné, le rapport ne dispose d'aucun regroupement de données.

  • Métrique : trafic de bot
  • Fonction d'agrégation : somme
  • Dimension : environnement
Rapport sur la sécurité du rapport sur le trafic de bots

Le rapport affiche le trafic total provenant d'adresses IP identifiées comme sources de bots, pour chaque intervalle d'une minute sur la période du rapport. Notez qu'il n'y a pas de regroupement.

Autres exemples de rapports de sécurité

Le tableau suivant répertorie des exemples de sécurité des rapports que vous pouvez créer à l'aide de différentes métriques et dimensions :

Rapport Metrics Dimensions
Rapport sur tout le trafic des bots et le nombre de bots pour chaque environnement bot, bot_traffic environment
Rapport sur le trafic et le nombre de bots pour différentes raisons de bot bot, bot_traffic bot_reason
Rapport sur le trafic et le nombre de bots pour différents pays bot, bot_traffic ax_geo_country
Rapport sur le trafic et le nombre de bots pour différents FAI bot, bot_traffic ax_isp
Rapport de détection de bot (vue détaillée) bot_traffic IP client résolue, ax_isp, bot_reason, request_uri, client_id
Trafic du bot par jeton d'accès bot_traffic access_token
Trafic bot par proxy d'API bot_traffic apiproxy
Trafic du bot par famille d'agent bot_traffic ax_ua_agent_family
Trafic bot par user-agent bot_traffic User-agent
Trafic du bot par type d'agent bot_traffic ax_ua_agent_type
Trafic du bot par catégorie d'appareil bot_traffic ax_ua_device_category
Trafic du bot par famille d'OS bot_traffic ax_ua_os_family
Trafic du bot par ID client bot_traffic client_id
Trafic du bot par chemin de base du proxy bot_traffic proxy_basepath
Trafic du bot par suffixe de chemin de proxy bot_traffic proxy_pathsuffix
Trafic du bot par URI de requête bot_traffic request_uri
Trafic du bot par verbe de requête bot_traffic request_verb
Trafic du bot par code d'état de la réponse bot_traffic response_status_code

Limites des rapports de sécurité

Les rapports de sécurité présentent les limites suivantes :

  • Les données transmises par le pipeline Apigee Analytics présentent un retard moyen de 15 à 20 minutes. Par conséquent, la création d'un rapport dans lequel l'heure de fin date de moins de 20 minutes dans le passé peut renvoyer des résultats incorrects.
  • La période maximale pour les rapports sur les bots est d'un an.
  • Vous pouvez utiliser un maximum de 25 métriques dans un rapport et un maximum de 25 dimensions.
  • Comme pour l'API de création de rapports personnalisés asynchrones, la limite est fixée à 31 Mo de données par rapport. Si vous rencontrez une limite de taille sur un rapport, vous pouvez :
    • Réduire la période du rapport.
    • Répartir les données en sous-ensembles plus petits en filtrant sur un ensemble de valeurs, puis créer plusieurs rapports, un pour chaque sous-ensemble.
  • En raison de la confidentialité, la dimension IP client résolue ne peut pas être répertoriée dans le même rapport avec la dimension ax_geo_city ou ax_geo_country.
  • Les métriques suivantes sont disponibles uniquement via l'API Security Reports et pas dans l'interface utilisateur : bot_first_detected (min) et bot_last_detected (max)