איסוף יומני Forcepoint NGFW

גרסת המנתח: 16.0

נתמך ב:

במאמר הזה מוסבר איך להטמיע יומני Forcepoint NGFW ב-Google Security Operations באמצעות סוכן Bindplane.

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

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

  • מכונה של Google SecOps
  • מארח עם Windows 2016 ואילך או Linux עם systemd
  • אם אתם משתמשים בשרת proxy, ודאו שהיציאות של חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane.
  • גישה עם הרשאות ל-Forcepoint Security Management Center ‏(SMC)

קבלת פרטי כניסה ל-Google SecOps בשביל סוכן Bindplane

כדי לאמת את סוכן Bindplane ב-Google SecOps, בוחרים באחת מהשיטות הבאות:

  • פריסות חדשות: משתמשים ב-Chronicle API (אפשרות 1).
  • פריסות קודמות: ממשיכים להשתמש בקובץ האימות להטמעת נתונים (אפשרות 2) עד שה-Ingestion API יופסק ב-20 ביולי 2027.
  1. נכנסים למסוףGoogle Cloud ובוחרים את הפרויקט ב- Google Cloud שמקושר למכונה של Google SecOps.
  2. נכנסים לדף IAM & Admin > Service Accounts.
  3. לוחצים על Create service account.
  4. מזינים את פרטי ההגדרה הבאים:
    • Service account name: מזינים שם לחשבון (לדוגמה, bindplane-ingest).
    • Service account description: מזינים תיאור (לדוגמה, Bindplane agent log ingestion).
  5. לוחצים על Create and continue.
  6. בקטע Grant this service account access to project, לוחצים על Select a role ובוחרים באפשרות Chronicle Editor.
  7. לוחצים על המשך ואז על סיום.
  8. לוחצים על חשבון השירות שיצרתם ועוברים לכרטיסייה Keys.
  9. לוחצים על Add key > Create new key.
  10. בוחרים באפשרות JSON ולוחצים על Create. קובץ המפתח יורד למחשב.
  11. שומרים את קובץ המפתח בתור ingestion-auth.json בספריית Bindplane collector (/opt/observiq-otel-collector/ingestion-auth.json ב-Linux או C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json ב-Windows), או מעדכנים את creds_file_path ב-config.yaml כך שיתאים לנתיב שבו שמרתם אותו.
  12. עוברים אל IAM & Admin > Settings ומעתיקים את הערך של Project number. תצטרכו אותו כדי להגדיר את הייצוא.

אפשרות 2: הורדה של קובץ האימות להטמעת נתונים (גרסה קודמת)

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל הגדרות > ניהול נתונים > סוכני איסוף. אם אתם משתמשים בפלטפורמת SIEM בלבד, עוברים אל הגדרות > סוכני איסוף.
  3. מורידים את קובץ האימות להטמעת נתונים.
  4. שומרים את הקובץ בצורה מאובטחת במערכת שבה יותקן הסוכן של Bindplane.

איך מקבלים את מספר הלקוח ב-Google SecOps

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל הגדרות > ניהול > פרופיל. אם אתם משתמשים בפלטפורמה של SIEM בלבד, עוברים אל הגדרות > פרופיל.
  3. מעתיקים את מספר הלקוח מהקטע פרטי הארגון ושומרים אותו.

התקנת הסוכן של Bindplane

מתקינים את הסוכן של Bindplane במערכת ההפעלה Windows או Linux לפי ההוראות הבאות.

התקנת חלונות

  1. פותחים את שורת הפקודה או את PowerShell כאדמין.
  2. מריצים את הפקודה הבאה:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

התקנה ב-Linux

  1. פותחים טרמינל עם הרשאות root או sudo.
  2. מריצים את הפקודה הבאה:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

מקורות מידע נוספים בנושא התקנה

לאפשרויות התקנה נוספות, קראו את מדריך ההתקנה של סוכן Bindplane.

הגדרת סוכן Bindplane להטמעת Syslog ושליחה אל Google SecOps

  1. ניגשים לקובץ התצורה:

    • מאתרים את הקובץ config.yaml. בדרך כלל, הוא נמצא בספרייה /opt/observiq-otel-collector/ ב-Linux או בספריית ההתקנה ב-Windows.
    • פותחים את הקובץ באמצעות כלי לעריכת טקסט (לדוגמה, nano,‏ vi או פנקס הרשימות).
  2. עורכים את הקובץ config.yaml:

    receivers:
      tcplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: YOUR_CUSTOMER_ID
        endpoint: chronicle.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'FORCEPOINT_FIREWALL'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - tcplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • מחליפים את היציאה ואת כתובת ה-IP לפי הצורך בתשתית שלכם.
    • מחליפים את <LOCATION> באזור של המופע של Google SecOps (לדוגמה, us,‏ europe או asia-southeast1). המערכת מוסיפה את הערך הזה בתחילת chronicle.googleapis.com.
    • מחליפים את <PROJECT_NUMBER> במספר הפרויקט שמופיע בקטע IAM & Admin > Settings.
    • מחליפים את YOUR_CUSTOMER_ID במספר הלקוח בפועל.
    • מעדכנים את /path/to/ingestion-authentication-file.json לנתיב הקובץ שבו נשמר קובץ המפתח של חשבון השירות (אפשרות 1) בשלב 1.

מייצא API להטמעה מדור קודם

  • אם אתם משתמשים בקובץ האימות להטמעת נתונים מאפשרות 2, החליפו את הבלוק exporters בקוד הבא. מגדירים את creds_file_path לנתיב של קובץ האימות להטמעת נתונים. אם המכונה נמצאת מחוץ לארה"ב, מחליפים את malachiteingestion-pa.googleapis.com בנקודת הקצה האזורית (לדוגמה, europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'FORCEPOINT_FIREWALL'
        raw_log_field: body
        ingestion_labels:
    

מפעילים מחדש את הסוכן של Bindplane כדי להחיל את השינויים.

  1. כדי להפעיל מחדש את הסוכן של Bindplane ב-Linux, מריצים את הפקודה הבאה:

    sudo systemctl restart observiq-otel-collector
    
  2. כדי להפעיל מחדש את הסוכן של Bindplane ב-Windows, אפשר להשתמש במסוף Services או להזין את הפקודה הבאה:

    net stop observiq-otel-collector && net start observiq-otel-collector
    

הגדרת העברת Syslog ב-Forcepoint NGFW

  1. נכנסים ל-Forcepoint Security Management Center (SMC).
  2. עוברים אל Configuration > Log Server > Properties.
  3. עוברים לקטע Log Forwarding.
  4. לוחצים על הוספה כדי ליצור כלל העברה חדש.
  5. מזינים את פרטי ההגדרה הבאים:
    • שם: מזינים שם תיאורי (לדוגמה, Google SecOps Bindplane Syslog).
    • ‫Host: מזינים את כתובת ה-IP של סוכן Bindplane.
    • יציאה: מזינים את מספר היציאה של סוכן Bindplane (לדוגמה, 514).
    • ‫Protocol: בוחרים באפשרות TCP או UDP, בהתאם להגדרות של סוכן Bindplane.
    • פורמט: בוחרים באפשרות JSON.
  6. מגדירים את שדות היומן להעברה:
    • לוחצים על בחירת שדות או ניגשים להגדרות של בחירת השדות.
    • בוחרים את שדות היומן הרלוונטיים בהתאם לדרישות שלכם. השדות הבאים נדרשים בדרך כלל לניתוח אבטחה:
      • TIMESTAMP (מועד היצירה)
      • LOG_ID (מזהה נתונים)
      • EVENT (אירוע)
      • EVENT_ID (מזהה האירוע)
      • ‫SRC (כתובת המקור)
      • DST (כתובת היעד)
      • Sport (יציאת המקור)
      • Dport (יציאת היעד)
      • PROTOCOL (פרוטוקול)
      • ‫SERVICE (שירות)
      • RULE_ID (תג כלל)
      • ACTION (פעולה)
      • ‫NAT_SRC,‏ NAT_DST,‏ NAT_SPORT,‏ NAT_DPORT (שדות NAT)
      • ‫ACC_RX_BYTES, ACC_TX_BYTES, ACC_ELAPSED (שדות חשבונאות)
      • NODE_ID (השולח)
      • COMP_ID (מזהה הרכיב)
      • ‫FACILITY (מתקן)
      • ‫INFO_MSG (הודעת מידע)
      • SITUATION (מצב)
      • ‫APPLICATION (אפליקציה)
    • לרשימה המלאה של השדות שאפשר לייצא, עיינו במסמכי התיעוד של Forcepoint NGFW Exportable Firewall and Layer 2 Firewall log entry fields.
  7. גוללים למטה לקטע אירועים ובוחרים את סוגי היומנים הרלוונטיים או את האפשרות הכול.
  8. שומרים את ההגדרה.
  9. מחילים את השינויים בשרת היומנים.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM Logic (פונקציה לוגית)
AccElapsed network.session_duration.seconds ממופה ישירות מ-AccElapsed אם הוא לא ריק או 0. הומר למספר שלם.
AccRxBytes network.received_bytes מופה ישירות מ-AccRxBytes. הומר למספר שלם ללא סימן.
AccTxBytes network.sent_bytes מופה ישירות מ-AccTxBytes. הומר למספר שלם ללא סימן.
Action security_result.action_details מופה ישירות מ-Action.
Action security_result.action אם הערך של Action הוא "Allow", מגדירים את הערך "ALLOW". אם הערך של Action הוא "Discard", מגדירים אותו כ-"BLOCK".
CompId target.hostname מופה ישירות מ-CompId.
Dport target.port ממופה ישירות מ-Dport אם הערך שונה מ-0. הומר למספר שלם.
Dst target.ip מופה ישירות מ-Dst.
Event metadata.product_event_type מופה ישירות מ-Event.
Facility metadata.description מופה ישירות מ-Facility.
InfoMsg security_result.description מופה ישירות מ-InfoMsg.
LogId metadata.product_log_id מופה ישירות מ-LogId.
NatDport target.nat_port ממופה ישירות מ-NatDport אם הערך שונה מ-0. הומר למספר שלם.
NatDst target.nat_ip מופה ישירות מ-NatDst.
NatSport principal.nat_port ממופה ישירות מ-NatSport אם הערך שונה מ-0. הומר למספר שלם.
NatSrc principal.nat_ip מופה ישירות מ-NatSrc.
NodeId intermediary.ip מיפוי ישיר מ-NodeId אם גם Src או Dst וגם NodeId קיימים.
NodeId principal.ip מיפוי ישיר מ-NodeId אם NodeId קיים אבל Src ו-Dst לא קיימים.
Protocol network.ip_protocol ממופה מ-Protocol אחרי המרה למספר שלם, ואז שימוש בחיפוש כדי להמיר את המספר לשם הפרוטוקול (לדוגמה, 6 הופך ל-TCP).
RuleId security_result.rule_id מופה ישירות מ-RuleId.
Service principal.application ממופה ישירות מ-Service אם הוא לא "Dest. Unreachable (Port Unreachable)".
Service network.application_protocol אם Service הוא "HTTP" או "HTTPS", מגדירים את הערך של Service. אם Service מכיל את המחרוזת "DNS", הפונקציה תחזיר "DNS".
Service metadata.event_type אם הערך של Service הוא HTTP או HTTPS, צריך להגדיר את metadata.event_type כ-NETWORK_HTTP.
Situation security_result.summary מופה ישירות מ-Situation.
Sport principal.port ממופה ישירות מ-Sport אם הערך שונה מ-0. הומר למספר שלם.
Src principal.ip מופה ישירות מ-Src.
Timestamp metadata.event_timestamp מיפוי ישיר מ-Timestamp אחרי ניתוח שלו כתאריך.
Type security_result.severity_details מופה ישירות מ-Type.
Type security_result.severity אם הערך של Type הוא "Notification", צריך להגדיר אותו כ-"LOW". אם קיימים Src או NodeId ו-Dst או CompId, צריך להגדיר את הערך NETWORK_CONNECTION. אם רק principal.ip קיים, צריך להגדיר את הערך STATUS_UPDATE. אחרת, מגדירים את הערך "GENERIC_EVENT". צריך להגדיר את הערך "FORCEPOINT_FIREWALL". מגדירים את הערך "FORCEPOINT FIREWALL". מגדירים את הערך "FORCEPOINT".
rt metadata.event_timestamp ממופה ישירות מ-rt אחרי ניתוח שלו כתאריך בבלוק ה-CEF.
act security_result.action_details ממופה ישירות מ-act בבלוק ה-CEF.
app principal.application ממופה ישירות מ-app בבלוק ה-CEF.
deviceFacility metadata.description ממופה ישירות מ-deviceFacility בבלוק ה-CEF.
destinationTranslatedAddress target.nat_ip ממופה ישירות מ-destinationTranslatedAddress בבלוק ה-CEF.
destinationTranslatedPort target.nat_port ממופה ישירות מ-destinationTranslatedPort בבלוק ה-CEF.
dst target.ip ממופה ישירות מ-dst בבלוק ה-CEF.
dpt target.port ממופה ישירות מ-dpt בבלוק ה-CEF.
dvchost intermediary.ip ממופה ישירות מ-dvchost בבלוק ה-CEF.
event_name metadata.product_event_type ממופה ישירות מ-event_name בבלוק ה-CEF.
msg security_result.description ממופה ישירות מ-msg בבלוק ה-CEF.
proto network.ip_protocol ממופה מ-proto אחרי המרה למספר שלם, ואז שימוש בחיפוש כדי להמיר את המספר לשם הפרוטוקול (למשל, 6 הופך ל-TCP) בבלוק ה-CEF.
sourceTranslatedAddress principal.nat_ip ממופה ישירות מ-sourceTranslatedAddress בבלוק ה-CEF.
sourceTranslatedPort principal.nat_port ממופה ישירות מ-sourceTranslatedPort בבלוק ה-CEF.
spt principal.port ממופה ישירות מ-spt בבלוק ה-CEF.
src principal.ip ממופה ישירות מ-src בבלוק ה-CEF.
NodeId event.idm.read_only_udm.intermediary.ip מופה מיומן השינויים
CompId event.idm.read_only_udm.intermediary.hostname מופה מיומן השינויים
eventid metadata.product_log_id מופה מיומן השינויים

יומן שינויים

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

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