איסוף יומנים של OpenText Access Manager (לשעבר NetIQ Access Manager)

נתמך ב:

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

‫OpenText Access Manager הוא פתרון מקומי לניהול זהויות והרשאות גישה (IAM) שמספק כניסה יחידה (SSO), אימות רב-שלבי (MFA), איחוד ובקרת גישה מבוססת-מדיניות לאפליקציות ולשירותים באינטרנט. הוא פועל כשער גישה מאובטח בין המשתמשים למשאבים המוגנים, ואוכף את מדיניות האימות וההרשאות בסביבות הארגוניות.

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

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

  • מכונה של Google SecOps.
  • מארח עם Windows 2016 ואילך או מארח Linux עם systemd.
  • קישוריות לרשת: אם אתם מפעילים את הסוכן מאחורי שרת proxy, ודאו שהיציאות של חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane.
  • גישה עם הרשאות למסוף הניהול של OpenText Access Manager.

קבלת פרטי כניסה ל-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. לוחצים על יצירת חשבון שירות.
  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 Settings > Collection Agents (הגדרות SIEM > סוכני איסוף).
  3. מורידים את קובץ האימות להטמעת נתונים.
  4. שומרים את הקובץ בצורה מאובטחת במערכת שבה יותקן הסוכן של Bindplane.

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

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

התקנת סוכן Bindplane

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

התקנת Windows

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

    msiexec /i "[https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi](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](https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh))" install_unix.sh
    

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

אפשרויות התקנה נוספות מפורטות במדריך ההתקנה.

הגדרה של Bindplane Agent להטמעה של Syslog ושליחה ל-Google SecOps

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

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

    receivers:
      tcplog:
        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: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: NETIQ_ACCESS_MANAGER
        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.
  • מחליפים את <customer_id> במספר הלקוח בפועל.
  • מעדכנים את /path/to/ingestion-authentication-file.json לנתיב הקובץ שבו נשמר קובץ המפתח של חשבון השירות (אפשרות 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: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: NETIQ_ACCESS_MANAGER
        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 ב-OpenText Access Manager

  1. נכנסים למסוף הניהול של OpenText Access Manager.
  2. עוברים אל Auditing (ביקורת) > Syslog.
  3. מסמנים את התיבה הפעלת Syslog.
  4. מספקים את פרטי ההגדרה הבאים:
    • כתובת שרת Syslog: מזינים את כתובת ה-IP של המארח של סוכן Bindplane.
    • יציאה: מזינים 514.
    • Facility: בוחרים את המתקן המתאים של syslog (לדוגמה, LOCAL0).
  5. בקטע Audit Events, בוחרים את קטגוריות האירועים שרוצים להעביר:
    • אירועי אימות
    • אירועי הרשאה
    • אירועי ניהול
    • אירועי מערכת
  6. לוחצים על Apply (החלה) כדי לשמור את ההגדרה של syslog.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
version about.resource.attribute.labels ממוזג
_field additional.fields ממוזג
I extensions.auth.type מיפוי: "002E0505","002E001E","002E0046" ← AUTHTYPE_UNSPECIFIED, "002E0007","002E000C"...
host_name intermediary.hostname מיפוי ישיר
D metadata.description מיפוי ישיר
stringValue3 metadata.description מיפוי ישיר
timestamp metadata.event_timestamp נותח בתור RFC 3339
I metadata.event_type מופו: "002E0505","002E001E","002E0046" ← USER_LOGIN, 002E0525 ← `NETWORK_UNCATEGORIZ...
has_principal metadata.event_type מיפוי: true ← NETWORK_CONNECTION, true ← STATUS_UPDATE
has_user metadata.event_type מופה: true ← USER_UNCATEGORIZED
id_sub_event metadata.product_event_type מיפוי ישיר
I metadata.product_log_id מיפוי ישיר
eventId metadata.product_log_id מיפוי ישיר
event_id metadata.product_log_id מיפוי ישיר
product metadata.product_name מיפוי ישיר
product_version metadata.product_version מיפוי ישיר
vendor metadata.vendor_name מיפוי ישיר
T network.http.user_agent מיפוי ישיר
L network.session_id מיפוי ישיר
subTarget network.session_id מיפוי ישיר
F principal.application מיפוי ישיר
appName principal.application מיפוי ישיר
host principal.asset.hostname מיפוי ישיר
host_name principal.asset.hostname מיפוי ישיר
originator principal.asset.hostname מיפוי ישיר
src_ip principal.asset.ip ממוזג
host principal.hostname מיפוי ישיר
host_name principal.hostname מיפוי ישיר
originator principal.hostname מיפוי ישיר
src_ip principal.ip ממוזג
stringValue1 principal.user.userid מיפוי ישיר
I security_result.action Mapped: "002E0505","002E001E","002E0046" → security_action, 002E0525 → `security_actio...
security_action security_result.action ממוזג
name security_result.action_details מיפוי ישיר
g_label security_result.detection_fields ממוזג
h_label security_result.detection_fields ממוזג
impersonatee_session_id_label security_result.detection_fields ממוזג
m_label security_result.detection_fields ממוזג
v_label security_result.detection_fields ממוזג
priority security_result.priority_details מיפוי ישיר
A security_result.rule_id מיפוי ישיר
severity security_result.severity_details ערכים ממופים (5 סה"כ, למשל 1 ← TRACE, ‏ 2 ← DEBUG, ‏ 4 ← INFO)
result security_result.summary מיפוי ישיר
process_name target.application מיפוי ישיר
dst_ip target.asset.ip ממוזג
dst_ip target.ip ממוזג
B target.resource.id מיפוי ישיר
O target.resource.name מיפוי ישיר
Y target.url מיפוי ישיר
_group_identifier target.user.group_identifiers ממוזג
U target.user.userid מיפוי ישיר
device_name target.user.userid מיפוי ישיר
לא רלוונטי extensions.auth.type קבוע: AUTHTYPE_UNSPECIFIED
לא רלוונטי metadata.event_type קבוע: USER_LOGIN
לא רלוונטי metadata.product_name קבוע: Netiq_Access_Manager
לא רלוונטי metadata.vendor_name קבוע: Netiq
לא רלוונטי security_result.severity_details קבוע: TRACE
"2" event.idm.read_only_udm.additional.fields מופה מיומן השינויים
"3" event.idm.read_only_udm.additional.fields מופה מיומן השינויים
"host_name" event.idm.read_only_udm.intermediary.hostname מופה מיומן השינויים
1 event.idm.read_only_udm.additional.fields מופה מיומן השינויים
stringValue2 event.idm.read_only_udm.security_result.detection_fields מופה מיומן השינויים
eventId event.idm.read_only_udm.metadata.product_log_id מופה מיומן השינויים
subTarget event.idm.read_only_udm.network.session_id מופה מיומן השינויים
stringValue1 event.idm.read_only_udm.principal.user.userid מופה מיומן השינויים
stringValue3 event.idm.read_only_udm.metadata.description מופה מיומן השינויים
originator event.idm.read_only_udm.principal.asset.hostname מופה מיומן השינויים
originator event.idm.read_only_udm.principal.hostname מופה מיומן השינויים
G","H","M" and "V security_result.detection_fields מופה מיומן השינויים
L event.idm.read_only_udm.network.session_id מופה מיומן השינויים
T event.idm.read_only_udm.network.http.user_agent מופה מיומן השינויים

יומן שינויים

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

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