איסוף יומנים של Broadcom SiteMinder Web Access Management (לשעבר CA SSO)

נתמך ב:

במסמך הזה מוסבר איך להטמיע ב-Google Security Operations יומנים של Broadcom SiteMinder Web Access Management (לשעבר CA SSO) באמצעות Bindplane. מנתח הנתונים ממיר יומנים גולמיים בפורמט JSON למודל נתונים מאוחד (UDM) מובנה. הוא מחלץ שדות מהודעות היומן הגולמיות באמצעות תבניות grok, משנה את השם שלהם וממפה אותם לסכימת UDM, מטפל בסוגי אירועים ובפורמטים שונים של משתמשים ומעשיר את הנתונים לצורך ניתוח אבטחה.

‫Broadcom SiteMinder Web Access Management הוא פתרון לניהול גישה לאינטרנט בארגונים, שמספק אימות, הרשאה וכניסה יחידה (SSO) לאפליקציות אינטרנט באופן מרוכז. ‫SiteMinder משתמש בשרת מדיניות כדי לאכוף מדיניות אבטחה ולנהל סשנים של משתמשים במשאבי אינטרנט, ויוצר יומני ביקורת מפורטים של אירועי אימות, החלטות הרשאה ופעילות בסשנים.

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

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

  • מופע של Google SecOps.
  • מארח Windows 2016 ואילך או מארח Linux עם systemd.
  • אם אתם משתמשים בשרת proxy, ודאו שהיציאות של חומת האש פתוחות.
  • גישה עם הרשאות למסוף הניהול של Broadcom SiteMinder Policy Server.
  • שרת X-windows שפועל במערכת שבה תופעל מסוף הניהול של שרת המדיניות (לשרתי מדיניות שמבוססים על Linux).

קבלת פרטי כניסה ל-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 להטמעת Syslog ושליחה אל Google SecOps

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

    • מאתרים את הקובץ config.yaml. בדרך כלל, הוא נמצא בספרייה /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: <customer_id>
        endpoint: chronicle.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'CA_SSO_WEB'
        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) בשלב 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
        # Add optional ingestion labels for better organization
        log_type: 'CA_SSO_WEB'
        raw_log_field: body
        ingestion_labels:
    

מפעילים מחדש את הסוכן של 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 ב-Broadcom SiteMinder Policy Server (גרסה 12.8)

  1. מוודאים ששרת X-windows פועל במערכת.
  2. פותחים חלון טרמינל.
  3. מגדירים את המשתנה DISPLAY באמצעות הפקודה הבאה:

    export DISPLAY=<IP_ADDRESS>:0.0
    
  4. נכנסים למערכת שמארחת את מסוף הניהול של שרת המדיניות.

  5. עוברים לספרייה <installation_directory>/siteminder/bin.

    • מחליפים את <installation_directory> במיקום במערכת הקבצים שבו מותקן שרת המדיניות (לדוגמה, /opt/CA/siteminder).
  6. פותחים את המסוף באמצעות הפקודה הבאה:

    ./smconsole
    
  7. לוחצים על הכרטיסייה נתונים.

  8. לוחצים על הרשימה הנפתחת מסד נתונים ובוחרים באפשרות יומני ביקורת.

  9. לוחצים על התפריט הנפתח אחסון ובוחרים באפשרות Syslog.

  10. בשדה Priority, בוחרים את הערך LOG_INFO.

  11. בוחרים את הערך LOG_LOCAL0 בשדה Facility.

  12. לוחצים על OK.

הגדרת העברת syslog לסוכן Bindplane

אחרי שמפעילים את syslog ב-SiteMinder Policy Server, מגדירים את ה-daemon של syslog כך שיעביר את יומני הביקורת של SiteMinder לסוכן Bindplane.

  1. פותחים את קובץ התצורה של syslog במארח של Policy Server:

    sudo nano /etc/rsyslog.conf
    
  2. מוסיפים את השורה הבאה כדי להעביר את יומני המתקן LOCAL0 לסוכן Bindplane:

    local0.*    @@<BINDPLANE_IP>:514
    
  3. שומרים את הקובץ ומפעילים מחדש את שירות ה-syslog:

    sudo systemctl restart rsyslog
    

הפעלה מחדש של שרת המדיניות של SiteMinder

  1. נכנסים למערכת שמארחת את שרת המדיניות באמצעות אותו חשבון משתמש ששימש להתקנת שרת המדיניות במקור.
  2. פותחים את מסוף הניהול.
  3. לוחצים על הכרטיסייה Status ואז על הכפתורים Stop.
  4. מחכים שכל השירותים יפסיקו לפעול.
  5. באותה כרטיסייה Status, לוחצים על הכפתורים Start.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM Logic (פונקציה לוגית)
Action event1.idm.read_only_udm.network.http.method אם השדה "פעולה" לא ריק, הוא ממופה אל network.http.method. אם הערך הוא Visit, הוא מוחלף ב-GET.
event1.idm.read_only_udm.metadata.product_name מוגדר כ-Web Access Management בקוד של המנתח.
event1.idm.read_only_udm.metadata.vendor_name מוגדר כ-Siteminder בקוד של המנתח.
event1.idm.read_only_udm.observer.hostname צריך להגדיר את הערך logstash.collect.host.

יומן שינויים

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

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