Collecter les journaux AWS Route 53
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 vers 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 remplir les conditions préalables suivantes :
- 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 parcours, cliquez sur Créer un parcours.
- Indiquez un nom de parcours .
- Sélectionnez Create new S3 bucket (Créer un bucket S3) ou choisissez d'utiliser un bucket S3 existant.
- Indiquez un nom pour l'alias AWS KMS ou choisissez une clé AWS KMS existante.
- Conservez les autres paramètres par défaut, puis cliquez sur Next (Suivant).
- Sélectionnez Type d'événement, puis assurez-vous que l'option Événements de gestion est sélectionnée (il s'agit des événements qui incluront les appels d'API Route 53).
- Cliquez sur Suivant.
- Vérifiez les paramètres dans Vérifier et créer.
- Cliquez sur Créer un parcours.
- 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 Copier l'URI S3 et enregistrez-le.
Configurer un utilisateur AWS IAM
- Dans la console AWS, recherchez IAM.
- Cliquez sur Utilisateurs.
- Cliquez sur Ajouter des utilisateurs.
- Attribuez un nom à l'utilisateur (par exemple, chronicle-feed-user).
- Sélectionnez 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 Suivant : Relire.
- Vérifiez la configuration, puis cliquez sur 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 :
- Paramètres SIEM> Flux > Ajouter
- Plate-forme 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 DNS AWS Route 53.
- Facultatif : Si vous utilisez l'API Ingestion pour l'ingestion directe des journaux, spécifiez AWS Route 53 comme type de journal.
Spécifiez les valeurs des champs suivants.
- Type de source : Amazon SQS V2
- Nom de la file d'attente : nom de la file d'attente SQS à partir de laquelle lire les données
- URI S3 : URI du bucket.
s3://your-log-bucket-name/
- Remplacez
your-log-bucket-name
par le nom réel de votre bucket S3.
- Remplacez
Options de suppression de la source : sélectionnez l'option de suppression en fonction de vos préférences d'ingestion.
Âge maximal des fichiers : incluez les fichiers modifiés au cours des derniers jours. La valeur par défaut est de 180 jours.
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.
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
- Nom du flux : valeur préremplie qui identifie le flux.
- Espace de noms de l'élément : espace de noms associé au flux.
- Libellés d'ingestion : libellés appliqués à tous les événements de ce flux.
Cliquez sur 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 de 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" (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 correspondant à 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 secours 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 qui a 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 | 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'une table de conversion. |
N/A | read_only_udm.network.dns.questions.type | Mappé à partir du champ "query_type" à l'aide d'une table de référence. |
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é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 la valeur de "firewall_rule_action" si elle n'est pas "ALLOW" ni "BLOCK". |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.