Collecter les journaux du pare-feu réseau AWS
Ce document explique comment ingérer les journaux AWS Network Firewall dans Google Security Operations. AWS Network Firewall est un service géré qui protège votre VPC contre le trafic malveillant. En envoyant les journaux du pare-feu réseau à Google SecOps, vous pouvez améliorer la surveillance, l'analyse et la détection des menaces.
Avant de commencer
Assurez-vous de remplir les conditions préalables suivantes :
- Instance Google SecOps
- Accès privilégié à AWS
Configurer la journalisation pour AWS Network Firewall
- Connectez-vous à l'AWS Management Console.
- Ouvrez la console Amazon VPC.
- Dans le volet de navigation, sélectionnez Pare-feu.
- Sélectionnez le nom du pare-feu que vous souhaitez modifier.
- Sélectionnez l'onglet Détails du pare-feu.
- Dans la section Journalisation, cliquez sur Modifier.
- Sélectionnez les types de journaux : Flux, Alerte et TLS.
Pour chaque type de journal sélectionné, choisissez S3 comme type de destination.
Cliquez sur Enregistrer.
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 Network Firewall).
- Sélectionnez Amazon S3 comme Type de source.
- Sélectionnez Pare-feu de réseau AWS 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://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 ou Répertoire incluant les sous-répertoires, selon la structure de votre bucket.
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 ou Répertoire incluant les sous-répertoires, selon la structure de votre bucket.
- 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 de journal | Mappage UDM | Logique |
---|---|---|
availability_zone |
target.resource.attribute.cloud.availability_zone |
Mappé directement à partir du champ availability_zone . |
event.app_proto |
network.application_protocol |
Mappé directement à partir du champ event.app_proto , converti en majuscules s'il ne s'agit pas de l'une des valeurs spécifiées (ikev2, tftp, failed, snmp, tls, ftp). HTTP2 est remplacé par HTTP. |
event.dest_ip |
target.ip |
Mappé directement à partir du champ event.dest_ip . |
event.dest_port |
target.port |
Mappé directement à partir du champ event.dest_port , converti en entier. |
event.event_type |
additional.fields[event_type_label].key |
La clé est codée en dur sous la forme "event_type". |
event.event_type |
additional.fields[event_type_label].value.string_value |
Mappé directement à partir du champ event.event_type . |
event.flow_id |
network.session_id |
Mappé directement à partir du champ event.flow_id , converti en chaîne. |
event.netflow.age |
additional.fields[netflow_age_label].key |
La clé est codée en dur sous la forme "netflow_age". |
event.netflow.age |
additional.fields[netflow_age_label].value.string_value |
Mappé directement à partir du champ event.netflow.age , converti en chaîne. |
event.netflow.bytes |
network.sent_bytes |
Mappé directement à partir du champ event.netflow.bytes , converti en entier non signé. |
event.netflow.end |
additional.fields[netflow_end_label].key |
La clé est codée en dur sous la forme "netflow_end". |
event.netflow.end |
additional.fields[netflow_end_label].value.string_value |
Mappé directement à partir du champ event.netflow.end . |
event.netflow.max_ttl |
additional.fields[netflow_max_ttl_label].key |
La clé est codée en dur sous la forme "netflow_max_ttl". |
event.netflow.max_ttl |
additional.fields[netflow_max_ttl_label].value.string_value |
Mappé directement à partir du champ event.netflow.max_ttl , converti en chaîne. |
event.netflow.min_ttl |
additional.fields[netflow_min_ttl_label].key |
La clé est codée en dur sous la forme "netflow_min_ttl". |
event.netflow.min_ttl |
additional.fields[netflow_min_ttl_label].value.string_value |
Mappé directement à partir du champ event.netflow.min_ttl , converti en chaîne. |
event.netflow.pkts |
network.sent_packets |
Mappé directement à partir du champ event.netflow.pkts , converti en entier. |
event.netflow.start |
additional.fields[netflow_start_label].key |
La clé est codée en dur sous la forme "netflow_start". |
event.netflow.start |
additional.fields[netflow_start_label].value.string_value |
Mappé directement à partir du champ event.netflow.start . |
event.proto |
network.ip_protocol |
Mappé directement à partir du champ event.proto . Si la valeur est "IPv6-ICMP", elle est remplacée par "ICMP". |
event.src_ip |
principal.ip |
Mappé directement à partir du champ event.src_ip . |
event.src_port |
principal.port |
Mappé directement à partir du champ event.src_port , converti en entier. |
event.tcp.syn |
additional.fields[syn_label].key |
La clé est codée en dur sous la forme "syn". |
event.tcp.syn |
additional.fields[syn_label].value.string_value |
Mappé directement à partir du champ event.tcp.syn , converti en chaîne. |
event.tcp.tcp_flags |
additional.fields[tcp_flags_label].key |
La clé est codée en dur sous le nom "tcp_flags". |
event.tcp.tcp_flags |
additional.fields[tcp_flags_label].value.string_value |
Mappé directement à partir du champ event.tcp.tcp_flags . |
event_timestamp |
metadata.event_timestamp.seconds |
Mappé directement à partir du champ event_timestamp , analysé en tant que code temporel. |
event_timestamp |
timestamp.seconds |
Mappé directement à partir du champ event_timestamp , analysé en tant que code temporel. |
firewall_name |
metadata.product_event_type |
Mappé directement à partir du champ firewall_name . Définissez sur "NETWORK_CONNECTION" si event.src_ip et event.dest_ip sont tous deux présents, sinon définissez sur "GENERIC_EVENT". Codé en dur sur "Pare-feu réseau AWS". Codé en dur sur "AWS". |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.