איסוף יומנים של ManageEngine ADAudit Plus

נתמך ב:

במאמר הזה מוסבר איך להטמיע יומני רישום של ManageEngine ADAudit Plus ב-Google Security Operations באמצעות סוכן Bindplane. הכלי לניתוח (parser) מטפל ביומנים מ-ADAudit Plus וממיר אותם לפורמט UDM. הוא משתמש בתבניות grok כדי לחלץ שדות מ-SYSLOG ‏ (CEF) וממסרים בפורמט של מפתח-ערך, ממפה אותם לשדות UDM על סמך סוגי אירועים שנגזרים מפרופילים של התראות ודוחות, ומעשיר את הנתונים בהקשר נוסף. הכלי לניתוח מחרוזות מטפל גם בתרחישים ספציפיים כמו כניסות שנכשלו, שינויים במשתמשים ושינויים בקבצים, ומתאים את מיפוי UDM בהתאם.

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

  • מוודאים שיש לכם מכונת Google SecOps.
  • ודאו שאתם משתמשים ב-Windows 2016 ואילך, או במארח Linux עם systemd.
  • אם מריצים מאחורי שרת proxy, מוודאים שהיציאות בחומת האש פתוחות.
  • מוודאים שיש לכם הרשאות גישה מיוחדות ל-ManageEngine ADAudit.

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

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

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

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

התקנת סוכן Bindplane

התקנה ב-Windows

  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. ניגשים לקובץ התצורה:

    1. מאתרים את הקובץ config.yaml. בדרך כלל, הוא נמצא בספרייה /etc/bindplane-agent/ ב-Linux או בספריית ההתקנה ב-Windows.
    2. פותחים את הקובץ באמצעות כלי לעריכת טקסט (לדוגמה, nano,‏ vi או Notepad).
  2. עורכים את הקובץ config.yaml באופן הבא:

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds: '/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
            ingestion_labels:
                log_type: ADAUDIT_PLUS
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. מחליפים את היציאה ואת כתובת ה-IP לפי הצורך בתשתית.

  4. מחליפים את <customer_id> במזהה הלקוח בפועל.

  5. מעדכנים את /path/to/ingestion-authentication-file.json לנתיב שבו קובץ האימות נשמר בקטע קבלת קובץ אימות להעברה ל-Google SecOps.

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

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

    sudo systemctl restart bindplane-agent
    
  • כדי להפעיל מחדש את סוכן Bindplane ב-Windows, אפשר להשתמש במסוף Services או להזין את הפקודה הבאה:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

הגדרת ManageEngine ADAudit Plus Syslog

  1. נכנסים לממשק המשתמש באינטרנט של ManageEngine ADAudit Plus.
  2. עוברים אל Admin > Configuration > SIEM Integration.
  3. לוחצים על הפעלה כדי לשלוח את היומנים של ADAudit Plus.
  4. בוחרים בפורמט ArcSight (CEF).
  5. מספקים את פרטי ההגדרה הבאים:
    • כתובת IP: כתובת ה-IP של סוכן Bindplane.
    • יציאה: מספר היציאה של Bindplane, לדוגמה, 514 ל-UDP.
    • סוג היעד: בוחרים באפשרות UDP (אפשר גם לבחור באפשרות TCP, בהתאם להגדרות של סוכן Bindplane).
  6. לוחצים על Save.

טבלת מיפוי UDM

שדה ביומן מיפוי UDM היגיון
ACCOUNT_DOMAIN principal.administrative_domain הערך של ACCOUNT_DOMAIN מיומן הגולמי מוקצה לשדה הזה ב-UDM.
ACCOUNT_NAME principal.user.userid הערך של ACCOUNT_NAME מיומן הגולמי מוקצה לשדה הזה ב-UDM.
ALERT_PROFILE security_result.summary הערך של ALERT_PROFILE מיומן הגולמי מוקצה לשדה הזה ב-UDM.
APPLICATION_NAME target.resource.name הערך של APPLICATION_NAME מיומן הגולמי מוקצה לשדה הזה ב-UDM. הפונקציה גם מגדירה את target.resource.resource_type ל-TASK ואת has_target_resource ל-true.
CALLER_DISPLAY_NAME target.user.user_display_name הערך של CALLER_DISPLAY_NAME מיומן הגולמי מוקצה לשדה הזה ב-UDM.
CALLER_USER_NAME target.user.userid הערך של CALLER_USER_NAME מיומן הגולמי מוקצה לשדה הזה ב-UDM.
CALLER_USER_SID target.group.windows_sid הערך של CALLER_USER_SID מיומן הגולמי משויך לשדה הזה ב-UDM אחרי הסרת התווים [%,{,}]. הפעולה הזו מתבצעת רק אם הערך תואם לדפוס של SID ב-Windows.
Category metadata.product_event_type הערך של Category מיומן הגולמי מוקצה לשדה הזה ב-UDM.
CLIENT_HOST_NAME target.hostname, target.asset.hostname הערך של CLIENT_HOST_NAME מיומן הגולמי מוקצה לשדות האלה ב-UDM.
CLIENT_IP_ADDRESS target.ip, target.asset.ip הערך של CLIENT_IP_ADDRESS מהיומן הגולמי מוקצה לשדות ה-UDM האלה אחרי שמוודאים שזו כתובת IP תקינה.
CLIENT_PORT target.port הערך של CLIENT_PORT מיומן הגולמי משויך לשדה הזה ב-UDM אחרי שהוא מומר למספר שלם.
DOMAIN target.administrative_domain הערך של DOMAIN מיומן הגולמי מוקצה לשדה הזה ב-UDM. יכול להיות שהערך הזה יידרס בהמשך על ידי ACCOUNT_DOMAIN אם הוא קיים.
FILE_LOCATION target.file.full_path הערך של FILE_LOCATION מיומן הגולמי מוקצה לשדה הזה ב-UDM.
FILE_NAME target.file.full_path הערך של FILE_NAME מיומן הגולמי מוקצה לשדה הזה ב-UDM אם FILE_LOCATION לא קיים.
FORMAT_MESSAGE security_result.description הערך של FORMAT_MESSAGE מיומן הגולמי מוקצה לשדה הזה ב-UDM. יכול להיות שחלקים מהשדה הזה ישמשו לאכלוס שדות אחרים ב-UDM ואז יוסרו מהתיאור.
IP principal.ip, principal.asset.ip הערך של IP מהיומן הגולמי מוקצה לשדות ה-UDM האלה אחרי שמוודאים שזו כתובת IP תקינה.
loggerHost intermediary.hostname, intermediary.asset.hostname הערך של loggerHost שחולץ משדה ההודעה ביומן הגולמי מוקצה לשדות UDM האלה.
login_name ‫target.user.userid או target.user.email_addresses או target.user.user_display_name אם הערך מכיל @, המערכת מתייחסת אליו כאל כתובת אימייל. אם הוא מכיל רווחים, הוא נחשב לשם לתצוגה. אחרת, הוא ייחשב כמזהה משתמש. הפעולה גם מגדירה את event_type לערך USER_LOGIN, את extensions.auth.type לערך MACHINE ואת extensions.auth.mechanism לערך USERNAME_PASSWORD.
RECORD_NUMBER principal.process.pid הערך של RECORD_NUMBER מיומן הגולמי מוקצה לשדה הזה ב-UDM.
REPORT_PROFILE metadata.description הערך של REPORT_PROFILE מיומן הגולמי מוקצה לשדה הזה ב-UDM.
SEVERITY security_result.severity הערך של SEVERITY קובע את הערך של השדה הזה ב-UDM: ‏1 ממופה ל-LOW,‏ 2 ממופה ל-MEDIUM ו-3 ממופה ל-HIGH.
SOURCE principal.hostname, principal.asset.hostname הערך של SOURCE מיומן הגולמי, בשילוב עם DOMAIN אם SOURCE לא מכיל חלק של דומיין, מוקצה לשדות האלה ב-UDM. הפרמטר הזה מגדיר גם את has_principal_host ל-true.
TIME_GENERATED metadata.event_timestamp.seconds הערך של TIME_GENERATED מיומן הגולמי משמש כחותמת הזמן של האירוע.
UNIQUE_ID metadata.product_log_id הערך של UNIQUE_ID מיומן הגולמי מוקצה לשדה הזה ב-UDM.
USERNAME principal.user.userid הערך של USERNAME מיומן הגולמי מוקצה לשדה הזה ב-UDM אם ACCOUNT_NAME לא קיים.
USER_OU_GUID metadata.product_log_id הערך של USER_OU_GUID מיומן הגולמי, אחרי הסרת הסוגריים המסולסלים, מוקצה לשדה הזה ב-UDM אם UNIQUE_ID לא קיים.
access_mode security_result.detection_fields.value הערך של access_mode מיומן הגולמי משויך לשדה הזה ב-UDM, והמפתח מוגדר ל-ACCESS_MODE.
action_name security_result.description הערך של action_name מיומן הגולמי מוקצה לשדה הזה ב-UDM.
domain_name principal.administrative_domain הערך של domain_name מיומן הגולמי מוקצה לשדה הזה ב-UDM.
event.idm.read_only_udm.extensions.auth.mechanism event.idm.read_only_udm.extensions.auth.mechanism מגדירים את הערך USERNAME_PASSWORD אם המאפיין login_name קיים או אם הערך של event_type הוא USER_LOGIN.
event.idm.read_only_udm.extensions.auth.type event.idm.read_only_udm.extensions.auth.type מגדירים את הערך MACHINE אם המאפיין login_name קיים או אם הערך של event_type הוא USER_LOGIN.
event.idm.read_only_udm.metadata.event_type event.idm.read_only_udm.metadata.event_type הערך נקבע על ידי מנתח התוכן על סמך הערכים של ALERT_PROFILE,‏ REPORT_PROFILE ו-FORMAT_MESSAGE. יכול להיות אחד מכמה ערכים, כולל USER_CHANGE_PERMISSIONS, USER_STATS, USER_LOGIN, USER_CHANGE_PASSWORD, SETTING_MODIFICATION, FILE_DELETION, FILE_MODIFICATION, STATUS_SHUTDOWN, SCHEDULED_TASK_CREATION, FILE_READ, NETWORK_CONNECTION, GENERIC_EVENT, USER_UNCATEGORIZED או STATUS_UPDATE.
event.idm.read_only_udm.metadata.log_type event.idm.read_only_udm.metadata.log_type הערך תמיד יהיה ADAUDIT_PLUS.
event.idm.read_only_udm.metadata.product_name event.idm.read_only_udm.metadata.product_name הערך תמיד יהיה ADAudit Plus.
event.idm.read_only_udm.metadata.vendor_name event.idm.read_only_udm.metadata.vendor_name הערך תמיד יהיה Zoho Corporation.
host principal.hostname, principal.asset.hostname הערך של host מיומן הגולמי מוקצה לשדות האלה ב-UDM. הפרמטר הזה מגדיר גם את has_principal_host ל-true.
intermediary.hostname, intermediary.asset.hostname intermediary.hostname, intermediary.asset.hostname הערך שמוגדר הוא loggerHost.
principalHost principal.hostname, principal.asset.hostname הערך של principalHost מיומן הגולמי מוקצה לשדות האלה ב-UDM אחרי בדיקה אם מדובר בכתובת IP. הפרמטר הזה מגדיר גם את has_principal_host ל-true.
security_result.action security_result.action הערך הוא ALLOW אם outcome או msg_data_2 מכילים את Success, או אם FORMAT_MESSAGE מכיל את Status:Success. הערך BLOCK אם status מכיל את הערכים denied, ‏locked out, ‏incorrect, ‏does not meet או Unable to validate. מגדירים את הערך BLOCK אם הערך של ALERT_PROFILE הוא Logon Failures for Admin Users.
security_result.category security_result.category מגדירים את הערך POLICY_VIOLATION אם event_type הוא USER_STATS או אם ALERT_PROFILE הוא Logon Failures for Admin Users.
security_result.rule_name security_result.rule_name הערך הזה מחולץ מהשדה FORMAT_MESSAGE אם הוא מכיל את הערך Reason:.
status security_result.summary הערך של status מיומן הגולמי מוקצה לשדה הזה ב-UDM.
targetHost ‫target.hostname, target.asset.hostname או target.ip, target.asset.ip הערך של targetHost מיומן הגולמי מוקצה לשדות האלה ב-UDM אחרי בדיקה אם מדובר בכתובת IP.
targetUser target.user.userid הערך של targetUser מיומן הגולמי מוקצה לשדה הזה ב-UDM.
_CNtargetUser target.user.user_display_name הערך של _CNtargetUser מיומן הגולמי מוקצה לשדה הזה ב-UDM.
_user principal.user.userid או target.user.userid הערך של _user מיומן הגולמי משויך ל-principal.user.userid, אלא אם event_type הוא USER_CHANGE_PASSWORD, ובמקרה כזה הוא משויך ל-target.user.userid.

יומן שינויים

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

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