איסוף יומנים של 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 (ניהול הרשאות גישה (IAM) & אדמין > חשבונות שירות).
  3. לוחצים על Create service account.
  4. מזינים את פרטי ההגדרה הבאים:
    • Service account name: מזינים שם לחשבון (לדוגמה, bindplane-ingest).
    • תיאור חשבון השירות: מזינים תיאור (לדוגמה, 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 בספריית ה-collector של Bindplane (/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 Settings > Profile (הגדרות 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. עוברים לקטע העברת יומנים.
  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 (Source Port)
      • 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 היגיון
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. הגישה אינה אפשרית (היציאה לא נגישה)'.
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.