Erstellen Sie eine Tabelle für Warnungsprotokolle und fragen Sie sie ab - Amazon Athena

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie eine Tabelle für Warnungsprotokolle und fragen Sie sie ab

  1. Ändern Sie die folgende DDL Beispielanweisung so, dass sie der Struktur Ihres Warnungsprotokolls entspricht. Möglicherweise müssen Sie die Anweisung so aktualisieren, dass sie die Spalten für die neueste Version der Protokolle enthält. Weitere Informationen finden Sie unter Inhalt eines Firewall-Protokolls im AWS Network Firewall -Entwicklerhandbuch.

    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/';
  2. Ändern Sie die LOCATION Klausel, um den Ordner für Ihre Protokolle in Amazon S3 anzugeben.

  3. Führen Sie Ihre CREATE TABLE Abfrage im Athena-Abfrageeditor aus. Nach Abschluss der Abfrage registriert Athena die network_firewall_alert_logs Tabelle und macht die Daten, auf die sie verweist, für Abfragen bereit.

Beispielabfrage

Die Beispielabfrage im Warnungsprotokoll in diesem Abschnitt filtert nach Ereignissen, bei denen eine TLS Inspektion durchgeführt wurde und die Warnmeldungen mit einem Schweregrad von 2 oder höher aufweisen.

Die Abfrage verwendet Aliase, um Ausgabespaltenüberschriften zu erstellen, die angeben, zu welcher Spalte struct die Spalte gehört. Beispielsweise lautet die Spaltenüberschrift für das event.alert.category Feld event_alert_category nicht nur. category Um die Spaltennamen weiter anzupassen, können Sie die Aliase an Ihre Präferenzen anpassen. Sie können beispielsweise Unterstriche oder andere Trennzeichen verwenden, um die struct Namen und Feldnamen abzugrenzen.

Denken Sie daran, Spaltennamen und struct Verweise auf der Grundlage Ihrer Tabellendefinition und der Felder, die Sie im Abfrageergebnis haben möchten, zu ändern.

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;