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 :
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 sur les 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 response_size 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)Action de sécurité du type. 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 pour une 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
- response_size
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 :
Pour afficher le rapport, vous pouvez soit :
- cliquer sur son nom ;
- Cliquez sur Exporter sur la ligne de ce rapport.
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 :
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 :
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
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 | Métriques | 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 | useragent |
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)