Collecter les journaux de flux VPC AWS
Ce document explique comment collecter les journaux de flux VPC AWS à l'aide d'un transfert Google Security Operations.
Pour en savoir plus, consultez Ingestion de données dans Google Security Operations.
Un libellé d'ingestion identifie l'analyseur qui normalise les données de journal brutes au format UDM structuré. Les informations de ce document s'appliquent à l'analyseur avec le libellé d'ingestion AWS_VPC_FLOW
.
Avant de commencer
Assurez-vous que le bucket Amazon S3 est créé. Pour en savoir plus, consultez Créer votre premier bucket S3.
Assurez-vous que le groupe de journaux Amazon CloudWatch est créé. Pour en savoir plus, consultez Utiliser des groupes de journaux et des flux de journaux.
Configurer le flux VPC AWS
Configurez le flux AWS VPC en fonction de l'envoi des journaux vers Amazon S3 ou Amazon CloudWatch.
Pour en savoir plus sur l'acheminement des journaux vers le bucket Amazon S3, consultez la section Configurer les journaux de flux pour acheminer les journaux vers Amazon S3 de ce document.
Pour en savoir plus sur l'acheminement des journaux vers Amazon CloudWatch, consultez la section Configurer les journaux de flux vers Amazon CloudWatch de ce document.
Configurer les journaux de flux pour transférer les journaux vers Amazon S3
Une fois le bucket Amazon S3 créé et configuré, vous pouvez créer des journaux de flux pour vos interfaces réseau, vos sous-réseaux et vos réseaux VPC.
Créer un journal de flux pour une interface réseau
- Connectez-vous à la console Amazon EC2.
- Dans le volet de navigation, sélectionnez Interfaces réseau.
- Sélectionnez une ou plusieurs interfaces réseau.
- Sélectionnez Actions > Créer un journal de flux.
- Configurez les paramètres des journaux de flux. Pour en savoir plus, consultez la section Configurer les paramètres des journaux de flux de ce document.
Créer un journal de flux pour un sous-réseau
- Connectez-vous à la console Amazon VPC.
- Dans le volet de navigation, sélectionnez Sous-réseaux.
- Sélectionnez un ou plusieurs sous-réseaux.
- Sélectionnez Actions > Créer un journal de flux.
- Configurez les paramètres des journaux de flux. Pour en savoir plus, consultez la section Configurer les paramètres des journaux de flux de ce document.
Créer un journal de flux pour un VPC
- Connectez-vous à la console Amazon VPC.
- Dans le volet de navigation, sélectionnez VPC.
- Sélectionnez un ou plusieurs VPC.
- Sélectionnez Actions > Créer un journal de flux.
- Configurez les paramètres des journaux de flux. Pour en savoir plus, consultez la section Configurer les paramètres des journaux de flux de ce document.
Configurer les paramètres des journaux de flux
Dans la section Filtre, spécifiez le trafic IP à consigner:
Accept (Accepter) : n'enregistre que le trafic accepté.
Refuser: n'enregistre que le trafic refusé.
Toutes: enregistre le trafic accepté et refusé.
Dans la section Intervalle d'agrégation maximal, sélectionnez 1 minute.
Dans la section Destination, sélectionnez Envoyer vers un bucket Amazon S3.
Dans la section ARN du bucket S3, spécifiez l'ARN d'un bucket Amazon S3.
Dans la section Format de l'enregistrement de journal, spécifiez les formats suivants pour l'enregistrement de journal de flux:
- Pour utiliser le format d'enregistrement du journal des flux par défaut, sélectionnez Format par défaut d'AWS.
- Pour créer un format personnalisé, sélectionnez Format personnalisé.
Configurez le flux de journaux VPC avec le format de journal AWS personnalisé pour utiliser les fonctionnalités d'IP réelles MSS.
Dans la liste Format du journal, sélectionnez tous les attributs.
Dans la section Aperçu du format, examinez le format personnalisé.
Dans la section Format de fichier journal, sélectionnez Texte (par défaut).
Dans la section Préfixe S3 compatible avec Hive, laissez la case Enable (Activer) décochée.
Dans la section Partitionner les journaux par heure, sélectionnez Toutes les heures (60 min).
Pour ajouter un tag au journal des flux, sélectionnez Ajouter un tag, puis spécifiez la clé et la valeur du tag.
Sélectionnez Créer un journal de flux. Pour en savoir plus, consultez Publier des journaux de flux dans Amazon S3.
Configurer les journaux de flux dans Amazon CloudWatch
Vous pouvez configurer les journaux de flux à partir de VPC, de sous-réseaux ou d'interfaces réseau.
Dans la section Filtre, spécifiez le type de trafic IP à consigner:
Accept (Accepter) : n'enregistre que le trafic accepté.
Refuser: n'enregistre que le trafic refusé.
Toutes: enregistre le trafic accepté et refusé.
Dans la section Intervalle d'agrégation maximal, sélectionnez 1 minute.
Dans la section Destination, sélectionnez Envoyer à CloudWatch Logs.
Dans la section Groupe de journaux de destination, indiquez le nom du groupe de journaux de destination que vous avez créé.
Dans la liste Rôle IAM, sélectionnez le nom du rôle. Le nom du rôle sélectionné dispose des autorisations nécessaires pour publier des journaux dans les journaux CloudWatch.
Le rôle IAM doit inclure les autorisations suivantes:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": "*" } ] }
Dans la section Format d'enregistrement de journal, sélectionnez Format personnalisé pour l'enregistrement du journal de flux.
Pour ajouter un tag au journal des flux, sélectionnez Ajouter un tag, puis spécifiez la clé et la valeur du tag.
Sélectionnez Créer un journal de flux. Pour en savoir plus, consultez Publier des journaux de flux dans Amazon S3.
Amazon S3 peut être configuré pour envoyer les notifications d'événement à Amazon SQS. Pour en savoir plus, consultez Configurer un bucket pour les notifications (thème SNS ou file d'attente SQS).
Les stratégies d'utilisateur IAM sont requises pour Amazon S3 et Amazon SQS si vous utilisez Amazon SQS (Amazon S3 avec Amazon SQS) comme méthode de collecte des journaux. Pour en savoir plus, consultez Utiliser des stratégies IAM avec AWS KMS.
En fonction du service et de la région, identifiez les points de terminaison de connectivité en vous reportant à la documentation AWS suivante:
Pour en savoir plus sur les sources de journalisation, consultez Points de terminaison et quotas AWS Identity and Access Management.
Pour en savoir plus sur les sources de journalisation Amazon S3, consultez la section Points de terminaison et quotas Amazon Simple Storage Service.
Pour en savoir plus sur les sources de journalisation Amazon SQS, consultez la page Points de terminaison et quotas Amazon Simple Queue Service.
Pour en savoir plus sur les sources de journalisation Amazon CloudWatch, consultez la section Points de terminaison et quotas des journaux Amazon CloudWatch.
Configurer le transfert Google Security Operations et le syslog pour ingérer les journaux de flux VPC AWS
- Sélectionnez Paramètres du SIEM > Transferts.
- Cliquez sur Ajouter un forwarder.
- Saisissez un nom unique pour le nom du transporteur.
- Cliquez sur Envoyer, puis sur Confirmer. Le forwarder est ajouté, et la fenêtre Ajouter une configuration de collecteur s'affiche.
- Dans le champ Nom du collecteur, saisissez un nom.
- Dans le champ Log type (Type de journal), sélectionnez AWS VPC Flow (Flux VPC AWS).
- Dans le champ Type de collecteur, sélectionnez Syslog.
- Configurez les paramètres d'entrée obligatoires suivants :
- Protocole: spécifiez le protocole de connexion que le collecteur utilisera pour écouter les données syslog.
- Address (Adresse) : spécifiez l'adresse IP ou le nom d'hôte cible où se trouve le collecteur, ainsi que les adresses des données syslog.
- Port: spécifiez le port cible sur lequel se trouve le collecteur et qui écoute les données syslog.
- Cliquez sur Envoyer, puis sur Confirmer.
Pour en savoir plus sur les transferts Google Security Operations, consultez la documentation sur les transferts Google Security Operations. Pour en savoir plus sur les exigences de chaque type de forwarder, consultez la section Configuration des forwarders par type.
Si vous rencontrez des problèmes lors de la création de transmetteurs, contactez l'assistance Google Security Operations.
Référence du mappage de champs
Ce code d'analyseur prend les journaux AWS CloudTrail bruts au format JSON décrivant les événements VPC EC2 et les transforme en format UDM structuré. Il extrait les champs pertinents, les renomme pour qu'ils correspondent au schéma UDM et enrichit les données avec un contexte supplémentaire, comme le type de ressource, l'environnement cloud et les libellés, pour faciliter l'analyse.
Tableau de mappage UDM pour l'analyseur VPC AWS EC2
Champ du journal (ordre croissant) | Mappage UDM | Logique |
---|---|---|
CidrBlock | event.idm.entity.entity.resource.attribute.labels.cidr_block | Mappé directement à partir du champ "CidrBlock" dans le journal brut. |
CidrBlock | event.idm.entity.entity.network.ip_subnet_range | Mappé directement à partir du champ "CidrBlock" dans le journal brut. |
CidrBlockAssociation.AssociationID | event.idm.entity.entity.resource.attribute.labels.cidr_block_association_association_id | Mappé directement à partir du champ "AssociationID" dans le tableau "CidrBlockAssociation" du journal brut. |
CidrBlockAssociation.CidrBlockState.State | event.idm.entity.entity.resource.attribute.labels.cidr_block_association_cidr_block_state_state | Mappé directement à partir du champ "État" de l'objet "CidrBlockState" du tableau "CidrBlockAssociation" dans le journal brut. |
CidrBlockAssociation.CidrBlockState.StatusMessage | event.idm.entity.entity.resource.attribute.labels.cidr_block_association_cidr_block_state_status_message | Mappé directement à partir du champ "StatusMessage" de l'objet "CidrBlockState" du tableau "CidrBlockAssociation" dans le journal brut. |
DhcpOptionsID | event.idm.entity.entity.resource.attribute.labels.dhcp_options_id | Mappé directement à partir du champ "DhcpOptionsID" dans le journal brut. |
ID | event.idm.entity.entity.resource.product_object_id | Mappé directement à partir du champ "ID" du journal brut, qui est renommé "VpcID" dans l'analyseur. |
ID | event.idm.entity.metadata.product_entity_id | Mappé directement à partir du champ "ID" du journal brut, qui est renommé "VpcID" dans l'analyseur. |
InstanceTenancy | event.idm.entity.entity.resource.attribute.labels.instance_tenancy | Mappé directement à partir du champ "InstanceTenancy" dans le journal brut. |
IsDefault | event.idm.entity.entity.resource.attribute.labels.is_default | Mappé directement à partir du champ "IsDefault" dans le journal brut. |
Ipv6CidrBlockAssociationSet.AssociationID | event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_association_id | Mappé directement à partir du champ "AssociationID" dans le tableau "Ipv6CidrBlockAssociationSet" du journal brut. |
Ipv6CidrBlockAssociationSet.Ipv6CidrBlock | event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_ipv6_cidr_block | Mappé directement à partir du champ "Ipv6CidrBlock" dans le tableau "Ipv6CidrBlockAssociationSet" du journal brut. |
Ipv6CidrBlockAssociationSet.Ipv6CidrBlockState.State | event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_ipv6_cidr_block_state_state | Mappé directement à partir du champ "État" de l'objet "Ipv6CidrBlockState" du tableau "Ipv6CidrBlockAssociationSet" dans le journal brut. |
Ipv6CidrBlockAssociationSet.Ipv6CidrBlockState.StatusMessage | event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_ipv6_cidr_block_state_status_message | Mappé directement à partir du champ "StatusMessage" de l'objet "Ipv6CidrBlockState" du tableau "Ipv6CidrBlockAssociationSet" dans le journal brut. |
Ipv6CidrBlockAssociationSet.Ipv6Pool | event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_ipv6_pool | Mappé directement à partir du champ "Ipv6Pool" dans le tableau "Ipv6CidrBlockAssociationSet" du journal brut. |
Ipv6CidrBlockAssociationSet.NetworkBorderGroup | event.idm.entity.entity.resource.attribute.labels.ipv6_cidr_block_association_set_network_border_group | Mappé directement à partir du champ "NetworkBorderGroup" dans le tableau "Ipv6CidrBlockAssociationSet" du journal brut. |
OwnerID | event.idm.entity.entity.resource.attribute.labels.owner_id | Mappé directement à partir du champ "OwnerID" dans le journal brut. |
État | event.idm.entity.entity.resource.attribute.labels.state | Mappé directement à partir du champ "État" du journal brut. |
TagSet.Key | event.idm.entity.entity.resource.attribute.labels.key | Mappé directement à partir du champ "Key" (Clé) dans le tableau "TagSet" (Ensemble de balises) du journal brut. Un libellé est créé pour chaque balise du "TagSet". |
TagSet.Value | event.idm.entity.entity.resource.attribute.labels.value | Mappé directement à partir du champ "Valeur" du tableau "TagSet" dans le journal brut. La valeur de chaque libellé correspondant créé à partir du champ "Clé" est ainsi renseignée. |
N/A | event.idm.entity.entity.resource.attribute.cloud.environment | Code codé en dur sur "AMAZON_WEB_SERVICES" dans le code de l'analyseur. |
N/A | event.idm.entity.entity.resource.resource_type | Codé en dur sur "VPC_NETWORK" dans le code de l'analyseur. |
N/A | event.idm.entity.metadata.collected_timestamp | Inséré avec l'horodatage de l'événement, qui est dérivé du champ "collection_time" dans le journal brut. |
N/A | event.idm.entity.metadata.entity_type | Codé en dur sur "RESOURCE" dans le code de l'analyseur. |
N/A | event.idm.entity.metadata.product_name | Codé en dur sur "Amazon VPC" dans le code de l'analyseur. |
N/A | event.idm.entity.metadata.vendor_name | Codé en dur sur "AWS" dans le code de l'analyseur. |
N/A | events.timestamp | Inséré avec l'horodatage de l'événement, qui est dérivé du champ "collection_time" dans le journal brut. |