איסוף יומנים של IBM Security Access Manager

נתמך ב:

במסמך הזה מוסבר איך להטמיע יומנים של IBM Security Access Manager ב-Google Security Operations באמצעות Bindplane.

‫IBM Verify Identity Access (לשעבר IBM Security Access Manager או IBM Security Verify Access) הוא פתרון אבטחה שמבוסס על מכשיר רשת ומספק שירותים של ניהול הרשאות גישה, אבטחת אינטרנט ואימות. הוא אוכף את מדיניות האבטחה של משאבים מבוססי-אינטרנט באמצעות ארכיטקטורת שרת proxy הפוך (WebSEAL), ויוצר יומני ביקורת, אימות, הרשאה ומערכת שחיוניים לניטור לצורכי אבטחה.

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

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

  • מכונה של Google SecOps
  • ‫Windows Server 2016 ואילך, או מארח Linux עם systemd
  • קישוריות לרשת בין סוכן Bindplane לבין מכשיר IBM Verify Identity Access
  • אם אתם משתמשים בשרת proxy, ודאו שהיציאות של חומת האש פתוחות
  • גישה עם הרשאות מיוחדות לממשק הניהול המקומי (LMI) של IBM Verify Identity Access

קבלת פרטי כניסה ל-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. לוחצים על יצירת חשבון שירות.
  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 (ניהול הרשאות גישה ואדמין > הגדרות) ומעתיקים את מספר הפרויקט. תצטרכו אותו כדי להגדיר את הייצוא.

אפשרות 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
    
  3. מחכים שההתקנה תסתיים.

  4. מאמתים את ההתקנה על ידי הרצת:

    sc query observiq-otel-collector
    

    השירות אמור להופיע כ-RUNNING.

התקנה ב-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
    
  3. מחכים שההתקנה תסתיים.

  4. מאמתים את ההתקנה על ידי הרצת:

    sudo systemctl status observiq-otel-collector
    

    השירות צריך להופיע כפעיל (פועל).

מקורות מידע נוספים להתקנה

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

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

מאתרים את קובץ התצורה

  • ‫Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

עריכת קובץ תצורה

  • מחליפים את כל התוכן של config.yaml בהגדרה הבאה:

    receivers:
      udplog:
        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
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: 'IBM_SAM'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    

פרמטרים להגדרה

מחליפים את ה-placeholders הבאים:

  • הגדרת מקלט:

    • ‫listen_address: כתובת ה-IP והיציאה שבהן סוכן Bindplane מאזין להודעות syslog נכנסות. משתמשים ב-0.0.0.0:514 כדי להאזין בכל הממשקים ביציאה 514. משנים את היציאה אם 514 כבר בשימוש או אם מעדיפים יציאה לא מורשית כמו 1514.
    • כדי להשתמש ב-TCP במקום ב-UDP, מחליפים את udplog ב-tcplog גם בקטע receivers וגם בקטע pipelines.
  • הגדרת הייצוא:

    • ‫creds_file_path: הנתיב המלא לקובץ המפתח של חשבון השירות בפורמט JSON (אפשרות 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • ‫customer_id: מספר הלקוח ב-Google SecOps שהעתקתם קודם.
    • ‫location: מחליפים את <LOCATION> באזור של מופע Google SecOps (לדוגמה, us,‏ europe או asia-southeast1). ערך זה מתווסף לתחילית chronicle.googleapis.com של הכלי לייצוא. רשימה מלאה של נקודות הקצה האזוריות מופיעה במאמר Regional Endpoints.
    • ‫project: מחליפים את <PROJECT_NUMBER> במספר הפרויקט מתוך IAM & Admin > Settings.
    • ‫endpoint: משאירים את הערך chronicle.googleapis.com.
    • ‫log_type: צריך להיות מוגדר ל-IBM_SAM.

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

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

    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: 'IBM_SAM'
        raw_log_field: body
        ingestion_labels:
    

שמירת קובץ התצורה

אחרי העריכה, שומרים את הקובץ:

  • Linux: מקישים על Ctrl+O, אחר כך על Enter ואז על Ctrl+X
  • Windows: לוחצים על קובץ > שמירה

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

כדי להפעיל מחדש את הסוכן של Bindplane ב-Linux:

  1. מריצים את הפקודה הבאה:

    sudo systemctl restart observiq-otel-collector
    
  2. מוודאים שהשירות פועל:

    sudo systemctl status observiq-otel-collector
    
  3. בודקים אם יש שגיאות ביומנים:

    sudo journalctl -u observiq-otel-collector -f
    

כדי להפעיל מחדש את סוכן Bindplane ב-Windows:

  1. בוחרים אחת מהאפשרויות האלה:

    • שורת הפקודה או PowerShell כאדמין:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • מסוף השירותים:

      1. לוחצים על Win+R, מקלידים services.msc ולוחצים על Enter.
      2. מאתרים את observIQ OpenTelemetry Collector.
      3. לוחצים לחיצה ימנית ובוחרים באפשרות הפעלה מחדש.
  2. מוודאים שהשירות פועל:

    sc query observiq-otel-collector
    
  3. בודקים אם יש שגיאות ביומנים:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

הגדרת העברת syslog ב-IBM Verify Identity Access

הוספת הגדרה של שרת syslog מרוחק

  1. נכנסים אל Local Management Interface (LMI) ב-IBM Verify Identity Access.
  2. עוברים אל Monitor > Logs > Remote Syslog Forwarding.
  3. בדף העברת Syslog מרחוק, לוחצים על הוספה.
  4. מזינים את פרטי ההגדרה הבאים:
    • ‫Server: מזינים את כתובת ה-IP או את שם המארח של המארח של סוכן Bindplane (לדוגמה, 192.168.1.100).
    • ‫Port: מזינים את מספר היציאה שסוכן Bindplane מאזין לה (לדוגמה, 514).
    • Protocol: בוחרים באפשרות UDP כדי להתאים למקלט udplog בהגדרות של סוכן Bindplane. בוחרים באפשרות TCP אם הגדרתם את סוכן Bindplane באמצעות tcplog.
    • פורמט: בוחרים את פורמט ההודעה של syslog:
      • ‫BSD Syslog Protocol — פורמט RFC 3164 (מומלץ לתאימות הרחבה ביותר).
      • פרוטוקול Syslog – פורמט RFC 5424.
    • ניפוי באגים: משאירים את התיבה לא מסומנת, אלא אם נדרש פתרון בעיות. כשהאפשרות הזו מופעלת, מידע נוסף על תוצאות ניפוי הבאגים נכתב בקובץ היומן של rsyslog_forwarder, שאפשר לגשת אליו מהדף צפייה בקובצי יומן של אפליקציות.
  5. לוחצים על Save.

הגדרת מקורות יומן לשרת syslog מרוחק

  1. בדף העברת Syslog מרוחקת, בוחרים את רשומת שרת ה-Syslog המרוחק שיצרתם.
  2. לוחצים על מקורות.
  3. לוחצים על הוספה כדי להוסיף מקור ליומן.
  4. מזינים את פרטי ההגדרה הבאים:
    • שם: בוחרים מקור יומן מהרשימה הנפתחת. מקורות היומנים הזמינים הם:
      • ‫הודעות LMI – הודעות של אפליקציית LMI
      • ‫LMI Trace – יומני מעקב וניפוי באגים של LMI
      • ‫LMI Access – יומני גישה של LMI HTTP
      • הודעות זמן ריצה – הודעות של סביבת זמן הריצה
      • ‫Runtime Trace – יומני מעקב וניפוי באגים של זמן הריצה
      • ביקורת בזמן ריצה – אירועי ביקורת בזמן ריצה (אימות, הרשאה)
      • יומני זמן ריצה – יומני אפליקציות של זמן ריצה
      • ‫WebSEAL – יומני פרוקסי הפוך באינטרנט (נדרש לבחור שם מופע וקובץ יומן)
      • Authorization Server (שרת הרשאות) – יומנים של שרת ההרשאות (נדרש לבחור Instance Name (שם מופע) ו-Log File (קובץ יומן))
      • ‫Policy Server – יומני שרת המדיניות (צריך לבחור קובץ יומן)
      • מאגר משתמשים מוטמע – יומנים של מאגר משתמשים מוטמע ב-LDAP
      • אשכול – יומנים של ניהול אשכולות
      • מערכת – יומנים ברמת מערכת ההפעלה
      • ‫DSC – יומנים של מטמון מבוזר של סשנים
      • ‫FELB – יומנים של מאזן עומסים (LB) בקצה הקדמי
    • שם המכונה: השדה הזה זמין רק כשבוחרים באפשרות WebSEAL או שרת הרשאות בשדה שם. בוחרים את שם המכונה מהרשימה הנפתחת (לדוגמה, default).
    • קובץ יומן: השדה הזה זמין כשבוחרים באפשרות WebSEAL,‏ Authorization Server,‏ Policy Server או Runtime Logs בשדה שם. בוחרים את קובץ היומן הספציפי מהרשימה הנפתחת.
    • תג: מזינים שם תג ייחודי למקור היומן הזה. אסור שיהיו רווחים בתג (לדוגמה, WebSEAL_Audit או RuntimeAudit).
    • מתקן: בוחרים קטגוריה של מתקן syslog עבור רשומות היומן שמועברות (לדוגמה, local0,‏ local1,‏ auth או user).
    • חומרה: בוחרים באפשרות מידע כדי לתעד את כל הרשומות ביומן.
  5. לוחצים על OK.
  6. כדי להוסיף מקורות יומן נוספים, חוזרים על שלבים 3 עד 5 לכל מקור שרוצים להעביר.

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

  8. כדי להפעיל את השינויים, עוברים לחלק העליון של הדף ולוחצים על Deploy Pending Changes (פריסת שינויים בהמתנה). הגדרת ההעברה של syslog לא פעילה עד לפריסה.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
sha256_value additional.fields מוזג עם המפה {key: "sha256_value", value: {string_value: sha256_value}} והמפה {key: "connection_type", value: {string_value: connection_type}}
connection_type additional.fields
dvc_ip intermediary.hostname הערך מועתק ישירות אם dvc_ip היא לא כתובת IP חוקית
dvc_ip intermediary.ip אם זו כתובת IP תקינה, הערך הוא dvc_ip. אם יש כתובות IP נוספות תקינות ב-ip_address, שלא שוות ל-src_ip או ל-dst_ip, לא ריקות ולא שוות ל-'-', הן ימוזגו.
ip_address intermediary.ip
ts metadata.collected_timestamp הערך מנותח מ-ts2 אם הוא קיים בפורמט yyyy-MM-ddTHH:mm:ss, אחרת מ-ts בפורמט ISO8601, ‏ MMM dd HH:mm:ss, ‏ MMM d HH:mm:ss
ts2 metadata.collected_timestamp
description metadata.description הערך הועתק ישירות
חותמת זמן metadata.event_timestamp מנותח באמצעות פורמטים של תאריכים dd/MMM/yyyy:HH:mm:ss Z או yyyy-MM-dd-HH:mm:ss.SSSZZI
src_ip metadata.event_type צריך להגדיר את הערך "NETWORK_HTTP" אם קיימים הגורם הראשי (src_ip או src_host), היעד (dst_ip או target_hostname) ו-http (method או response_code), את הערך "NETWORK_CONNECTION" אם קיימים הגורם הראשי והיעד, את הערך "STATUS_UPDATE" אם קיים הגורם הראשי, ואחרת את הערך "GENERIC_EVENT"
src_host metadata.event_type
dst_ip metadata.event_type
target_hostname metadata.event_type
method metadata.event_type
response_code metadata.event_type
product_event_type metadata.product_event_type הערך הועתק ישירות
metadata.product_name metadata.product_name ההגדרה היא IBM_SAM
metadata.vendor_name metadata.vendor_name מוגדרת כ-"IBM"
proto network.application_protocol הערך מועתק ישירות אם הוא ב-HTTP או ב-HTTPS
גרסה network.application_protocol_version הערך הועתק ישירות
method network.http.method הערך של method_value אם הוא לא ריק, אחרת הערך של method
method_value network.http.method
response_code network.http.response_code ההמרה למספר שלם בוצעה
ip_protocol_value network.ip_protocol הערך מועתק ישירות אם הוא ב-TCP, ב-UDP או ב-ICMP
rcv_bytes network.received_bytes הומר למספר שלם חיובי
sent_bytes network.sent_bytes הומר למספר שלם חיובי
request_id network.session_id הערך הועתק ישירות
src_application principal.application הערך הועתק ישירות
src_host principal.asset.hostname הערך הועתק ישירות
src_ip principal.asset.ip הערך מועתק ישירות אם הוא לא ריק, רווח, null, לא רלוונטי, -
file_name principal.file.full_path הערך הועתק ישירות
src_host principal.hostname הערך הועתק ישירות
src_ip principal.ip הערך מועתק ישירות אם הוא לא ריק, רווח, null, לא רלוונטי, -
src_port principal.port ההמרה למספר שלם בוצעה
pid principal.process.pid הערך הועתק ישירות
src_resource principal.resource.name הערך הועתק ישירות
user_name principal.user.userid הערך מועתק ישירות אם הוא לא ריק או לא מאומת
description security_result.action צריך להגדיר את הערך "BLOCK" אם התיאור מכיל את הביטויים "could not establish a secure connection",‏ "could not be determined" או "have expired"
severity security_result.severity הערך מועתק ישירות, כאשר WARNING ממופה ל-MEDIUM
user_name security_result.summary אם user_name == "unauthenticated", צריך להגדיר את הערך "unauthenticated"
target_hostname target.asset.hostname הערך הועתק ישירות
dst_ip target.asset.ip הערך מועתק ישירות אם הוא לא ריק, לא רווח, לא null, לא N/A ולא '-'
target_hostname target.hostname הערך הועתק ישירות
dst_ip target.ip הערך מועתק ישירות אם הוא לא ריק, רווח, null, לא רלוונטי, -
url target.url משורשר מכתובת URL ומכתובת URL1
url1 target.url
ip_protocol_value event.idm.read_only_udm.network.ip_protocol מופה מיומן השינויים
method_value event.idm.read_only_udm.network.http.method מופה מיומן השינויים
sha256_value event.idm.read_only_udm.additional.fields מופה מיומן השינויים

יומן שינויים

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

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