Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création et interrogation d'une table pour les journaux d'alertes
-
Modifiez l'exemple d'DDLinstruction suivant pour le conformer à la structure de votre journal d'alertes. Il se peut que vous deviez mettre à jour l'instruction pour inclure les colonnes de la dernière version des journaux. Pour plus d'informations, consultez la rubrique Contenu d'un journal de pare-feu du Guide du développeur AWS Network Firewall .
CREATE EXTERNAL TABLE network_firewall_alert_logs ( firewall_name string, availability_zone string, event_timestamp string, event struct< timestamp:string, flow_id:bigint, event_type:string, src_ip:string, src_port:int, dest_ip:string, dest_port:int, proto:string, app_proto:string, sni:string, tls_inspected:boolean, tls_error:struct< error_message:string>, revocation_check:struct< leaf_cert_fpr:string, status:string, action:string>, alert:struct< alert_id:string, alert_type:string, action:string, signature_id:int, rev:int, signature:string, category:string, severity:int, rule_name:string, alert_name:string, alert_severity:string, alert_description:string, file_name:string, file_hash:string, packet_capture:string, reference_links:array<string> >, src_country:string, dest_country:string, src_hostname:string, dest_hostname:string, user_agent:string, url:string > ) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' LOCATION 's3://amzn-s3-demo-bucket/
path_to_alert_logs_folder
/'; -
Modifiez la
LOCATION
clause pour spécifier le dossier de vos journaux dans Amazon S3. -
Exécutez votre
CREATE TABLE
requête dans l'éditeur de requêtes Athena. Une fois la requête terminée, Athena enregistre lanetwork_firewall_alert_logs
table et prépare les données vers lesquelles elle pointe pour les requêtes.
Exemple de requête
L'exemple de requête du journal d'alertes présenté dans cette section filtre les événements au cours desquels une TLS inspection a été effectuée et qui comportent des alertes d'un niveau de gravité supérieur ou égal à 2.
La requête utilise des alias pour créer des en-têtes de colonne de sortie indiquant à struct
quoi appartient la colonne. Par exemple, l'en-tête de colonne du event.alert.category
champ est event_alert_category
au lieu de simplementcategory
. Pour personnaliser davantage les noms des colonnes, vous pouvez modifier les alias en fonction de vos préférences. Par exemple, vous pouvez utiliser des traits de soulignement ou d'autres séparateurs pour délimiter les struct
noms et les noms de champs.
N'oubliez pas de modifier les noms et les struct
références des colonnes en fonction de la définition de votre table et des champs que vous souhaitez voir apparaître dans le résultat de la requête.
SELECT firewall_name, availability_zone, event_timestamp, event.timestamp AS event_timestamp, event.flow_id AS event_flow_id, event.event_type AS event_type, event.src_ip AS event_src_ip, event.src_port AS event_src_port, event.dest_ip AS event_dest_ip, event.dest_port AS event_dest_port, event.proto AS event_protol, event.app_proto AS event_app_proto, event.sni AS event_sni, event.tls_inspected AS event_tls_inspected, event.tls_error.error_message AS event_tls_error_message, event.revocation_check.leaf_cert-fpr AS event_revocation_leaf_cert, event.revocation_check.status AS event_revocation_check_status, event.revocation_check.action AS event_revocation_check_action, event.alert.alert_id AS event_alert_alert_id, event.alert.alert_type AS event_alert_alert_type, event.alert.action AS event_alert_action, event.alert.signature_id AS event_alert_signature_id, event.alert.rev AS event_alert_rev, event.alert.signature AS event_alert_signature, event.alert.category AS event_alert_category, event.alert.severity AS event_alert_severity, event.alert.rule_name AS event_alert_rule_name, event.alert.alert_name AS event_alert_alert_name, event.alert.alert_severity AS event_alert_alert_severity, event.alert.alert_description AS event_alert_alert_description, event.alert.file_name AS event_alert_file_name, event.alert.file_hash AS event_alert_file_hash, event.alert.packet_capture AS event_alert_packet_capture, event.alert.reference_links AS event_alert_reference_links, event.src_country AS event_src_country, event.dest_country AS event_dest_country, event.src_hostname AS event_src_hostname, event.dest_hostname AS event_dest_hostname, event.user_agent AS event_user_agent, event.url AS event_url FROM network_firewall_alert_logs WHERE event.alert.severity >= 2 AND event.tls_inspected = true LIMIT 10;