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) (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.
- Conservez les autres paramètres par défaut, puis cliquez sur 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 les flux dans la plate-forme Google SecOps :
- Paramètres SIEM> Flux
- Plate-forme de contenu > Packs de contenu
Configurer des flux à partir de Paramètres SIEM > Flux
Pour configurer plusieurs flux pour différents types de journaux dans cette famille de produits, consultez Configurer des flux par produit.
Pour configurer un seul flux :
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Add New Feed (Ajouter un flux).
- Sur la page suivante, cliquez sur Configurer un seul flux.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux AWS Route 53).
- Sélectionnez Amazon S3 comme Type de source.
- Sélectionnez AWS Route 53 comme Type de journal.
- Cliquez sur Suivant.
Spécifiez les valeurs des paramètres d'entrée suivants :
- 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 de votre bucket S3.
- Remplacez
- L'URI est : sélectionnez Répertoire incluant des sous-répertoires.
- Options de suppression de la source : sélectionnez l'option de suppression en fonction de vos préférences d'ingestion.
ID de clé d'accès : clé d'accès de l'utilisateur disposant des autorisations de lecture du bucket S3.
Clé d'accès secrète : clé secrète de l'utilisateur avec les autorisations nécessaires pour lire le bucket S3.
Espace de noms de l'élément : espace de noms de l'élément.
Libellés d'ingestion : libellé à appliquer aux événements de ce flux.
Cliquez sur Suivant.
Vérifiez la configuration de votre nouveau flux sur l'écran Finaliser, puis cliquez sur Envoyer.
Configurer des flux depuis le Hub de contenu
Indiquez les valeurs des champs suivants :
- Région : région dans laquelle se trouve le bucket Amazon S3.
- 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
- L'URI est : sélectionnez Répertoire incluant des sous-répertoires.
- Options de suppression de la source : sélectionnez l'option de suppression en fonction de vos préférences d'ingestion.
ID de clé d'accès : clé d'accès de l'utilisateur disposant des autorisations de lecture du bucket S3.
Clé d'accès secrète : clé secrète de l'utilisateur avec les autorisations nécessaires pour lire le bucket S3.
Options avancées
- Nom du flux : valeur préremplie qui identifie le flux.
- Type de source : méthode utilisée pour collecter les journaux dans Google SecOps.
- 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.
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.