Collecter les journaux AWS Route 53
Version de l'analyseur : 5.0
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 des prérequis suivants :
- Instance Google SecOps
- Accès privilégié à AWS
Configurer AWS CloudTrail et Route 53
- Connectez-vous à la console AWS.
- Recherchez Cloudtrail.
- Si vous n'avez pas encore de journal, cliquez sur Create trail (Créer un journal).
- Indiquez un Trail name (Nom du journal).
- Sélectionnez Create new S3 bucket (Créer un bucket S3) (vous pouvez également choisir d'utiliser un bucket S3 existant).
- Indiquez un nom pour l'alias AWS KMS ou choisissez une clé AWS KMS existante.
- Laissez les autres paramètres par défaut, puis cliquez sur Next (Suivant).
- Sélectionnez Event type (Type d'événement), puis assurez-vous que Management events (Événements de gestion) est sélectionné (il s'agit des événements qui incluront les appels d'API Route 53).
- Cliquez sur Next (Suivant).
- Vérifiez les paramètres dans Review and create (Vérifier et créer).
- Cliquez sur Create trail (Créer un journal).
- Dans la console AWS, recherchez S3.
- Cliquez sur le bucket de journaux que vous venez de créer, puis sélectionnez le dossier AWSLogs .
- Cliquez sur Copy S3 URI (Copier l'URI S3) et enregistrez-le.
Configurer un utilisateur AWS IAM
- Dans la console AWS, recherchez IAM.
- Cliquez sur Users (Utilisateurs).
- Cliquez sur Add Users (Ajouter des utilisateurs).
- Indiquez un nom pour l'utilisateur (par exemple, chronicle-feed-user).
- Sélectionnez Access key - Programmatic access (Clé d'accès – Accès programmatique) comme type d'identifiant AWS.
- Cliquez sur Next: Permissions (Suivant : Autorisations).
- Sélectionnez Attach existing policies directly (Joindre directement des règles existantes).
- Sélectionnez AmazonS3ReadOnlyAccess ou AmazonS3FullAccess.
- Cliquez sur Next: Tags (Suivant : Tags).
- Facultatif : ajoutez des tags si nécessaire.
- Cliquez sur Next: Review (Suivant : Vérifier).
- Vérifiez la configuration, puis cliquez sur Create user (Créer un utilisateur).
- Copiez l'ID de clé d'accès et la clé d'accès secrète de l'utilisateur créé.
Configurer des flux
Il existe deux points d'entrée différents pour configurer des flux dans la plate-forme Google SecOps :
- SIEM Settings > Feeds > Add New Feed (Paramètres SIEM > Flux > Ajouter un flux)
- Content Hub > Content Packs > Get Started (Hub de contenu > Packs de contenu > Premiers pas)
Configurer le flux DNS AWS Route 53
- Cliquez sur le pack Amazon Cloud Platform.
- Recherchez le type de journal AWS Route 53 DNS.
- Facultatif : Si vous utilisez l'API d'ingestion pour l'ingestion directe de journaux, spécifiez AWS Route 53 comme type de journal.
Spécifiez les valeurs des champs suivants.
- Source Type (Type de source) : Amazon SQS V2
- Queue Name (Nom de la file d'attente) : nom de la file d'attente SQS à partir de laquelle effectuer la lecture
- URI S3 : URI du bucket
s3://your-log-bucket-name/- Remplacez
your-log-bucket-namepar le nom réel de votre bucket S3.
- Remplacez
Source deletion options (Options de suppression de la source) : sélectionnez l'option de suppression en fonction de vos préférences d'ingestion.
Maximum File Age (Âge maximal des fichiers) : incluez les fichiers modifiés au cours des derniers jours. La valeur par défaut est de 180 jours.
SQS Queue Access Key ID (ID de clé d'accès à la file d'attente SQS) : clé d'accès au compte qui est une chaîne alphanumérique de 20 caractères.
SQS Queue Secret Access Key (Clé d'accès secrète à la file d'attente SQS) : clé d'accès au compte qui est une chaîne alphanumérique de 40 caractères.
Options avancées
- Feed Name (Nom du flux) : valeur préremplie qui identifie le flux.
- Asset Namespace (Espace de noms de l'actif) : espace de noms associé au flux.
- Ingestion Labels (Libellés d'ingestion) : libellés appliqués à tous les événements de ce flux.
Cliquez sur Create feed (Créer un flux).
Pour en savoir plus sur la configuration de plusieurs flux pour différents types de journaux au sein de cette famille de produits, consultez Configurer des flux par produit.
Table de mappage UDM
| Champ du journal | Mappage UDM | Logique |
|---|---|---|
| account_id | 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 qui correspond à la requête. Les valeurs possibles sont "ALLOW" (AUTORISER), "BLOCK" (BLOQUER) ou "UNKNOWN_ACTION" (ACTION_INCONNUE) 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 qui correspond à la requête. |
| logEvents{}.id | read_only_udm.principal.resource.product_object_id | ID unique de l'événement de journal. Utilisé comme solution de repli 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 du 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. |
| region | 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 qui a effectué la requête DNS. |
| srcids.resolver_endpoint | read_only_udm.security_result.rule_labels.value | ID de point de terminaison du résolveur qui a géré la requête. |
| srcids.resolver_network_interface | read_only_udm.security_result.rule_labels.value | ID d'interface réseau du résolveur qui a géré 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 | Codé en dur sur "NETWORK_DNS". |
| N/A | read_only_udm.metadata.product_name | Codé en dur sur "AWS Route 53". |
| N/A | read_only_udm.metadata.vendor_name | Codé en dur sur "AMAZON". |
| N/A | read_only_udm.principal.cloud.environment | Codé en dur sur "AMAZON_WEB_SERVICES". |
| N/A | read_only_udm.network.application_protocol | Codé en dur sur "DNS". |
| N/A | read_only_udm.network.dns.response_code | Mappé à partir du champ "rcode" à l'aide d'un tableau de conversion. |
| N/A | read_only_udm.network.dns.questions.type | Mappé à partir du champ "query_type" à l'aide d'un tableau de conversion. |
| N/A | read_only_udm.metadata.product_deployment_id | Extrait du champ "logevent.message_data" à l'aide du modèle Grok. |
| N/A | read_only_udm.network.dns.authority.name | Extrait du champ "logevent.message_data" à l'aide du modèle Grok. |
| N/A | read_only_udm.security_result.rule_labels.key | Défini 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éfini sur la valeur de "firewall_rule_action" si elle n'est pas "ALLOW" ou "BLOCK". |
Journal des modifications
Consulter le journal des modifications de cet analyseur
Vous avez encore besoin d'aide ? Obtenez des réponses auprès des membres de la communauté et des professionnels Google SecOps.