Collecter les journaux AWS Route 53

Compatible avec:

Ce document explique comment configurer AWS CloudTrail pour stocker les journaux DNS AWS Route 53 dans un bucket S3 et ingérer les journaux de S3 dans Google Security Operations. Amazon Route 53 fournit la journalisation des requêtes DNS et la possibilité de surveiller vos ressources à l'aide de vérifications de l'état. Route 53 est intégré à AWS CloudTrail, un service qui fournit un enregistrement des actions effectuées par un utilisateur, un rôle ou un service AWS dans Route 53.

Avant de commencer

  • Assurez-vous de disposer d'une instance Google SecOps.
  • Assurez-vous de disposer d'un accès privilégié à AWS.

Configurer AWS CloudTrail et Route 53

  1. Connectez-vous à la console AWS.
  2. Recherchez Cloudtrail.
  3. Si vous n'avez pas encore de parcours, cliquez sur Créer un parcours.
  1. Indiquez un nom de sentier .
  2. Sélectionnez Créer un bucket S3 (vous pouvez également choisir d'utiliser un bucket S3 existant).
  3. Attribuez un nom à l'alias AWS KMS ou choisissez une clé AWS KMS existante.
  4. Laissez les autres paramètres par défaut, puis cliquez sur Next (Suivant).
  5. Sélectionnez Type d'événement, puis assurez-vous que Événements de gestion est sélectionné (ce sont les événements qui incluent les appels d'API Route 53).
  6. Cliquez sur Suivant.
  7. Vérifiez les paramètres dans Vérifier et créer.
  8. Cliquez sur Créer un parcours.
  9. Dans la console AWS, recherchez S3.
  10. Cliquez sur le bucket de journaux nouvellement créé, puis sélectionnez le dossier AWSLogs .
  11. Cliquez sur Copier l'URI S3, puis enregistrez-le.

Configurer un utilisateur IAM AWS

  1. Dans la console AWS, recherchez IAM.
  2. Cliquez sur Utilisateurs.
  3. Cliquez sur Ajouter des utilisateurs.
  4. Attribuez un nom à l'utilisateur (par exemple, "chronicle-feed-user").
  5. Sélectionnez Clé d'accès - Accès programmatique comme type d'identifiants AWS.
  6. Cliquez sur Next: Permissions (Suivant : Autorisations).
  7. Sélectionnez Joindre directement des règles existantes.
  8. Sélectionnez AmazonS3ReadOnlyAccess ou AmazonS3FullAccess.
  1. Cliquez sur Next: Tags (Suivant : Tags).
  2. (Facultatif) Ajoutez des tags si nécessaire.
  3. Cliquez sur Suivant : Relire.
  4. Vérifiez la configuration, puis cliquez sur Créer un utilisateur.
  5. Copiez l'ID de clé d'accès et la clé d'accès secrète de l'utilisateur créé.

Configurer un flux dans Google SecOps pour ingérer les journaux AWS Route 53

  1. Accédez à SIEM Settings > Feeds (Paramètres du SIEM > Flux).
  2. Cliquez sur Ajouter.
  3. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux AWS Route 53).
  4. Sélectionnez Amazon S3 comme Type de source.
  5. Sélectionnez AWS Route 53 comme Type de journal.
  6. Cliquez sur Suivant.
  7. Spécifiez les valeurs des paramètres d'entrée suivants:

    • Region (Région) : région dans laquelle se trouve le bucket Amazon S3.
    • URI S3: URI du bucket.
      • s3:/BUCKET_NAME
        • Remplacez BUCKET_NAME par le nom réel du bucket.
    • Un URI est: sélectionnez Un répertoire qui inclut des sous-répertoires.
    • Options de suppression de la source: sélectionnez l'option de suppression en fonction de vos préférences.
    • ID de clé d'accès: clé d'accès utilisateur ayant accès au bucket S3.
    • Clé d'accès secrète: clé secrète de l'utilisateur ayant accès au bucket S3.
    • Espace de noms des éléments: espace de noms des éléments.
    • Libellés d'ingestion: libellé à appliquer aux événements de ce flux.
  8. Cliquez sur Suivant.

  9. Vérifiez la configuration de votre nouveau flux dans l'écran Finaliser, puis cliquez sur Envoyer.

Tableau de mappage UDM

Champ du journal Mappage UDM Logique
Identifiant du compte read_only_udm.principal.resource.product_object_id ID du compte AWS associé à la requête.
firewall_domain_list_id read_only_udm.security_result.rule_labels.value ID de la liste de domaines à laquelle appartient le domaine interrogé.
firewall_rule_action read_only_udm.security_result.action Action effectuée par la règle de pare-feu correspondant à la requête. Les valeurs possibles sont "ALLOW", "BLOCK" ou "UNKNOWN_ACTION" si l'action n'est pas reconnue.
firewall_rule_group_id read_only_udm.security_result.rule_id ID du groupe de règles de pare-feu correspondant à la requête.
logEvents{}.id read_only_udm.principal.resource.product_object_id ID unique de l'événement de journal. Utilisé en remplacement si "account_id" n'est pas présent.
logEvents{}.message Ce champ est analysé dans d'autres champs UDM en fonction de son format.
logEvents{}.timestamp read_only_udm.metadata.event_timestamp.seconds Heure à laquelle la requête DNS a été enregistrée.
messageType Ce champ permet de déterminer la structure du message de journal.
owner read_only_udm.principal.user.userid ID de compte AWS du propriétaire du journal.
query_class read_only_udm.network.dns.questions.class Classe de la requête DNS.
query_name read_only_udm.network.dns.questions.name Nom de domaine interrogé.
query_timestamp read_only_udm.metadata.event_timestamp.seconds Heure à laquelle la requête DNS a été effectuée.
query_type read_only_udm.metadata.product_event_type Type de requête DNS.
rcode read_only_udm.metadata.description Code de réponse de la requête DNS.
région read_only_udm.principal.location.name Région AWS d'où provient la requête.
srcaddr read_only_udm.principal.ip Adresse IP du client qui a effectué la requête DNS.
srcids.instance read_only_udm.principal.hostname ID d'instance du client ayant effectué la requête DNS.
srcids.resolver_endpoint read_only_udm.security_result.rule_labels.value ID du point de terminaison du résolveur qui a traité la requête.
srcids.resolver_network_interface read_only_udm.security_result.rule_labels.value ID de l'interface réseau du résolveur qui a traité la requête.
srcport read_only_udm.principal.port Numéro de port du client qui a effectué la requête DNS.
transport read_only_udm.network.ip_protocol Protocole de transport utilisé pour la requête DNS.
version read_only_udm.metadata.product_version Version du format des journaux de requêtes du résolveur Route 53.
N/A read_only_udm.metadata.event_type Code dur "NETWORK_DNS".
N/A read_only_udm.metadata.product_name Code dur "AWS Route 53".
N/A read_only_udm.metadata.vendor_name Code dur "AMAZON".
N/A read_only_udm.principal.cloud.environment Coded en dur sur "AMAZON_WEB_SERVICES".
N/A read_only_udm.network.application_protocol Code dur "DNS".
N/A read_only_udm.network.dns.response_code Mappé à partir du champ "rcode" à l'aide d'une table de correspondance.
N/A read_only_udm.network.dns.questions.type Mappé à partir du champ "query_type" à l'aide d'une table de correspondance.
N/A read_only_udm.metadata.product_deployment_id Extrait du champ "logevent.message_data" à l'aide du format grok.
N/A read_only_udm.network.dns.authority.name Extrait du champ "logevent.message_data" à l'aide du format grok.
N/A read_only_udm.security_result.rule_labels.key Définissez la valeur sur "firewall_domain_list_id", "resolver_endpoint" ou "resolver_network_interface", en fonction des champs disponibles.
N/A read_only_udm.security_result.action_details Définissez cette valeur sur celle de "firewall_rule_action" si elle n'est pas "ALLOW" ou "BLOCK".

Modifications

2024-10-22

  • Amélioration: mappage du champ "answers" sur "network.dns.answers".

2024-10-17

  • Amélioration: ajout de on_error à tous les champs avant la mise en correspondance avec UDM.

2023-12-20

  • Correction de bug:
  • Ajout de gsub pour remplacer "\" par "#" afin de convertir le SYSLOG en JSON.
  • Ajout de gsub pour remplacer à nouveau "#" par "\".

2023-05-08

  • Amélioration:
  • Modèle Grok modifié pour les journaux DNS de requête afin de prendre en charge un nouveau format de journal.
  • Gérer les journaux JSON contenant plusieurs événements

2022-08-10

  • Blocs de modification en majuscules supplémentaires supprimés.

2022-07-22

  • Analyseur nouvellement créé.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.