Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Consultez les GuardDuty résultats d'Amazon
Amazon GuardDuty
Pour plus d'informations sur Amazon GuardDuty, consultez le guide de GuardDuty l'utilisateur Amazon.
Prérequis
-
Activez la GuardDuty fonctionnalité d'exportation des résultats vers Amazon S3. Pour connaître les étapes à suivre, consultez la section Exportation des résultats dans le guide de GuardDuty l'utilisateur Amazon.
Créez un tableau dans Athena pour les résultats GuardDuty
Pour interroger vos GuardDuty conclusions auprès d'Athéna, vous devez créer un tableau pour celles-ci.
Pour créer un tableau dans Athena pour les résultats GuardDuty
Ouvrez la console à l'adresse https://console.aws.amazon.com/athena/
. -
Collez l'DDLinstruction suivante dans la console Athena. Modifiez les valeurs
LOCATION 's3://amzn-s3-demo-bucket
pour qu'elles correspondent à vos GuardDuty résultats dans Amazon S3./AWSLogs/
account-id
/GuardDuty/'CREATE EXTERNAL TABLE `gd_logs` ( `schemaversion` string, `accountid` string, `region` string, `partition` string, `id` string, `arn` string, `type` string, `resource` string, `service` string, `severity` string, `createdat` string, `updatedat` string, `title` string, `description` string) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/
account-id
/GuardDuty/' TBLPROPERTIES ('has_encrypted_data'='true')Note
Le SerDe s'attend à ce que chaque JSON document se trouve sur une seule ligne de texte, aucun caractère de fin de ligne ne séparant les champs de l'enregistrement. Si le JSON texte est dans un joli format d'impression, vous pouvez recevoir un message d'erreur tel que
HIVECURSOR_ _ ERROR : La ligne n'est pas un JSON objet valide
ouHIVECURSOR_ _ ERROR JsonParseException end-of-input : Inattendu : marqueur de fermeture attendu OBJECT
lorsque vous essayez d'interroger la table après l'avoir créée. Pour plus d'informations, consultez la section Fichiers de JSON donnéesdans la SerDe documentation OpenX sur. GitHub -
Exécutez la requête dans la console Athena pour enregistrer la table
gd_logs
. Une fois la requête terminée, vous pouvez interroger les résultats à partir d'Athena.
Exemples de requêtes
Les exemples suivants montrent comment interroger les GuardDuty résultats d'Athéna.
Exemple — DNS exfiltration de données
La requête suivante renvoie des informations sur les EC2 instances Amazon susceptibles d'exfiltrer des données par le biais DNS de requêtes.
SELECT title, severity, type, id AS FindingID, accountid, region, createdat, updatedat, json_extract_scalar(service, '$.count') AS Count, json_extract_scalar(resource, '$.instancedetails.instanceid') AS InstanceID, json_extract_scalar(service, '$.action.actiontype') AS DNS_ActionType, json_extract_scalar(service, '$.action.dnsrequestaction.domain') AS DomainName, json_extract_scalar(service, '$.action.dnsrequestaction.protocol') AS protocol, json_extract_scalar(service, '$.action.dnsrequestaction.blocked') AS blocked FROM gd_logs WHERE type = 'Trojan:EC2/DNSDataExfiltration' ORDER BY severity DESC
Exemple — Accès IAM utilisateur non autorisé
La requête suivante renvoie tous les types de UnauthorizedAccess:IAMUser
recherche pour un IAM principal provenant de toutes les régions.
SELECT title, severity, type, id, accountid, region, createdat, updatedat, json_extract_scalar(service, '$.count') AS Count, json_extract_scalar(resource, '$.accesskeydetails.username') AS IAMPrincipal, json_extract_scalar(service,'$.action.awsapicallaction.api') AS APIActionCalled FROM gd_logs WHERE type LIKE '%UnauthorizedAccess:IAMUser%' ORDER BY severity desc;
Conseils pour interroger GuardDuty les résultats
Lorsque vous créez votre requête, gardez les points suivants à l'esprit.
-
Pour extraire des données de JSON champs imbriqués, utilisez les fonctions Presto
json_extract
oujson_extract_scalar
. Pour de plus amples informations, veuillez consulter Extraire JSON des données à partir de chaînes. -
Assurez-vous que tous les caractères des JSON champs sont en minuscules.
-
Pour plus d'informations sur le téléchargement des résultats de requête, veuillez consulter Téléchargez les fichiers de résultats des requêtes à l'aide de la console Athena.