איסוף יומני ntopng

נתמך ב:

מנתח הנתונים הזה מחלץ יומני מעקב אחרי רשת ntopng בפורמט SYSLOG או JSON. הוא מנתח את הודעת היומן, ממיר את השדות הרלוונטיים לפורמט UDM ומעשיר את האירוע במטא-נתונים כמו שמות של מוצרים וספקים. המנתח גם מטפל במבני JSON בתצוגת עץ וממפה שדות ntopng ספציפיים לאירועי רשת של UDM, כולל התראות על זרימה וגישה למשאבי משתמשים.

לפני שמתחילים

ודאו שאתם עומדים בדרישות המוקדמות הבאות:

  • מופע של Google SecOps.
  • גישה מיוחדת ל-ntopng.

הגדרת פידים

כדי להגדיר פיד:

  1. עוברים אל הגדרות > ניהול נתונים > פידים. אם אתם משתמשים בפלטפורמה של SIEM בלבד, עוברים אל הגדרות > פידים.
  2. לוחצים על הוספת פיד חדש.
  3. בדף הבא, לוחצים על הגדרת פיד יחיד.
  4. בשדה Feed name, נותנים שם לפיד, לדוגמה Ntopng Logs.
  5. בוחרים באפשרות Webhook בתור סוג המקור.
  6. בוחרים באפשרות Ntopng בתור Log type.
  7. לוחצים על הבא.
  8. אופציונלי: מציינים ערכים לפרמטרים הבאים של הקלט:
    • Split delimiter: התו המשמש להפרדה בין שורות ביומן, כמו \n.
  9. לוחצים על הבא.
  10. בודקים את הגדרות הפיד במסך סיום ולוחצים על שליחה.
  11. לוחצים על יצירת מפתח סודי כדי ליצור מפתח סודי לאימות הפיד הזה.
  12. מעתיקים את המפתח הסודי ושומרים אותו. לא תוכלו לראות שוב את המפתח הסודי הזה. במקרה הצורך, אפשר ליצור מחדש מפתח סודי, אבל הפעולה הזו מבטלת את המפתח הסודי הקודם.
  13. בכרטיסייה פרטים, מעתיקים את כתובת ה-URL של נקודת הקצה של הפיד מהשדה פרטי נקודת הקצה. צריך לציין את כתובת ה-URL של נקודת הקצה הזו באפליקציית הלקוח.
  14. לוחצים על סיום.

יצירת מפתח API לפיד ה-Webhook

  1. נכנסים לדף CredentialsGoogle Cloud במסוף >.

    כניסה לדף Credentials

  2. לוחצים על Create credentials ואז על מפתח API.

  3. מגבילים את הגישה של מפתח ה-API ל-Google Security Operations API.

מציינים את כתובת ה-URL של נקודת הקצה

  1. באפליקציית הלקוח, מציינים את כתובת ה-URL של נקודת הקצה (endpoint) ב-HTTPS שסופקה בפיד ה-webhook.
  2. כדי להפעיל את האימות, צריך לציין את מפתח ה-API ואת המפתח הסודי כחלק מהכותרת בהתאמה אישית, בפורמט הבא:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    המלצה: ציינו את מפתח ה-API ככותרת במקום לציין אותו בכתובת ה-URL.

  3. אם לקוח ה-webhook שלכם לא תומך בכותרות בהתאמה אישית, אתם יכולים לציין את מפתח ה-API ואת המפתח הסודי באמצעות פרמטרים של שאילתה בפורמט הבא:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫ENDPOINT_URL: כתובת ה-URL של נקודת הקצה של הפיד.
    • ‫API_KEY: מפתח ה-API לאימות ב-Google Security Operations.
    • ‫SECRET: המפתח הסודי שיצרתם כדי לאמת את הפיד.

הגדרת Webhook ב-ntopng ל-Google SecOps

  1. נכנסים לממשק האינטרנט של ntopng.
  2. בתפריט הנפתח, בוחרים באפשרות מערכת.
  3. עוברים אל Notifications (התראות) > Endpoints (נקודות קצה).
  4. לוחצים על הוספה .
  5. מציינים ערכים לפרמטרים הבאים של הקלט:
    • שם נקודת הקצה: נותנים שם ייחודי ותיאורי (לדוגמה, Google SecOps).
    • Endpoint Type: בוחרים באפשרות Webhook מהרשימה.
    • כתובת ה-URL של ה-Webhook: מזינים את ENDPOINT_URL של Google SecOps עם API_KEY ו-SECRET.
  6. לוחצים על הוספה.
  7. עוברים אל Notifications (התראות) > Recipients (נמענים).
  8. לוחצים על הוספה .
  9. מציינים ערכים לפרמטרים הבאים של הקלט:
    • שם הנמען: נותנים שם ייחודי ותיאורי (לדוגמה, Google SecOps).
    • בחירת נקודת קצה (endpoint): בוחרים את נקודת הקצה שיצרתם קודם.
    • חומרה: בוחרים את רמת החומרה שתישלח אל Google SecOps (לדוגמה, מידע, אזהרה ושגיאה).
    • מסנן קטגוריות: בוחרים מה לשלוח אל Google SecOps.
  10. לוחצים על Test Recipient כדי לאמת את החיבור.
  11. לוחצים על הוספה כדי לשמור את ה-webhook.

הגדרת מנויים למשאב ה-webhook של ntopng

  1. עוברים אל מאגרים.
  2. בוחרים את המשאב שממנו רוצים לשתף את האירועים.

  3. לוחצים על סמל העיפרון בעמודה פעולות.

  4. לוחצים על התפריט הנפתח נמענים.

  5. בוחרים את הנמען של ה-Webhook של Google SecOps.

  6. לוחצים על עריכה כדי לשמור את ההגדרות.

  7. חוזרים על התהליך עם משאבים אחרים.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM Logic (פונקציה לוגית)
action security_result.detection_fields.key=action, security_result.detection_fields.value=%{action} הערך של action מהיומן הגולמי ממופה לאובייקט security_result.detection_fields עם המפתח action.
alert_generation.host_info.broadcast_domain_host security_result.detection_fields.key=host_info broadcast_domain_host, security_result.detection_fields.value=%{alert_generation.host_info.broadcast_domain_host} הערך של alert_generation.host_info.broadcast_domain_host מה-JSON המקונן ממופה לאובייקט security_result.detection_fields עם המפתח "host_info broadcast_domain_host".
alert_generation.host_info.dhcpHost security_result.detection_fields.key=host_info dhcpHost, security_result.detection_fields.value=%{alert_generation.host_info.dhcpHost} הערך של alert_generation.host_info.dhcpHost מ-JSON בתצורה מקוננת ממופה לאובייקט security_result.detection_fields עם המפתח "host_info dhcpHost".
alert_generation.host_info.is_blacklisted security_result.detection_fields.key=host_info is_blacklisted, security_result.detection_fields.value=%{alert_generation.host_info.is_blacklisted} הערך של alert_generation.host_info.is_blacklisted מה-JSON המקונן ממופה לאובייקט security_result.detection_fields עם המפתח "host_info is_blacklisted".
alert_generation.host_info.is_broadcast security_result.detection_fields.key=host_info is_broadcast, security_result.detection_fields.value=%{alert_generation.host_info.is_broadcast} הערך של alert_generation.host_info.is_broadcast מה-JSON המקונן ממופה לאובייקט security_result.detection_fields עם המפתח "host_info is_broadcast".
alert_generation.host_info.is_multicast security_result.detection_fields.key=host_info is_multicast, security_result.detection_fields.value=%{alert_generation.host_info.is_multicast} הערך של alert_generation.host_info.is_multicast מ-JSON בתצורה מקוננת ממופה לאובייקט security_result.detection_fields עם המפתח "host_info is_multicast".
alert_generation.host_info.localhost security_result.detection_fields.key=host_info localhost, security_result.detection_fields.value=%{alert_generation.host_info.localhost} הערך של alert_generation.host_info.localhost מ-JSON המקונן ממופה לאובייקט security_result.detection_fields עם המפתח "host_info localhost".
alert_generation.host_info.privatehost security_result.detection_fields.key=host_info privatehost, security_result.detection_fields.value=%{alert_generation.host_info.privatehost} הערך של alert_generation.host_info.privatehost מ-JSON בתצוגת עץ ממופה לאובייקט security_result.detection_fields עם המפתח "host_info privatehost".
alert_generation.host_info.systemhost security_result.detection_fields.key=host_info systemhost, security_result.detection_fields.value=%{alert_generation.host_info.systemhost} הערך של alert_generation.host_info.systemhost מה-JSON המקונן ממופה לאובייקט security_result.detection_fields עם המפתח "host_info systemhost".
alert_generation.script_key security_result.category_details=%{alert_generation.script_key} הערך של alert_generation.script_key מה-JSON בתצוגת עץ ממופה אל security_result.category_details.
alert_generation.subdir security_result.detection_fields.key=alert_generation_subdir, security_result.detection_fields.value=%{alert_generation.subdir} הערך של alert_generation.subdir מ-JSON בתצורה מקוננת ממופה לאובייקט security_result.detection_fields עם המפתח alert_generation_subdir.
alert_id security_result.detection_fields.key=alert_id, security_result.detection_fields.value=%{alert_id} הערך של alert_id מהיומן הגולמי ממופה לאובייקט security_result.detection_fields עם המפתח alert_id.
alerts_map security_result.detection_fields.key=alerts_map, security_result.detection_fields.value=%{alerts_map} הערך של alerts_map מהיומן הגולמי ממופה לאובייקט security_result.detection_fields עם המפתח alerts_map.
cli2srv_bytes network.sent_bytes הערך של cli2srv_bytes מהיומן הגולמי מומר למספר שלם לא חתום וממופה ל-network.sent_bytes.
cli_asn principal.resource.attribute.labels.key=cli_asn, principal.resource.attribute.labels.value=%{cli_asn} הערך של cli_asn מהיומן הגולמי מומר למחרוזת וממופה לאובייקט principal.resource.attribute.labels עם המפתח "cli_asn".
cli_blacklisted principal.resource.attribute.labels.key=cli_blacklisted, principal.resource.attribute.labels.value=%{cli_blacklisted} הערך של cli_blacklisted מהיומן הגולמי מומר למחרוזת וממופה לאובייקט principal.resource.attribute.labels עם המפתח cli_blacklisted.
cli_city_name principal.location.city הערך של cli_city_name מהיומן הגולמי ממופה ל-principal.location.city.
cli_continent_name principal.resource.attribute.labels.key=cli_continent_name, principal.resource.attribute.labels.value=%{cli_continent_name} הערך של cli_continent_name מהיומן הגולמי ממופה לאובייקט principal.resource.attribute.labels עם המפתח "cli_continent_name".
cli_country_name principal.location.country_or_region הערך של cli_country_name מהיומן הגולמי ממופה ל-principal.location.country_or_region.
cli_host_pool_id principal.resource.attribute.labels.key=cli_host_pool_id, principal.resource.attribute.labels.value=%{cli_host_pool_id} הערך של cli_host_pool_id מהיומן הגולמי מומר למחרוזת וממופה לאובייקט principal.resource.attribute.labels עם המפתח "cli_host_pool_id".
cli_ip principal.ip, principal.asset.ip הערך של cli_ip מהיומן הגולמי ממופה ל-principal.ip ול-principal.asset.ip.
cli_localhost principal.resource.attribute.labels.key=cli_localhost, principal.resource.attribute.labels.value=%{cli_localhost} הערך של cli_localhost מהיומן הגולמי מומר למחרוזת וממופה לאובייקט principal.resource.attribute.labels עם המפתח "cli_localhost".
cli_location principal.location.name הערך של cli_location מהיומן הגולמי מומר למחרוזת. אם הערך הוא לא "0", הוא ממופה ל-principal.location.name.
cli_name principal.hostname, principal.asset.hostname הערך של cli_name מהיומן הגולמי ממופה ל-principal.hostname ול-principal.asset.hostname.
cli_network principal.resource.attribute.labels.key=cli_network, principal.resource.attribute.labels.value=%{cli_network} הערך של cli_network מהיומן הגולמי מומר למחרוזת וממופה לאובייקט principal.resource.attribute.labels עם המפתח "cli_network".
cli_port principal.port הערך של cli_port מהיומן הגולמי מומר למספר שלם וממופה ל-principal.port.
entity_id principal.resource.attribute.labels.key=entity_id, principal.resource.attribute.labels.value=%{entity_id} הערך של entity_id מהיומן הגולמי מומר למחרוזת וממופה לאובייקט principal.resource.attribute.labels עם המפתח entity_id.
entity_val principal.resource.attribute.labels.key=entity_val, principal.resource.attribute.labels.value=%{entity_val} הערך של entity_val מהיומן הגולמי ממופה לאובייקט principal.resource.attribute.labels עם המפתח entity_val, אלא אם הוא שווה לערך של ip.
event.type metadata.event_type נקבע על ידי לוגיקת הניתוח על סמך הנוכחות של השדות principal,‏ target ו-network. ערכים אפשריים: NETWORK_FLOW,‏ NETWORK_UNCATEGORIZED,‏ USER_RESOURCE_ACCESS,‏ GENERIC_EVENT.
first_seen principal.asset.first_seen_time הערך של first_seen מהיומן הגולמי מומר למחרוזת, מנותח כאלפיות השנייה מאז תחילת התקופה וממופה ל-principal.asset.first_seen_time.
flow_risk_bitmap security_result.detection_fields.key=flow_risk_bitmap, security_result.detection_fields.value=%{flow_risk_bitmap} הערך של flow_risk_bitmap מהיומן הגולמי מומר למחרוזת וממופה לאובייקט security_result.detection_fields עם המפתח flow_risk_bitmap.
granularity security_result.detection_fields.key=granularity, security_result.detection_fields.value=%{granularity} הערך של granularity מהיומן הגולמי מומר למחרוזת וממופה לאובייקט security_result.detection_fields עם המפתח granularity.
hash_entry_id security_result.detection_fields.key=hash_entry_id, security_result.detection_fields.value=%{hash_entry_id} הערך של hash_entry_id מ-JSON בתצוגת עץ ממופה לאובייקט security_result.detection_fields עם המפתח hash_entry_id.
host_ip principal.ip, principal.asset.ip כתובת ה-IP שחולצה מהחלק <INT>Oct 20 15:34:53 1.1.1.1 של ההודעה ממופה אל principal.ip ואל principal.asset.ip.
ifid principal.asset_id הערך של ifid מהיומן הגולמי מומר למחרוזת וממופה ל-principal.asset_id עם הקידומת "ifid:‎ ".
ip ‫principal.ip,‏ principal.asset.ip או target.ip,‏ target.asset.ip אם הערך של is_client הוא True, הערך של ip מהיומן הגולמי ממופה ל-principal.ip ול-principal.asset.ip. אם הערך של is_server הוא True, הוא ממופה ל-target.ip ול-target.asset.ip.
is_cli_attacker security_result.detection_fields.key=is_cli_attacker, security_result.detection_fields.value=%{is_cli_attacker} הערך של is_cli_attacker מהיומן הגולמי מומר למחרוזת וממופה לאובייקט security_result.detection_fields עם המפתח "is_cli_attacker".
is_cli_victim security_result.detection_fields.key=is_cli_victim, security_result.detection_fields.value=%{is_cli_victim} הערך של is_cli_victim מהיומן הגולמי מומר למחרוזת וממופה לאובייקט security_result.detection_fields עם המפתח is_cli_victim.
is_flow_alert security_result.detection_fields.key=is_flow_alert,‏ security_result.detection_fields.value=%{is_flow_alert},‏ security_result.detection_fields.key=alert type,‏ security_result.detection_fields.value=flow הערך של is_flow_alert מהיומן הגולמי מומר למחרוזת וממופה לאובייקט security_result.detection_fields עם המפתח "is_flow_alert". אם הערך של is_flow_alert הוא True, נוצר גם אובייקט security_result.detection_fields עם המפתח "alert type" והערך "flow".
is_srv_attacker security_result.detection_fields.key=is_srv_attacker, security_result.detection_fields.value=%{is_srv_attacker} הערך של is_srv_attacker מהיומן הגולמי מומר למחרוזת וממופה לאובייקט security_result.detection_fields עם המפתח "is_srv_attacker".
is_srv_victim security_result.detection_fields.key=is_srv_victim, security_result.detection_fields.value=%{is_srv_victim} הערך של is_srv_victim מהיומן הגולמי מומר למחרוזת וממופה לאובייקט security_result.detection_fields עם המפתח "is_srv_victim".
metadata.product_name metadata.product_name=NTOPNG מקודד בתוך הקוד ל-"NTOPNG".
metadata.vendor_name metadata.vendor_name=%{vendor_name} הערך של vendor_name מההודעה ממופה ל-metadata.vendor_name.
name ‫principal.hostname,‏ principal.asset.hostname או target.hostname,‏ target.asset.hostname אם הערך של is_client הוא True, הערך של name מהיומן הגולמי ממופה ל-principal.hostname ול-principal.asset.hostname. אם הערך של is_server הוא True, הוא ממופה ל-target.hostname ול-target.asset.hostname.
ntopng_key security_result.detection_fields.key=ntopng_key, security_result.detection_fields.value=%{ntopng_key} הערך של ntopng.key (ששמו שונה ל-ntopng_key) מה-JSON בתצוגת עץ ממופה לאובייקט security_result.detection_fields עם המפתח "ntopng_key".
observation_point_id observer.asset_id הערך של observation_point_id מהיומן הגולמי מומר למחרוזת. אם הערך הוא לא "0", הוא ממופה ל-observer.asset_id עם הקידומת "id:‎".
pool_id principal.resource.attribute.labels.key=pool_id, principal.resource.attribute.labels.value=%{pool_id} הערך של pool_id מהיומן הגולמי מומר למחרוזת וממופה לאובייקט principal.resource.attribute.labels עם המפתח pool_id.
probe_ip intermediary.ip הערך של probe_ip מהיומן הגולמי ממופה ל-intermediary.ip.
proto.confidence security_result.confidence_details הערך של proto.confidence מהיומן הגולמי מומר למחרוזת וממופה ל-security_result.confidence_details.
proto.http.last_method network.http.method הערך של proto.http.last_method מהיומן הגולמי ממופה ל-network.http.method.
proto.http.last_return_code network.http.response_code הערך של proto.http.last_return_code מהיומן הגולמי מומר למספר שלם וממופה ל-network.http.response_code.
proto.http.last_server_name network.tls.client.server_name הערך של proto.http.server_name מהיומן הגולמי ממופה ל-network.tls.client.server_name.
proto.http.last_url network.http.referral_url הערך של proto.http.last_url מהיומן הגולמי ממופה ל-network.http.referral_url.
proto.http.last_user_agent network.http.user_agent הערך של proto.http.last_user_agent מהיומן הגולמי ממופה ל-network.http.user_agent.
proto.http.server_name network.tls.client.server_name הערך של proto.http.server_name מהיומן הגולמי ממופה ל-network.tls.client.server_name.
proto.l4 network.ip_protocol הערך של proto.l4 מהיומן הגולמי ממופה ל-network.ip_protocol.
proto_ndpi additional.fields.key=proto ndpi, additional.fields.value.string_value=%{proto_ndpi}, network.application_protocol הערך של proto.ndpi (ששמו שונה ל-proto_ndpi) מהיומן הגולמי ממופה לאובייקט additional.fields עם המפתח "proto ndpi". הוא משמש גם כדי לקבוע את הערך של network.application_protocol על סמך מילות מפתח כמו "NTP" ו-"HTTP".
proto_ndpi_app principal.application הערך של proto_ndpi_app מהיומן הגולמי ממופה ל-principal.application.
proto_ndpi_breed security_result.detection_fields.key=proto_ndpi_breed, security_result.detection_fields.value=%{proto_ndpi_breed} הערך של proto_ndpi_breed מהיומן הגולמי מומר למחרוזת וממופה לאובייקט security_result.detection_fields עם המפתח "proto_ndpi_breed".
proto_ndpi_cat security_result.category_details הערך של proto_ndpi_cat מהיומן הגולמי ממופה ל-security_result.category_details.
proto_ndpi_cat_id security_result.detection_fields.key=proto_ndpi_cat_id, security_result.detection_fields.value=%{proto_ndpi_cat_id} הערך של proto_ndpi_cat_id מהיומן הגולמי מומר למחרוזת וממופה לאובייקט security_result.detection_fields עם המפתח "proto_ndpi_cat_id".
score security_result.detection_fields.key=score, security_result.detection_fields.value=%{score} הערך של score מהיומן הגולמי מומר למחרוזת וממופה לאובייקט security_result.detection_fields עם המפתח "score".
srv2cli_bytes network.received_bytes הערך של srv2cli_bytes מהיומן הגולמי מומר למספר שלם לא חתום וממופה ל-network.received_bytes.
srv_asn target.resource.attribute.labels.key=srv_asn, target.resource.attribute.labels.value=%{srv_asn} הערך של srv_asn מהיומן הגולמי מומר למחרוזת וממופה לאובייקט target.resource.attribute.labels עם המפתח "srv_asn".
srv_blacklisted target.resource.attribute.labels.key=srv_blacklisted, target.resource.attribute.labels.value=%{srv_blacklisted} הערך של srv_blacklisted מהיומן הגולמי מומר למחרוזת וממופה לאובייקט target.resource.attribute.labels עם המפתח "srv_blacklisted".
srv_city_name target.location.city הערך של srv_city_name מהיומן הגולמי ממופה ל-target.location.city.
srv_continent_name target.resource.attribute.labels.key=srv_continent_name, target.resource.attribute.labels.value=%{srv_continent_name} הערך של srv_continent_name מהיומן הגולמי ממופה לאובייקט target.resource.attribute.labels עם המפתח "srv_continent_name".
srv_country_name target.location.country_or_region הערך של srv_country_name מהיומן הגולמי ממופה ל-target.location.country_or_region.
srv_host_pool_id target.resource.attribute.labels.key=srv_host_pool_id, target.resource.attribute.labels.value=%{srv_host_pool_id} הערך של srv_host_pool_id מהיומן הגולמי מומר למחרוזת וממופה לאובייקט target.resource.attribute.labels עם המפתח "srv_host_pool_id".
srv_ip target.ip, target.asset.ip הערך של srv_ip מהיומן הגולמי ממופה ל-target.ip ול-target.asset.ip.
srv_localhost target.resource.attribute.labels.key=srv_localhost, target.resource.attribute.labels.value=%{srv_localhost} הערך של srv_localhost מהיומן הגולמי מומר למחרוזת וממופה לאובייקט target.resource.attribute.labels עם המפתח "srv_localhost".
srv_location target.location.name הערך של srv_location מהיומן הגולמי מומר למחרוזת. אם הערך הוא לא "0", הוא ממופה ל-target.location.name.
srv_location_lat target.location.region_coordinates.latitude הערך של srv_location_lat מהיומן הגולמי ממופה ל-target.location.region_coordinates.latitude.
srv_location_lon target.location.region_coordinates.longitude הערך של srv_location_lon מהיומן הגולמי ממופה ל-target.location.region_coordinates.longitude.
srv_name target.hostname, target.asset.hostname הערך של srv_name מהיומן הגולמי ממופה ל-target.hostname ול-target.asset.hostname.
srv_network target.resource.attribute.labels.key=srv_network, target.resource.attribute.labels.value=%{srv_network} הערך של srv_network מהיומן הגולמי מומר למחרוזת וממופה לאובייקט target.resource.attribute.labels עם המפתח "srv_network".
srv_port target.port הערך של srv_port מהיומן הגולמי מומר למספר שלם וממופה ל-target.port.
tstamp additional.fields.key=tstamp, additional.fields.value.string_value=%{tstamp} הערך של tstamp מהיומן הגולמי מומר למחרוזת וממופה לאובייקט additional.fields עם המפתח "tstamp".
vlan_id principal.resource.attribute.labels.key=vlan_id, principal.resource.attribute.labels.value=%{vlan_id} הערך של vlan_id מהיומן הגולמי מומר למחרוזת וממופה לאובייקט principal.resource.attribute.labels עם המפתח "vlan_id".
when metadata.event_timestamp הערך של when מהיומן הגולמי מנותח כחותמת זמן וממופה ל-metadata.event_timestamp.

יומן שינויים

הצגת יומן השינויים של המנתח הזה

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.