איסוף יומנים של ManageEngine Log360

נתמך ב:

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

‫ManageEngine Log360 הוא פתרון מאוחד לניהול יומנים ול-SIEM, שאוסף, מנטר ומנתח יומנים ממקורות שונים בסביבה שלכם. הוא יוצר יומני ביקורת של אירועי אבטחה ושל תאימות. ‫Log360 כולל תכונה מובנית של Syslog Forwarder ברכיב EventLog Analyzer, שתומכת במספר פורמטים של פלט, כולל RFC 5424,‏ RFC 3164,‏ JSON ותבניות בהתאמה אישית.

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

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

  • מכונה של Google SecOps
  • ‫Windows Server 2016 ואילך, או מארח Linux עם systemd
  • קישוריות לרשת בין סוכן Bindplane לבין ManageEngine Log360
  • אם השרת פועל מאחורי שרת proxy, צריך לוודא שהיציאות של חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane.
  • גישה מיוחדת ל-ManageEngine Log360 עם הרשאות אדמין
  • ‫ManageEngine Log360 מותקן ומוגדר לאיסוף יומנים מהסביבה שלכם

קבלת פרטי כניסה ל-Google SecOps בשביל סוכן Bindplane

כדי לאמת את סוכן Bindplane ב-Google SecOps, בוחרים באחת מהשיטות הבאות:

  • פריסות חדשות: משתמשים ב-Chronicle API (אפשרות 1).
  • פריסות מדור קודם: אפשר להמשיך להשתמש בקובץ האימות של ה-API להעברת נתונים (אפשרות 2) עד שה-API להעברת נתונים יפסיק לפעול ב-20 ביולי 2027.
  1. נכנסים למסוףGoogle Cloud ובוחרים את הפרויקט ב- Google Cloud שמקושר למכונה של Google SecOps.
  2. נכנסים אל IAM & Admin > Service Accounts (ניהול הרשאות גישה (IAM) & אדמין > חשבונות שירות).
  3. לוחצים על יצירת חשבון שירות.
  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 בספריית ה-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 לפי ההוראות הבאות.

התקנה ב-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
    

השירות אמור להופיע כ-active (running).

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

לאפשרויות התקנה נוספות ולפתרון בעיות, קראו את מדריך ההתקנה של סוכן 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:
      tcplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/log360:
        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: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: MANAGE_ENGINE_LOG360
        raw_log_field: body
        ingestion_labels:
          env: production
    
    service:
      pipelines:
        logs/log360_to_chronicle:
          receivers:
            - tcplog
          exporters:
            - chronicle/log360
    

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

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

  • הגדרת מקלט:

    • ‫tcplog: סוג הנמען על סמך הפרוטוקול:
      • ‫udplog ל-UDP syslog
      • ‫tcplog for TCP syslog
    • ‫0.0.0.0: כתובת ה-IP להאזנה:
      • ‫0.0.0.0 כדי להאזין בכל הממשקים (מומלץ)
      • כתובת IP ספציפית להאזנה בממשק אחד
    • ‫514: מספר היציאה להאזנה (לדוגמה, 514, ‏ 1514, ‏ 6514)
  • הגדרת כלי הייצוא:

    • ‫log360: שם תיאורי של המייצא
    • ‫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>: מספר הלקוח מהשלב הקודם
    • ‫location: מחליפים את <LOCATION> באזור של המכונה של Google SecOps (לדוגמה, us,‏ europe או asia-southeast1). המייצא מוסיף את הערך הזה בתחילת chronicle.googleapis.com. לרשימה המלאה, ראו נקודות קצה אזוריות.
    • ‫project: מחליפים את <PROJECT_NUMBER> במספר הפרויקט שמופיע בקטע IAM & Admin > Settings.
    • ‫endpoint: משאירים את הערך chronicle.googleapis.com.
    • ‫MANAGE_ENGINE_LOG360: סוג היומן בדיוק כמו שהוא מופיע ב-Chronicle
    • ‫ingestion_labels: תוויות אופציונליות בפורמט YAML (לדוגמה, env: production)
  • הגדרת צינור עיבוד נתונים:

    • ‫log360_to_chronicle: שם תיאורי של צינור העיבוד

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

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

    exporters:
      chronicle/log360:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: MANAGE_ENGINE_LOG360
        raw_log_field: body
        ingestion_labels:
          env: production
    

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

  • אחרי שמסיימים לערוך, שומרים את הקובץ:
    • 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 ב-ManageEngine Log360

  1. נכנסים למסוף ManageEngine Log360 כאדמינים.
  2. עוברים אל הגדרות > הגדרות אדמין > שילובים > העברת יומנים.
  3. לוחצים על הוספת פרופיל חדש.
  4. מגדירים את פרופיל ההעברה עם ההגדרות הבאות:

    הגדרה ערך
    שם השרת להעברת דואר מזינים שם תיאורי (לדוגמה, Chronicle-Bindplane)
    שרת היעד מזינים את כתובת ה-IP של המארח של סוכן Bindplane
    פרוטוקול בוחרים באפשרות TCP או UDP בהתאם לסוג המקלט של Bindplane.
    יציאה מזינים את היציאה שתואמת להגדרת המקלט של סוכן Bindplane (לדוגמה, 514)
  5. לוחצים על התאמה אישית כדי לבחור את פורמט היומן. הפורמטים הזמינים כוללים:

    • ‫Rawlog: מעביר את היומן המקורי כפי שהתקבל
    • ‫JSON: העברת יומנים בפורמט JSON מובנה
    • ‫RFC 5424: פורמט syslog רגיל עם תמיכה בנתונים מובְנים
    • ‫RFC 5424 עם נתונים מובְנים: פורמט מורחב של RFC 5424
    • ‫RFC 3164: פורמט syslog מדור קודם של BSD
    • מותאם אישית: הגדרה של תבנית מותאמת אישית של syslog
  6. בקטע בחירת מכשירים, מוסיפים את המכשירים שרוצים להעביר את היומנים שלהם.

  7. בוחרים את הקריטריונים להעברה:

    • כל היומנים: כל היומנים הנכנסים מהמכשירים שנבחרו מועברים.
    • החרגה: מסנן יומנים שתואמים לכללים שצוינו
    • העברה בלבד: העברה רק של יומנים שתואמים לכללים שצוינו
  8. לוחצים על Save.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
authentication_package additional.fields מוזג עם אובייקט תווית שנוצר מ-authentication_package
Logon_type extensions.auth.mechanism הגדרה ל-"NETWORK" אם Logon_type == '3'; ל-"BATCH" אם '4'; ל-"SERVICE" אם '5'; ל-"NETWORK_CLEAR_TEXT" אם '8'; ל-"NEW_CREDENTIALS" אם '9'; ל-"REMOTE_INTERACTIVE" אם '10'; ל-"CACHED_INTERACTIVE" אם '11'; ל-"MECHANISM_OTHER" אם לא ריק
משתמש intermediary.hostname הערך הועתק ישירות
msg metadata.description הערך הועתק ישירות
user_present, principal_present metadata.event_type הערך הוא USER_RESOURCE_ACCESS אם user_present == true,‏ STATUS_UPDATE אם principal_present == true, אחרת GENERIC_EVENT
eventid metadata.product_event_type הערך הועתק ישירות
principal_domain principal.administrative_domain הערך הועתק ישירות
source_ip principal.asset.ip חולץ באמצעות תבנית Grok של כתובת IP, מוזג אם הוא תקין
source_ip principal.ip חולץ באמצעות תבנית Grok של כתובת IP, מוזג אם הוא תקין
source_port principal.port הערך הועתק ישירות והומר למספר שלם
creator_process_name principal.process.file.full_path הערך הועתק ישירות
process_id principal.process.pid הערך מועתק ישירות אם הוא לא [""," -"]
logon_guid principal.resource.product_object_id הערך הועתק ישירות
principal_account_name principal.user.userid הערך הועתק ישירות
principal_security_id principal.user.windows_sid הערך מועתק ישירות אם הוא תואם לביטוי הרגולרי של SID ב-Windows
channel, principal_logon_id, impersonation_level, restricted_admin_mode, virtual_account, elevated_token, event_in_sequence, logon_process, transited_services, key_length security_result.detection_fields מיזוג עם אובייקטים של תוויות שנוצרו מכל שדה
סיכום security_result.description הערך הועתק ישירות
אירוע src.asset.software.vendor_name הערך הועתק ישירות
target_domain target.administrative_domain הערך מועתק ישירות אם הוא לא [""," -"]
target_account_name target.user.userid הערך מועתק ישירות אם הוא לא [""," -"]
target_security_id target.user.windows_sid הערך מועתק ישירות אם הוא תואם לביטוי הרגולרי של SID ב-Windows

יומן שינויים

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

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