איסוף יומנים של Endpoint Protector DLP
גרסת כלי הניתוח: 2.0
במאמר הזה מוסבר איך להטמיע יומני DLP של Netwrix Endpoint Protector ב-Google Security Operations באמצעות סוכן Bindplane.
Netwrix Endpoint Protector הוא פתרון למניעת אובדן נתונים (DLP) שמפיק הודעות syslog עבור בקרת מכשירים, הגנה מבוססת-תוכן ואירועים של העברת קבצים. המנתח מחלץ שדות באמצעות תבניות grok וממפה אותם ל-Unified Data Model (UDM).
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מכונה של Google SecOps
- Windows Server 2016 ואילך, או מארח Linux עם
systemd - קישוריות רשת בין סוכן Bindplane לבין שרת Endpoint Protector
- אם מריצים את הסוכן מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
- גישת אדמין ל-Netwrix Endpoint Protector
קבלת פרטי כניסה ל-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.
- לוחצים על Create service account.
- מספקים את פרטי ההגדרה הבאים:
- שם חשבון השירות: מזינים שם לחשבון (לדוגמה,
bindplane-ingest). - Service account description: מזינים תיאור (לדוגמה,
Bindplane agent log ingestion).
- שם חשבון השירות: מזינים שם לחשבון (לדוגמה,
- לוחצים על 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בספריית Bindplane Collector (/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 ומעתיקים את הערך של Project number. תצטרכו אותו כדי להגדיר את כלי הייצוא.
אפשרות 2: הורדה של קובץ האימות להטמעת נתונים (מדור קודם)
- נכנסים למסוף Google SecOps.
- עוברים אל הגדרות SIEM > סוכני איסוף.
- מורידים את קובץ האימות להטמעת נתונים.
- שומרים את הקובץ בצורה מאובטחת במערכת שבה יותקן סוכן Bindplane.
איך מוצאים את מספר הלקוח ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings > Profile.
מעתיקים את מספר הלקוח מהקטע פרטי הארגון ושומרים אותו.
התקנת הסוכן של Bindplane
מתקינים את הסוכן של Bindplane במערכת ההפעלה Windows או Linux לפי ההוראות הבאות.
התקנת חלונות
- פותחים את שורת הפקודה או את PowerShell כאדמין.
מריצים את הפקודה הבאה:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietמחכים שההתקנה תסתיים.
מאמתים את ההתקנה על ידי הרצת:
sc query observiq-otel-collectorהשירות צריך להופיע עם הערך RUNNING.
התקנה ב-Linux
- פותחים טרמינל עם הרשאות root או sudo.
מריצים את הפקודה הבאה:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shמחכים שההתקנה תסתיים.
מאמתים את ההתקנה על ידי הרצת:
sudo systemctl status observiq-otel-collectorהשירות צריך להופיע כפעיל (פועל).
מקורות מידע נוספים להתקנה
לאפשרויות התקנה נוספות ולפתרון בעיות, עיינו במדריך להתקנת סוכן Bindplane.
הגדרה של סוכן Bindplane לקליטת syslog ושליחה ל-Google SecOps
מאתרים את קובץ התצורה
Linux:
sudo nano /opt/observiq-otel-collector/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
עריכת קובץ התצורה
מחליפים את כל התוכן של
config.yamlבהגדרות הבאות:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/endpoint_protector_dlp: 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: ENDPOINT_PROTECTOR_DLP raw_log_field: body service: pipelines: logs/endpoint_protector_dlp_to_chronicle: receivers: - udplog exporters: - chronicle/endpoint_protector_dlp
פרמטרים להגדרה
מחליפים את ה-placeholders הבאים:
הגדרת המקלט:
-
listen_address: כתובת ה-IP והיציאה להאזנה:-
0.0.0.0כדי להאזין בכל הממשקים (מומלץ) - יציאה
514היא יציאת syslog הרגילה (נדרש root ב-Linux; צריך להשתמש ב-1514ללא root)
-
-
הגדרת הייצוא:
-
creds_file_path: הנתיב המלא לקובץ המפתח של חשבון השירות בפורמט JSON (אפשרות 1):- Linux:
/opt/observiq-otel-collector/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
-
customer_id: מספר הלקוח שהועתק ממסוף Google SecOps -
location: מחליפים את<LOCATION>באזור של מופע Google SecOps (לדוגמה,us,europeאוasia-southeast1). ערך זה מתווסף לתחיליתchronicle.googleapis.comשל הכלי לייצוא. לרשימה המלאה, ראו נקודות קצה אזוריות. -
project: מחליפים את<PROJECT_NUMBER>במספר הפרויקט מתוך IAM & Admin > Settings. -
endpoint: משאירים את הערךchronicle.googleapis.com.
-
כלי לייצוא נתונים מ-Legacy ingestion API
אם משתמשים בקובץ האימות של ההעלאה מאפשרות 2, מחליפים את הבלוק
exportersבבלוק הבא. מגדירים אתcreds_file_pathלנתיב של קובץ האימות להטמעת נתונים. אם המכונה נמצאת מחוץ לארה"ב, מחליפים אתmalachiteingestion-pa.googleapis.comבנקודת הקצה האזורית (לדוגמה,europe-malachiteingestion-pa.googleapis.com).exporters: chronicle/endpoint_protector_dlp: compression: gzip creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: ENDPOINT_PROTECTOR_DLP raw_log_field: body
שמירת קובץ התצורה
- אחרי שמסיימים לערוך, שומרים את הקובץ:
- Linux: מקישים על
Ctrl+O, אחר כך עלEnterואז עלCtrl+X - Windows: לוחצים על קובץ > שמירה
- Linux: מקישים על
מפעילים מחדש את סוכן Bindplane כדי להחיל את השינויים.
כדי להפעיל מחדש את סוכן Bindplane ב-Linux, מריצים את הפקודה הבאה:
sudo systemctl restart observiq-otel-collectorמוודאים שהשירות פועל:
sudo systemctl status observiq-otel-collectorבודקים אם יש שגיאות ביומנים:
sudo journalctl -u observiq-otel-collector -f
כדי להפעיל מחדש את הסוכן של Bindplane ב-Windows, בוחרים באחת מהאפשרויות הבאות:
שורת הפקודה או 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"
- לוחצים על
הגדרת syslog ב-Netwrix Endpoint Protector
- נכנסים לממשק המשתמש באינטרנט של Endpoint Protector.
- עוברים אל Appliance > SIEM Integration.
- לוחצים על הוספה.
- מזינים את פרטי ההגדרה הבאים:
- סטטוס SIEM: מעבירים את המתג למצב מופעל כדי להפעיל את שרת ה-SIEM.
- השבתת הרישום ביומן: מעבירים את המתג למצב מופעל כדי להפעיל את הרישום ביומן.
- שם השרת: מזינים שם שרת ייחודי ומשמעותי.
- תיאור השרת: מוסיפים תיאור לשילוב הזה.
- כתובת ה-IP או ה-DNS של השרת: מזינים את כתובת ה-IP של סוכן Bindplane.
- פרוטוקול שרת: בוחרים באפשרות UDP.
- יציאת השרת: מזינים את מספר היציאה של סוכן Bindplane (לדוגמה,
514עבור UDP). - החרגת כותרות: מעבירים את המתג למצב מופעל כדי להפעיל את כותרות היומן.
- סוגי יומנים: בוחרים את היומנים הזמינים שרוצים לשלוח ל-SIEM.
- לוחצים על Save.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
Client Computer |
principal.asset.asset_id |
הערך של Client Computer מוקצה ל-principal.asset.asset_id אחרי הוספת "מחשב לקוח: " בתחילת המחרוזת. |
Client User |
principal.user.userid |
הערך של Client User מוקצה ל-principal.user.userid. |
Content Policy |
security_result.rule_name |
הערך של Content Policy מוקצה ל-security_result.rule_name. |
Content Policy Type |
security_result.rule_id |
הערך של Content Policy Type מוקצה ל-security_result.rule_id. |
Destination |
metadata.ingestion_labels.value |
הערך של Destination מוקצה לשדה value של אובייקט ingestion_labels שבו key הוא "יעד". |
Destination Type |
metadata.ingestion_labels.value |
הערך של Destination Type מוקצה לשדה value של אובייקט ingestion_labels שבו key הוא "סוג היעד". |
Device PID |
metadata.ingestion_labels.value |
הערך של Device PID מוקצה לשדה value של אובייקט ingestion_labels שבו key הוא "מזהה מוצר של המכשיר". |
Device Serial |
metadata.ingestion_labels.value |
הערך של Device Serial מוקצה לשדה value של אובייקט ingestion_labels שבו key הוא "מספר סידורי של המכשיר". הפעולה הזו מתבצעת רק אם Device Serial לא ריק. |
Device VID |
metadata.ingestion_labels.value |
הערך של Device VID מוקצה לשדה value של אובייקט ingestion_labels שבו key הוא "מזהה ספק של המכשיר". |
File Name |
target.file.full_path |
הערך של File Name מוקצה ל-target.file.full_path. |
File Size |
target.file.size |
הערך של File Size מוקצה ל-target.file.size ומומר למספר שלם ללא סימן. |
IP Address |
principal.ip |
הערך של IP Address מוקצה ל-principal.ip. |
Item Details |
metadata.ingestion_labels.value |
הערך של Item Details מוקצה לשדה value של אובייקט ingestion_labels שבו הערך של key הוא Item Details (פרטי פריט). |
Log ID |
metadata.product_log_id |
הערך של Log ID מוקצה ל-metadata.product_log_id. |
MAC Address |
principal.mac |
הערך של MAC Address מוקצה ל-principal.mac אחרי שכל המקפים מוחלפים בנקודתיים. |
Matched Item |
metadata.ingestion_labels.value |
הערך של Matched Item מוקצה לשדה value של אובייקט ingestion_labels שבו key הוא 'פריט תואם'. |
Message |
security_result.summary |
הערך של Message מוקצה ל-security_result.summary. |
OS |
principal.platform |
הערך של OS משמש לקביעת הערך של principal.platform. אם OS מכיל את המילה "Windows", הערך של principal.platform מוגדר כ-"WINDOWS". אם OS מכיל את המחרוזת 'Mac', הערך של principal.platform הוא 'MAC'. אם OS מכיל את הערך "Lin", הערך של principal.platform מוגדר כ-"LINUX". |
Serial Number |
principal.asset.hardware.serial_number |
הערך של Serial Number מוקצה ל-principal.asset.hardware.serial_number. חולץ משדה ההודעה באמצעות grok והוקצה ל-intermediary.hostname. חולץ משדה ההודעה באמצעות grok והוקצה ל-metadata.description. חותמת הזמן מהודעת ה-syslog מנותחת ומוקצית ל-metadata.event_timestamp. הערך "SCAN_UNCATEGORIZED" מוקצה ל-metadata.event_type. הערך "ENDPOINT_PROTECTOR_DLP" מוקצה ל-metadata.log_type. הערך 'ENDPOINT_PROTECTOR_DLP' מוקצה ל-metadata.product_name. הערך 'ENDPOINT_PROTECTOR_DLP' מוקצה ל-metadata.vendor_name. חולץ משדה ההודעה באמצעות grok והוקצה ל-principal.hostname. הערך חולץ משדה ההודעה באמצעות grok והוקצה ל-principal.ip. חותמת הזמן מהודעת ה-syslog מנותחת ומוקצית לשדה timestamp ברמה העליונה. |
Destination |
event.idm.read_only_udm.target.application |
מופה מיומן השינויים |
Matched Item |
event.idm.read_only_udm.target.file.mime_type |
מופה מיומן השינויים |
intermediary_ip |
event.idm.read_only_udm.intermediary.ip |
מופה מיומן השינויים |
server_date |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
client_date |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
server_date_utc |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
client_date_utc |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
pid |
event.idm.read_only_udm.principal.process.pid |
מופה מיומן השינויים |
OS |
event.idm.read_only_udm.principal.platform_version |
מופה מיומן השינויים |
יומן שינויים
צפייה ביומן השינויים של המנתח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.