איסוף יומני LDAP של CA

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

נתמך ב:

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

‫CA Directory (לשעבר Symantec Directory) הוא שרת ספריות שתואם ל-LDAP v2/v3 ומבוסס על תקני X.500. היא מספקת שירותי ספרייה ברמת הארגון עם יכולות מקיפות של רישום ביומן, כולל יומני התראות, מעקב, אזהרות, שאילתות, סיכומים, חיבורים, אבחון, עדכונים וסטטיסטיקות, לצורך מעקב אחר פעולות בספרייה ואירועי אבטחה.

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

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

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

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

  1. נכנסים למסוף Google SecOps.
  2. עוברים אל SIEM Settings > Collection Agents.
  3. מורידים את קובץ האימות להטמעת נתונים. שומרים את הקובץ באופן מאובטח במערכת שבה רוצים להתקין את 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 /etc/bindplane-agent/config.yaml
    
  • ‫Windows:

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

עריכת קובץ ההגדרות

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

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/ca_directory:
        compression: gzip
        creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
        customer_id: 'YOUR_CUSTOMER_ID'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: CA_LDAP
        raw_log_field: body
        ingestion_labels:
          env: production
          source: ca_directory
    
    service:
      pipelines:
        logs/ca_directory_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/ca_directory
    
  2. מחליפים את ה-placeholders הבאים:

    • הגדרות המקלט:

      • ‫listen_address: צריך להגדיר את הערך 0.0.0.0:514 כדי להאזין לכל הממשקים ביציאת UDP‏ 514

        • במקרים של התקנות ב-Linux שאינן root, צריך להשתמש ביציאה 1514 ומעלה
        • מוודאים שהיציאה תואמת ליציאה שהוגדרה בהעברה ב-rsyslog
    • הגדרות של כלי הייצוא:

      • ‫creds_file_path: הנתיב המלא לקובץ האימות להטמעת נתונים:

        • ‫Linux: /etc/bindplane-agent/ingestion-auth.json
        • ‫Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • ‫customer_id: מחליפים את YOUR_CUSTOMER_ID ב-customer ID. פרטים נוספים זמינים במאמר בנושא קבלת מזהה לקוח ב-Google SecOps.

      • ‫endpoint: כתובת URL של נקודת קצה אזורית:

        • ארה"ב: malachiteingestion-pa.googleapis.com
        • אירופה: europe-malachiteingestion-pa.googleapis.com
        • אסיה: asia-southeast1-malachiteingestion-pa.googleapis.com
      • ‫log_type: הגדרה ל-CA_LDAP (תווית להעברה ל-Chronicle של CA Directory)

      • ‫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 של CA LDAP באמצעות rsyslog

בקטע הזה מוסבר איך להגדיר את rsyslog בשרת CA Directory כדי להעביר יומנים לסוכן Bindplane.

זיהוי המיקומים של קובצי היומן של CA Directory

CA Directory שומר קובצי יומן במיקומים הבאים:

  • ‫Linux: /opt/CA/Directory/dxserver/logs/
  • ‫Windows: C:\Program Files\CA\Directory\dxserver\logs\

קבצי היומן פועלים לפי תבניות שמות שמבוססות על שם ה-DSA (לדוגמה, democorp_alarm, ‏democorp_warn, ‏democorp_trace).

סוגי היומנים הזמינים

‫CA Directory יוצר את סוגי היומנים הבאים:

  • יומן אזעקות: אירועים קריטיים (מופעל תמיד)
  • יומן אזהרות: שגיאות ואזהרות
  • יומן מעקב: מעקב מפורט אחר פעולות
  • יומן שאילתות: מידע מפורט על פעולות עם חותמות זמן
  • יומן סיכום: סיכומים של פעולות
  • יומן חיבורים: אירועי חיבור וניתוק
  • יומן אבחון: פעולות שנדחו
  • יומן נתונים סטטיסטיים: נתונים סטטיסטיים תפעוליים לפי דקה
  • יומן עדכונים: פעולות הוספה, שינוי, שינוי שם ומחיקה
  • יומן זמנים: פרטי התזמון של הפעולה

הגדרת rsyslog ב-Linux

  1. נכנסים לשרת CA Directory בתור root או עם הרשאות sudo.

  2. אם rsyslog עדיין לא מותקן, צריך להתקין אותו:

    sudo yum install rsyslog
    

    או ב-Debian/Ubuntu:

    sudo apt-get install rsyslog
    
  3. יוצרים קובץ תצורה חדש של rsyslog עבור CA Directory:

    sudo nano /etc/rsyslog.d/ca-directory.conf
    
  4. מוסיפים את ההגדרה הבאה להעברת יומנים של CA Directory:

    # Load the imfile module for file monitoring
    module(load="imfile" PollingInterval="10")
    
    # Monitor CA Directory alarm logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_alarm*"
        Tag="ca-directory-alarm"
        Severity="error"
        Facility="local0")
    
    # Monitor CA Directory warn logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_warn*"
        Tag="ca-directory-warn"
        Severity="warning"
        Facility="local0")
    
    # Monitor CA Directory trace logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_trace*"
        Tag="ca-directory-trace"
        Severity="info"
        Facility="local0")
    
    # Monitor CA Directory query logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_query*"
        Tag="ca-directory-query"
        Severity="info"
        Facility="local0")
    
    # Monitor CA Directory connection logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_connection*"
        Tag="ca-directory-connection"
        Severity="info"
        Facility="local0")
    
    # Monitor CA Directory update logs
    input(type="imfile"
        File="/opt/CA/Directory/dxserver/logs/*_update*"
        Tag="ca-directory-update"
        Severity="info"
        Facility="local0")
    
    # Forward all CA Directory logs to Bindplane agent
    if $syslogtag contains 'ca-directory' then @@BINDPLANE_AGENT_IP:514
    & stop
    
  5. מחליפים את BINDPLANE_AGENT_IP בכתובת ה-IP של המארח של סוכן Bindplane:

    • אם סוכן Bindplane נמצא באותו השרת: 127.0.0.1
    • אם סוכן Bindplane נמצא בשרת אחר: מזינים את כתובת ה-IP (לדוגמה, 192.168.1.100)
  6. שומרים את קובץ ההגדרות:

    מקישים על Ctrl+O, ואז על Enter, ואז על Ctrl+X.

  7. בודקים את תחביר ההגדרה של rsyslog:

    sudo rsyslogd -N1
    
  8. מפעילים מחדש את שירות rsyslog:

    sudo systemctl restart rsyslog
    
  9. בודקים אם rsyslog פועל:

    sudo systemctl status rsyslog
    
  10. בודקים אם יש שגיאות ביומני rsyslog:

    sudo tail -f /var/log/messages
    

הגדרת rsyslog ב-Windows

  1. מורידים ומתקינים את rsyslog ל-Windows מהאתר של rsyslog.

  2. פותחים את קובץ ההגדרות של rsyslog:

    notepad "C:\Program Files\rsyslog\rsyslog.conf"
    
  3. מוסיפים את ההגדרה הבאה:

    # Load the imfile module for file monitoring
    module(load="imfile" PollingInterval="10")
    
    # Monitor CA Directory alarm logs
    input(type="imfile"
        File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_alarm*"
        Tag="ca-directory-alarm"
        Severity="error"
        Facility="local0")
    
    # Monitor CA Directory warn logs
    input(type="imfile"
        File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_warn*"
        Tag="ca-directory-warn"
        Severity="warning"
        Facility="local0")
    
    # Monitor CA Directory trace logs
    input(type="imfile"
        File="C:\\Program Files\\CA\\Directory\\dxserver\\logs\\*_trace*"
        Tag="ca-directory-trace"
        Severity="info"
        Facility="local0")
    
    # Forward all CA Directory logs to Bindplane agent
    if $syslogtag contains 'ca-directory' then @@BINDPLANE_AGENT_IP:514
    & stop
    
  4. מחליפים את BINDPLANE_AGENT_IP בכתובת ה-IP של המארח של סוכן Bindplane.

  5. שומרים את קובץ ההגדרות.

  6. מפעילים מחדש את שירות rsyslog:

    net stop rsyslog
    net start rsyslog
    

הפעלת רישום ביומן של CA Directory

מוודאים שסוגי היומנים הנדרשים מופעלים ב-CA Directory:

  1. עורכים את קובץ ההגדרות של DSA:

    • ‫Linux: /opt/CA/Directory/dxserver/config/servers/democorp.dxc
    • ‫Windows: C:\Program Files\CA\Directory\dxserver\config\servers\democorp.dxc
  2. בודקים או מוסיפים את הגדרות הרישום הבאות:

        set alarm-log = true;
        set warn-log = true;
        set trace-log = true;
        set query-log = true;
        set connection-log = true;
        set update-log = true;
    
  3. שומרים את קובץ ההגדרות.

  4. מפעילים מחדש את ה-DSA של CA Directory:

    • ‫Linux:

      dxserver stop democorp
      dxserver start democorp
      
    • ‫Windows:

      net stop "CA Directory DSA - democorp"
      net start "CA Directory DSA - democorp"
      

אימות העברת היומנים

  1. כדי ליצור פעילות בדיקה ב-CA Directory, מבצעים שאילתות LDAP או ניסיונות אימות.

  2. בודקים את היומנים של סוכן Bindplane כדי לוודא שהיומנים מתקבלים:

    • ‫Linux:

      sudo journalctl -u observiq-otel-collector -f
      
    • ‫Windows:

      type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
      
  3. נכנסים למסוף Google SecOps ומוודאים שהיומנים של CA Directory מופיעים בכלי לצפייה ביומנים.

מידע נוסף על רישום ביומן של CA Directory זמין במסמכי התיעוד של Broadcom CA Directory.

דוגמאות מפורטות להגדרת rsyslog זמינות במאמר Broadcom Knowledge Base article on centralized logging.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
agent.ephemeral_id, logstash.irm_region, logstash.irm_environment, logstash.irm_site, host.os.name additional.fields המידע מוזג כתוויות עם המפתחות ephemeral_id,‏ irm_region,‏ irm_environment,‏ irm_site ו-os_name בהתאמה
host.architecture hardware.cpu_platform הערך הועתק ישירות
logstash.process.host intermediary.hostname הערך הועתק ישירות
logstash.collect.timestamp metadata.collected_timestamp הניתוח מתבצע כחותמת זמן באמצעות מסנן תאריכים
msg metadata.description הערך הועתק ישירות
metadata.event_type ההגדרה היא STATUS_UPDATE
agent.type, agent.version observer.application הערך משורשר כ-‎ "%{agent.type} %{agent.version}" אם שני הערכים לא ריקים, אחרת הערך הוא ‎ "%{agent.type}"
agent.type, agent.id observer.asset_id הערך המשורשר הוא '%{agent.type}: %{agent.id}'
agent.hostname observer.hostname הערך הועתק ישירות
host.id principal.asset.asset_id הערך המשורשר הוא CA_LDAP:%{host.id}
חומרה principal.asset.hardware מוזג מאובייקט חומרה
host.hostname principal.hostname הערך הועתק ישירות
host.ip principal.ip מוזג ממערך host.ip
host.mac principal.mac מוזג ממערך host.mac
host.os.family principal.platform ההגדרה היא LINUX אם יש התאמה ל-‎(rhel|redhat)
host.os.kernel principal.platform_patch_level הערך הועתק ישירות
host.os.version principal.platform_version הערך הועתק ישירות
log.file.path principal.process.file.full_path הערך הועתק ישירות
syslog_severity security_result.severity הערך הוא INFORMATIONAL אם הוא תואם ל-‎(?i)(DEFAULT|DEBUG|INFO|NOTICE)‎,‏ ERROR אם הוא תואם ל-‎(?i)ERROR‎,‏ MEDIUM אם הוא תואם ל-‎(?i)WARNING‎,‏ HIGH אם הוא תואם ל-‎(?i)(CRITICAL|ALERT|EMERGENCY)‎
syslog_severity security_result.severity_details הערך הועתק ישירות
metadata.product_name הגדרה כ-CA_LDAP
metadata.vendor_name הגדרה כ-CA_LDAP

יומן שינויים

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

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