איסוף יומנים של Microsoft LAPS
במסמך הזה מוסבר איך להטמיע יומנים של Microsoft Windows LAPS (פתרון סיסמאות של אדמין מקומי) ב-Google Security Operations באמצעות סוכן Bindplane.
Windows LAPS מנהל סיסמאות של חשבונות אדמין מקומיים במכשירים שמצורפים לדומיין, ומפיק רשומות ביומן האירועים לגבי רוטציה של סיסמאות, עיבוד מדיניות ופעולות ניהול. המנתח מחלץ שדות מפורמט XML של יומן האירועים של Windows וממפה אותם למודל הנתונים המאוחד (UDM).
לפני שמתחילים
חשוב לוודא שיש לכם את הדברים הבאים:
- מכונה של Google SecOps
- Windows Server 2016 ואילך עם סוכן Bindplane מותקן
- אם השרת פועל מאחורי שרת proxy, צריך לוודא שהיציאות של חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane.
- Windows LAPS מוגדר ומוטמע בסביבה שלכם
קבלת פרטי כניסה ל-Google SecOps עבור סוכן Bindplane
כדי לאמת את סוכן Bindplane ב-Google SecOps, בוחרים באחת מהשיטות הבאות:
- פריסות חדשות: משתמשים ב-Chronicle API (אפשרות 1).
- פריסות מדור קודם: אפשר להמשיך להשתמש בקובץ האימות של ה-API להעברת נתונים (אפשרות 2) עד שה-API להעברת נתונים יפסיק לפעול ב-20 ביולי 2027.
אפשרות 1: יצירת חשבון שירות ל-Chronicle API (מומלץ)
- נכנסים אל Google Cloud המסוף ובוחרים את Google Cloud הפרויקט שמקושר למופע של Google SecOps.
- נכנסים אל IAM & Admin > Service Accounts (ניהול הרשאות גישה (IAM) & אדמין > חשבונות שירות).
- לוחצים על Create service account.
- מספקים את פרטי ההגדרה הבאים:
- Service account name: מזינים שם לחשבון (לדוגמה,
bindplane-ingest). - Service account description: מזינים תיאור (לדוגמה,
Bindplane agent log ingestion).
- Service account name: מזינים שם לחשבון (לדוגמה,
- לוחצים על Create and continue.
- בקטע Grant this service account access to project, לוחצים על Select a role ובוחרים באפשרות Chronicle Editor.
- לוחצים על המשך ואז על סיום.
- לוחצים על חשבון השירות שיצרתם ואז עוברים לכרטיסייה Keys.
- לוחצים על Add key > Create new key.
- בוחרים באפשרות JSON ולוחצים על Create. קובץ המפתח יורד למחשב.
- שומרים את קובץ המפתח בתור
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כך שיתאים לנתיב שבו שמרתם אותו. - עוברים אל IAM & Admin > Settings (ניהול הרשאות גישה ואדמין > הגדרות) ומעתיקים את מספר הפרויקט. תצטרכו אותו כדי להגדיר את כלי הייצוא.
אפשרות 2: הורדה של קובץ האימות להטמעת נתונים (מדור קודם)
- נכנסים למסוף Google SecOps.
- עוברים אל הגדרות SIEM > סוכני איסוף.
- מורידים את קובץ האימות להטמעת נתונים.
- שומרים את הקובץ בצורה מאובטחת במערכת שבה יותקן הסוכן של Bindplane.
איך מקבלים את מספר הלקוח ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings > Profile (הגדרות SIEM > פרופיל).
מעתיקים את מספר הלקוח מהקטע פרטי הארגון ושומרים אותו.
התקנת סוכן Bindplane
- פותחים את שורת הפקודה או את PowerShell כאדמין.
מריצים את הפקודה הבאה:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietמחכים שההתקנה תסתיים.
כדי לוודא שההתקנה בוצעה, מריצים את הפקודה:
sc query observiq-otel-collectorהשירות אמור להופיע כ-RUNNING.
מקורות מידע נוספים להתקנה
אפשרויות התקנה נוספות ופתרון בעיות מפורטים במדריך להתקנת סוכן Bindplane.
הגדרת סוכן Bindplane להטמעה של יומן האירועים של Windows ושליחה אל Google SecOps
איתור קובץ התצורה
כדי לאתר את קובץ התצורה, משתמשים בתחביר הבא:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
עריכת קובץ התצורה
מחליפים את כל התוכן של
config.yamlבהגדרות הבאות:receivers: windowseventlog/laps_operational: channel: Microsoft-Windows-LAPS/Operational max_reads: 100 poll_interval: 5s raw: true start_at: end processors: batch: exporters: chronicle/laps: 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: 'C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json' customer_id: '<customer_id>' endpoint: chronicle.googleapis.com log_type: WINDOWS_LAPS override_log_type: false raw_log_field: body service: pipelines: logs/laps: receivers: - windowseventlog/laps_operational processors: [batch] exporters: [chronicle/laps]
פרמטרים להגדרה
מחליפים את ה-placeholders הבאים:
הגדרת מקלט:
-
channel: ערוץ יומן האירועים של Windows לקריאה (Microsoft-Windows-LAPS/Operational) -
max_reads: המספר המקסימלי של רשומות ביומן לקריאה בכל מחזור סקר -
poll_interval: התדירות של בדיקת אירועים חדשים -
start_at: המקום שבו מתחילים לקרוא (endלאירועים חדשים בלבד)
-
הגדרת הייצוא:
-
creds_file_path: הנתיב המלא לקובץ מפתח ה-JSON של חשבון השירות (אפשרות 1) (C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json) -
customer_id: מספר הלקוח שהועתק ממסוף Google SecOps -
location: מחליפים את<LOCATION>באזור של מופע Google SecOps (לדוגמה,us,europeאוasia-southeast1). ערך זה מתווסף לתחיליתchronicle.googleapis.comשל הכלי לייצוא. רשימה מלאה של נקודות הקצה האזוריות מופיעה במאמר Regional Endpoints. -
project: מחליפים את<PROJECT_NUMBER>במספר הפרויקט מתוך IAM & Admin > Settings. -
endpoint: צריך להשאיר את ההגדרהchronicle.googleapis.com.
-
מייצא API להטמעה מדור קודם
אם אתם משתמשים בקובץ האימות להטמעת נתונים מאפשרות 2, החליפו את הבלוק
exportersבקוד הבא. מגדירים אתcreds_file_pathלנתיב של קובץ האימות להטמעת נתונים. אם המכונה נמצאת מחוץ לארה"ב, מחליפים אתmalachiteingestion-pa.googleapis.comבנקודת הקצה האזורית (לדוגמה,europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/laps: compression: gzip creds_file_path: 'C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: WINDOWS_LAPS override_log_type: false raw_log_field: body
שמירת קובץ התצורה
לוחצים על קובץ > שמירה.
מפעילים מחדש את הסוכן של Bindplane כדי להחיל את השינויים.
שורת הפקודה או PowerShell כאדמין:
net stop observiq-otel-collector && net start observiq-otel-collectorמסוף השירותים:
- לוחצים על
Win+R, מקלידיםservices.mscולוחצים על Enter. - מחפשים את observIQ OpenTelemetry Collector.
לוחצים לחיצה ימנית ובוחרים באפשרות הפעלה מחדש.
מוודאים שהשירות פועל:
sc query observiq-otel-collectorבודקים אם יש שגיאות ביומנים:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- לוחצים על
הגדרת Microsoft Windows LAPS
- מקלידים
eventvwr.mscבשורת הפקודה עם הרשאות ניהול ולוחצים על ENTER כדי לפתוח את מציג האירועים. - עוברים אל Applications and Services Logs > Microsoft > Windows > LAPS.
- מרחיבים את LAPS.
- לוחצים לחיצה ימנית על LAPS ואז על Properties (מאפיינים).
- מסמנים את התיבה הפעלת רישום ביומן.
- כשמוצגת השאלה אם היומן מופעל, לוחצים על אישור.
- לוחצים על OK.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
| ערוץ | read_only_udm.additional.fields.key | הערך נלקח מהשדה Channel ביומן הגולמי ומוקצה לשדה key. |
| ערוץ | read_only_udm.additional.fields.value.string_value | הערך נלקח מהשדה Channel ביומן הגולמי ומוקצה לשדה string_value. |
| מחשב | read_only_udm.principal.hostname | הערך נלקח מהשדה Computer ביומן הגולמי. |
| מחשב | read_only_udm.principal.asset.hostname | הערך נלקח מהשדה Computer ביומן הגולמי. |
| EventData.%1 | read_only_udm.additional.fields.value.string_value | הערך נלקח מהשדה EventData.%1 ביומן הגולמי ומוקצה לשדה string_value. |
| EventId | read_only_udm.metadata.product_event_type | הערך נלקח מהשדה EventId ביומן הגולמי. |
| EventId | read_only_udm.security_result.rule_name | הערך נלקח מהשדה EventId ביומן הגולמי ומצורף אל EventID:. |
| EventRecordID | read_only_udm.metadata.product_log_id | הערך נלקח מהשדה EventRecordID ביומן הגולמי. |
| מילות מפתח | read_only_udm.additional.fields.key | הערך נלקח מהשדה Keywords ביומן הגולמי ומוקצה לשדה key. |
| מילות מפתח | read_only_udm.additional.fields.value.string_value | הערך נלקח מהשדה Keywords ביומן הגולמי ומוקצה לשדה string_value. |
| רמה | read_only_udm.security_result.severity | הערך נלקח מהשדה Level ביומן הגולמי וממופה אל: INFORMATIONAL עבור INFO, Informational, Information, Normal, NOTICE; ERROR עבור ERROR, Error; CRITICAL עבור Critical. |
| קוד פעולה | read_only_udm.additional.fields.key | הערך נלקח מהשדה Opcode ביומן הגולמי ומוקצה לשדה key. |
| קוד אופרציה | read_only_udm.additional.fields.value.string_value | הערך נלקח מהשדה Opcode ביומן הגולמי ומוקצה לשדה string_value. |
| ProcessID | read_only_udm.principal.process.pid | הערך נלקח מהשדה ProcessID ביומן הגולמי. |
| ProviderName | read_only_udm.metadata.product_name | הערך נלקח מהשדה ProviderName ביומן הגולמי. |
| משימה | read_only_udm.additional.fields.key | הערך נלקח מהשדה Task ביומן הגולמי ומוקצה לשדה key. |
| משימה | read_only_udm.additional.fields.value.string_value | הערך נלקח מהשדה Task ביומן הגולמי ומוקצה לשדה string_value. |
| ThreadID | read_only_udm.additional.fields.key | הערך נלקח מהשדה ThreadID ביומן הגולמי ומוקצה לשדה key. |
| ThreadID | read_only_udm.additional.fields.value.string_value | הערך נלקח מהשדה ThreadID ביומן הגולמי ומוקצה לשדה string_value. |
| TimeCreated | read_only_udm.metadata.event_timestamp | הערך נלקח מהשדה TimeCreated ביומן הגולמי, ומנותח כחותמת זמן של UNIX_MS. |
| TimeCreated | events.timestamp | הערך נלקח מהשדה TimeCreated ביומן הגולמי, ומנותח כחותמת זמן של UNIX_MS. |
| גרסה | read_only_udm.additional.fields.key | הערך נלקח מהשדה Version ביומן הגולמי ומוקצה לשדה key. |
| גרסה | read_only_udm.additional.fields.value.string_value | הערך נלקח מהשדה Version ביומן הגולמי ומוקצה לשדה string_value. |
| read_only_udm.additional.fields.key | הוקצה הערך EventData_P1. |
|
| read_only_udm.metadata.event_type | מוקצה STATUS_UNCATEGORIZED באופן מותנה אם EventId הוא 7 או 2, אחרת GENERIC_EVENT. |
|
| read_only_udm.metadata.vendor_name | הערך Microsoft הוקצה. |
יומן שינויים
צפייה ביומן השינויים של המנתח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.