Comment exporter des journaux avec Amazon Athena

Comment exporter des journaux avec Amazon Athena

SOC Prime Team
SOC Prime Team linkedin icon Suivre

Athena ne stocke pas les journaux elle-même. Elle interroge les fichiers journaux dans S3, tels que CloudTrail, les journaux de flux VPC, les journaux des équilibreurs de charge et les journaux WAF, via des tables que vous définissez. Les résultats de requêtes normales sont enregistrés sous forme de CSV dans votre compartiment de résultats. Pour obtenir du JSON à la place, encapsulez la requête dans UNLOAD … WITH (format = ‘JSON’) : Athena écrit un JSON délimité par une nouvelle ligne vers un préfixe S3, et vous le téléchargez.

De nombreuses équipes AWS conservent des mois de journaux dans S3 et les interrogent avec Athena plutôt que de tout transférer vers un SIEM. Prime Core dispose de plus de 24 000 règles de détection uniques, mappées sur 676 techniques MITRE ATT&CK. Voici comment en extraire une partie, la nettoyer et l’analyser gratuitement dans LogTotal.

Commencez gratuitement

Avant de commencer

Autorisations. Vous devez exécuter des requêtes Athena (athena:StartQueryExecution et connexes), lire les définitions de table dans Glue, lire le compartiment source et écrire dans un compartiment d’exportation. Ajoutez kms:Decrypt si les journaux sont chiffrés avec KMS.

Connaître la table et ses partitions. Une table CloudTrail est généralement partitionnée par région et date, soit avec une projection de partition soit avec des partitions que vous avez ajoutées. Athena facture en fonction des données scannées, alors filtrez sur les partitions à chaque fois. Une requête sans celles-ci peut scanner des années de journaux.

Un groupe de travail. Athena exécute des requêtes dans un groupe de travail avec un emplacement de résultats. UNLOAD écrit vers sa propre cible, mais le groupe de travail doit tout de même être configuré.

Exporter avec UNLOAD

UNLOAD (
  SELECT *
  FROM cloudtrail_logs
  WHERE region = 'eu-west-1'
    AND day = '2026/10/19'
    AND useridentity.arn LIKE '%suspicious-user%'
)
TO 's3://my-athena-exports/ct-1019/'
WITH (format = 'JSON', compression = 'NONE')

Adaptez les colonnes de partition (région, jour) à la définition de votre table. Le préfixe cible doit être vide.

Depuis la ligne de commande :

QID=$(aws athena start-query-execution –work-group primary
  –query-string « $(cat unload.sql) »
  –query ‘QueryExecutionId’ –output text)

# attendre jusqu’à SUCCESS
until [ « $(aws athena get-query-execution –query-execution-id « $QID »
  –query ‘QueryExecution.Status.State’ –output text) » = « SUCCEEDED » ]; do sleep 5; done

aws s3 cp s3://my-athena-exports/ct-1019/ ./ct-1019/ –recursive
zcat -f ./ct-1019/* > ct_1019.jsonl

zcat -f gère à la fois la sortie compressée et non compressée, au cas où la compression serait restée par défaut. Si la requête échoue, la boucle d’attente ne se termine jamais. Vérifiez également pour FAILED si vous scriptz cela régulièrement.

Pourquoi pas get-query-results? Cela fonctionne, mais cela renvoie des lignes sous forme de listes de chaînes, 1000 par page, que vous devez ensuite réassembler en objets. UNLOAD vous donne un JSON propre en une seule étape.

Téléchargez, nettoyez et examinez dans LogTotal

  1. Télécharger. Ouvrir logtotal.com et déposez le fichier .jsonl. 
  2. Nettoyer. 
  3. Examiner. 

Quand ça ne va pas

SymptômeCause probableFix
La requête scanne des téraoctetsPas de filtre de partitionFiltrer sur les colonnes de partition
Erreur concernant l’emplacement de sortieLe préfixe cible n’est pas videUtiliser un nouveau préfixe
Accès refuséPermission S3, Glue ou KMS manquanteVérifiez chacun ; KMS est le suspect habituel
Zero lignesPartitions non chargées, ou mauvais format de partitionVérifiez la projection des partitions ou lancez MSCK REPAIR TABLE
Les fichiers de sortie ne s’ouvrent pas en tant que texteCompression GZIPUtilisez zcat, ou définissez compression = ‘NONE’

FAQ

Est-ce la même chose que Amazon Security Lake ?

Security Lake utilise aussi Athena, mais avec ses propres tables OCSF et ses autorisations Lake Formation.

Puis-je exporter les fichiers CloudTrail bruts à la place ?

Oui. Si vous n’avez besoin que des jours entiers, la copie des fichiers depuis S3 est plus simple. Athena est utile lorsque vous devez filtrer.

Rejoignez la plateforme Detection as Code de SOC Prime pour améliorer la visibilité sur les menaces les plus pertinentes pour votre entreprise. Pour vous aider à démarrer et à générer une valeur immédiate, planifiez dès maintenant une réunion avec des experts de SOC Prime.