ActionTrail conserve les événements pendant une durée maximale de 90 jours. Pour analyser des événements antérieurs à cette période, créez un trail afin de les acheminer vers Simple Log Service (SLS). Vous pourrez ensuite exécuter des requêtes dans SLS pour enquêter sur des incidents de sécurité, retracer les opérations, générer des rapports et configurer des alertes.
Prerequisites
Vous avez créé un trail pour acheminer les événements vers SLS. Create a single-account trail. Create a multi-account trail.
Investigate a leaked AccessKey
Si vous détectez des appels API provenant d'une adresse IP inhabituelle ou si vous soupçonnez qu'un AccessKey a été compromis, analysez la trace des appels associés à cette clé dans SLS pour identifier toute activité suspecte.
Identifiez la ville d'origine de chaque appel. Les villes situées en dehors de vos zones d'activité habituelles peuvent indiquer une compromission potentielle.
Connectez-vous à la Simple Log Service console.
Dans l'onglet Projects, localisez la section Projects et cliquez sur le nom du projet associé à l'événement.
Cliquez sur le nom du Logstore, puis utilisez le sélecteur de plage temporelle situé au-dessus de l'éditeur de requête pour définir une période.
-
Saisissez la requête suivante dans l'éditeur de requête.
__topic__: actiontrail_audit_event and event.userIdentity.accessKeyId:<YourAccessKeyId> | SELECT count(1) as pv, city FROM (SELECT "event.sourceIpAddress" AS ip, ip_to_city("event.sourceIpAddress") as city FROM log) WHERE ip_to_domain(ip)!='intranet' GROUP BY city ORDER BY pv DESCRemarqueRemplacez
<YourAccessKeyId>par votre AccessKey ID.Cette requête compte le nombre d'appels par ville pour l'AccessKey spécifié. Les villes situées en dehors de vos zones d'activité habituelles peuvent indiquer une compromission potentielle.
Cliquez sur Search & Analyze pour afficher les résultats.
-
Facultatif : Si un AccessKey est compromis, ajustez les permissions de l'utilisateur RAM correspondant.
Trace ECS instance deletion
Retracez les opérations à haut risque, telles que la suppression d'instances ECS, afin d'identifier les utilisateurs qui les ont effectuées.
Connectez-vous à la Simple Log Service console.
Dans l'onglet Projects, localisez la section Projects et cliquez sur le nom du projet associé à l'événement.
Cliquez sur le nom du Logstore, puis utilisez le sélecteur de plage temporelle situé au-dessus de l'éditeur de requête pour définir une période.
-
Saisissez la requête suivante dans l'éditeur de requête.
__topic__: actiontrail_audit_event | SELECT serviceName, eventName, userName, count(1) as pv FROM (SELECT "event.eventName" as eventName, "event.serviceName" as serviceName, "event.userIdentity.userName" as userName FROM log) WHERE (serviceName = <TargetServiceName> and eventName = <TargetEventName>) GROUP BY serviceName, eventName, userNameRemarqueRemplacez
<TargetServiceName>parECSet<TargetEventName>parDeleteInstancespour identifier l'utilisateur ayant supprimé une instance ECS. -
Cliquez sur Search & Analyze pour afficher les résultats.
Les résultats indiquent quels utilisateurs ont supprimé des instances ECS et le nombre de fois où ils l'ont fait. Pour enquêter sur une opération spécifique, exécutez la requête suivante.
__topic__: actiontrail_audit_event and event.serviceName:<TargetServiceName> and <TargetResourceId> and event.userIdentity.accessKeyId:<YourAccessKeyId>
Generate a resource usage report
Générez des rapports de données sur l'utilisation des ressources principales afin de soutenir la planification de la capacité et l'évaluation des risques.
Par exemple, analysez la création d'instances ECS au cours des six derniers mois pour prévoir les besoins en ressources des six prochains mois et optimiser les coûts.
Connectez-vous à la Simple Log Service console.
Dans l'onglet Projects, localisez la section Projects et cliquez sur le nom du projet associé à l'événement.
Cliquez sur le nom du Logstore, puis utilisez le sélecteur de plage temporelle situé au-dessus de l'éditeur de requête pour définir une période.
-
Saisissez la requête suivante dans l'éditeur de requête.
__topic__: actiontrail_audit_event and event.serviceName:<TargetServiceName> and event.eventName:<TargetEventName> | select t, diff[1] as current, diff[2] as last_month, diff[3] as percentage from(select t, compare( pv , 2592000) as diff from (select count(1) as pv, date_format(from_unixtime(__time__), '%m') as t from log group by t) group by t order by t)RemarqueRemplacez
<TargetServiceName>parECSet<TargetEventName>parCreateInstance. Cette requête renvoie le nombre d'instances ECS créées chaque mois, ainsi que le taux de croissance mensuel. Cliquez sur Search & Analyze pour afficher les résultats.
En bas de la page, cliquez sur l'onglet Chart.
Dans la zone General Configurations située à droite de l'onglet, sélectionnez dans la liste des types de graphique.
Utilisez des requêtes similaires pour d'autres opérations. L'analyse des modèles d'appels permet d'identifier les heures de pointe et d'améliorer l'utilisation des ressources.
Configure an anomaly alert
Configurez une alerte lorsque le volume d'accès quotidien d'un service dépasse sa moyenne sur 60 jours d'un pourcentage spécifié. Vous pouvez également ajouter des graphiques personnalisés pour une surveillance en temps réel. Add a chart to a dashboard.
Connectez-vous à la Simple Log Service console.
Dans l'onglet Projects, localisez la section Projects et cliquez sur le nom du projet associé à l'événement.
-
Interrogez le trafic moyen sur 60 jours et le trafic en temps réel de la journée en cours pour chaque cloud service.
Cliquez sur le nom du Logstore, puis utilisez le sélecteur de plage temporelle situé au-dessus de l'éditeur de requête.
Dans la zone Select Time, cliquez sur Custom et définissez la plage temporelle sur les 60 derniers jours.
-
Saisissez la requête suivante dans l'éditeur de requête.
__topic__: actiontrail_audit_event |select a.serviceName, a.avg_pv, b.today_pv from (select serviceName, avg(pv) as avg_pv from (select "event.serviceName" as serviceName, count(1) as pv, date_format(from_unixtime(__time__), '%m-%d') as day from log group by serviceName, day) group by serviceName) a join (select "event.serviceName" as serviceName, count(1) as today_pv from log where date_format(from_unixtime(__time__), '%Y-%m-%d')=current_date group by serviceName) b on a.serviceName = b.serviceName Cliquez sur Search & Analyze pour afficher les résultats.
En bas de la page, cliquez sur l'onglet Chart.
-
Dans la zone General Configurations située à droite de l'onglet, sélectionnez dans la liste des types de graphique.
RemarqueAjoutez des conditions de filtrage pour exclure les services ou événements indésirables.
-
Configurez l'alerte.
Dans le coin supérieur droit du graphique, cliquez sur l'icône
.-
Dans le panneau Alert Monitoring Rule, configurez les paramètres.
-
Configurez la condition de déclenchement.
$0.today_pv > $0.avg_pv && ($0.today_pv - $0.avg_pv)/$0.avg_pv > 0.5Dans cette expression,
$0représente les données brutes du graphique issues de la requête, qui incluent les volumes d'accès quotidiens et la moyenne sur 60 jours pour chaque service.$0.avg_pvreprésente le volume d'accès moyen sur 60 jours pour un service. Cliquez sur Confirm.