איסוף יומנים של ForgeRock OpenAM

גרסת כלי הניתוח: 4.0

נתמך ב:

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

‫ForgeRock OpenAM הוא פתרון לניהול גישה שיוצר הודעות syslog לאירועי אימות, להחלטות לגבי בקרת גישה, לפעילות בסשן ולשינויים בהגדרות. הכלי לניתוח מחלץ שדות מיומני ביקורת בפורמט JSON וממפה אותם למודל הנתונים המאוחד (UDM).

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

חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:

  • מופע של Google SecOps
  • ‫Windows Server 2016 ואילך, או מארח Linux עם systemd
  • קישוריות לרשת בין סוכן Bindplane לבין שרת ForgeRock OpenAM
  • אם מריצים מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
  • גישת אדמין למסוף AM (לדוגמה, amAdmin)

קבלת קובץ אימות להטמעת נתונים ב-Google SecOps

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

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

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

התקנת סוכן Bindplane

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

התקנה ב-Windows

  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/openam:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: OPENAM
            raw_log_field: body
    
    service:
        pipelines:
            logs/openam_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/openam
    

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

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

  • הגדרת מקלט:

    • ‫listen_address: כתובת ה-IP והיציאה להאזנה:
      • ‫0.0.0.0 כדי להאזין בכל הממשקים (מומלץ)
      • יציאה 514 היא יציאת syslog רגילה (נדרשת הרשאת root ב-Linux; אפשר להשתמש ב-1514 ללא הרשאת root)
  • הגדרת כלי הייצוא:

    • ‫creds_file_path: הנתיב המלא לקובץ האימות להטמעת נתונים:
      • ‫Linux: /etc/bindplane-agent/ingestion-auth.json
      • ‫Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • ‫customer_id: מספר הלקוח שהועתק ממסוף Google SecOps
    • ‫endpoint: כתובת ה-URL של נקודת הקצה האזורית:
      • ארה"ב: malachiteingestion-pa.googleapis.com
      • אירופה: europe-malachiteingestion-pa.googleapis.com
      • אסיה: asia-southeast1-malachiteingestion-pa.googleapis.com
      • רשימה מלאה מופיעה במאמר בנושא נקודות קצה אזוריות.

שמירת קובץ ההגדרות

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

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

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

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

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

      sudo journalctl -u observiq-otel-collector -f
      
  • כדי להפעיל מחדש את סוכן Bindplane ב-Windows, בוחרים באחת מהאפשרויות הבאות:

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

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

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

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

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

הגדרת syslog handlers ל-ForgeRock OpenAM

  1. נכנסים למסוף AM כאדמינים (לדוגמה, amAdmin).
  2. כדי ליצור את ה-גורם מטפל באירועים בהגדרה הגלובלית, עוברים אל הגדרה > שירותים גלובליים > יומן ביקורת.
    • כדי ליצור את ה-event handler בתחום, עוברים אל תחומים > שם התחום > שירותים > רישום ביומן ביקורת.
  3. לוחצים על Add a Secondary Configuration > Syslog (הוספת הגדרה משנית > Syslog).
  4. מספקים את פרטי ההגדרה הבאים:
    • שם: מזינים שם לגורם המטפל באירועים (לדוגמה, Syslog Event Handler).
    • שם המארח של השרת: מזינים את כתובת ה-IP של סוכן Bindplane.
    • יציאת השרת: מזינים את מספר היציאה של סוכן Bindplane (לדוגמה, 514 ל-UDP).
    • פרוטוקול העברה: בוחרים באפשרות UDP.
    • זמן קצוב לתפוגה של חיבור: מזינים את מספר השניות לחיבור (לדוגמה, 120).
    • אופציונלי: מפעילים את האפשרות Buffering (אגירת נתונים).
  5. לוחצים על יצירה.
  6. בכרטיסייה General Handler Configuration (הגדרה כללית של גורם מטפל), בוחרים באפשרות Enabled (מופעל) כדי להפעיל את גורם מטפל באירועים.
  7. בוחרים את הנושאים של יומני הביקורת:
    • גישה
    • פעילות
    • אימות
    • הגדרות אישיות
  8. לוחצים על Save.
  9. בכרטיסייה Syslog Configuration (הגדרת Syslog), מזינים את פרטי ההגדרה הבאים:
    • שם המארח של השרת: מזינים את כתובת ה-IP של Bindplane.
    • יציאת השרת: מזינים את מספר היציאה של Bindplane.
    • זמן קצוב לתפוגה של החיבור: מזינים את מספר השניות לחיבור (לדוגמה, 120).
    • פרוטוקול העברה: בוחרים באפשרות UDP.
    • מתקן: בוחרים באפשרות Local0.
    • כל הנושאים מוגדרים ברמת חומרה INFORMATIONAL.
  10. לוחצים על Save.
  11. בכרטיסייה Buffering (אגירת נתונים), בוחרים באפשרות Buffering Enabled (אגירת נתונים מופעלת) כדי להפעיל אותה.
  12. לוחצים על Save.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
client.ip principal.ip כתובת ה-IP של הלקוח ששולח את הבקשה.
client.ip principal.asset.ip כתובת ה-IP של נכס הלקוח ששולח את הבקשה.
client.port principal.port היציאה שבה משתמש הלקוח שמגיש את הבקשה.
entries[0].info.authLevel principal.resource.resource_subtype רמת האימות שמשויכת לאירוע. הקידומת היא authLevel:.
entries[0].info.displayName security_result.description שם תיאורי לצומת בעץ האימות.
entries[0].info.ipAddress principal.asset.ip כתובת ה-IP שמשויכת לגורם הראשי באירוע.
entries[0].info.ipAddress principal.ip כתובת ה-IP שמשויכת לגורם הראשי באירוע.
entries[0].info.nodeId principal.resource.id המזהה הייחודי של הצומת בעץ האימות. הערך מתחיל ב-nodeId:.
entries[0].info.nodeOutcome principal.resource.attribute.labels.value התוצאה של הצומת בעץ האימות.
entries[0].info.nodeType principal.resource.type סוג הצומת בעץ האימות. הקידומת היא nodeType:.
entries[0].info.treeName principal.resource.name השם של עץ האימות. הקידומת היא treeName:.
eventName metadata.product_event_type שם האירוע הגולמי מיומני OpenAM.
http.request.headers.host[0] target.asset.hostname שם המארח של שרת היעד, שחולץ מהכותרת host.
http.request.headers.host[0] target.hostname שם המארח של שרת היעד, שחולץ מהכותרת host.
http.request.headers.user-agent[0] network.http.user_agent סוכן המשתמש של בקשת ה-HTTP.
http.request.method network.http.method ה-method של ה-HTTP שמשמשת בבקשה.
http.request.path target.url הנתיב של כתובת ה-URL של בקשת ה-HTTP.
info.failureReason security_result.summary הסיבה לכשל באימות. הערך מוטמע בקוד כ-'SSO'. הערך נקבע על ידי לוגיקה שמבוססת על eventName ושדות אחרים. יכול להיות GENERIC_EVENT, USER_LOGIN, USER_LOGOUT, NETWORK_HTTP או STATUS_UPDATE. הערך מוטמע בקוד כ-"OPENAM". ההגדרה מוצפנת ב-OpenAM. הערך מוטמע בקוד כ-ForgeRock.
principal target.user.userid מזהה המשתמש שמשויך לאירוע, שחולץ מהשדות userId, principal או runAs.
result security_result.action_details התוצאה של האירוע (למשל, SUCCESSFUL,‏ FAILED).
response.detail.reason security_result.summary הסיבה לכשל באירוע של תוצאת גישה.
response.status security_result.action_details הסטטוס של התשובה באירוע של תוצאת גישה.
runAs target.user.userid מזהה המשתמש שמשויך לאירוע, שחולץ מהשדות userId, principal או runAs.
security_result.action security_result.action הפעולה שבוצעה כתוצאה מאירוע האבטחה (למשל, ALLOW,‏ BLOCK).
server.ip target.asset.ip כתובת ה-IP של שרת היעד.
server.ip target.ip כתובת ה-IP של שרת היעד.
server.port target.port היציאה של שרת היעד.
timestamp metadata.event_timestamp חותמת הזמן של האירוע.
trackingIds metadata.product_log_id מזהה לצורכי מעקב שמשויך לאירוע.
transactionId metadata.product_deployment_id מזהה העסקה שמשויך לאירוע.
userId target.user.userid מזהה המשתמש שמשויך לאירוע, שחולץ מהשדות userId, principal או runAs.
userId target.user.group_identifiers מזהי הקבוצות שמשויכים למשתמש.
am_group target.user.group_identifiers מזהי הקבוצות שמשויכים למשתמש.
am_user target.user.email_addresses כתובת האימייל של המשתמש, אם היא מופיעה בשדה am_user.
loginID[0] target.user.userid מזהה הכניסה שנעשה בו שימוש באירוע.
loginID[0] target.user.email_addresses כתובת האימייל ששימשה לכניסה, אם היא מופיעה בשדה loginID.
hostip intermediary.hostname שם המארח של מכשיר מתווך.
hostip intermediary.ip כתובת ה-IP של מכשיר ביניים.
src_ip principal.asset.ip כתובת ה-IP של המקור.
src_ip principal.ip כתובת ה-IP של המקור.
desc metadata.description תיאור האירוע.
payload metadata.description המטען הייעודי של האירוע.
http.request.headers.host.0 tatget.hostname מופה מיומן השינויים
http.request.headers.user-agent.0 network.http.user_agent מופה מיומן השינויים
extensions.auth.type SSO מופה מיומן השינויים

יומן שינויים

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

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