איסוף יומנים של Delinea Distributed Engine
גרסת מנתח הנתונים: 1.0
במאמר הזה מוסבר איך להטמיע יומני רישום של Delinea Distributed Engine ב-Google Security Operations באמצעות סוכן Bindplane.
Delinea Distributed Engine מספק קישוריות מאובטחת בין פלטפורמת הענן של Delinea לבין משאבים מקומיים. המנוע יוצר הודעות syslog בפורמט CEF לגבי אירועים שקשורים לגילוי, לסנכרון ולתפעול. הכלי לניתוח מחלץ שדות וממפה אותם למודל הנתונים המאוחד (UDM).
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- Windows Server 2016 ואילך, או מארח Linux עם
systemd - קישוריות רשת בין סוכן Bindplane לבין מנוע מבוזר של Delinea
- אם מריצים את הסוכן מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
- גישה עם הרשאות לממשק המשתמש של Delinea
קבלת קובץ אימות להטמעת נתונים ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings > Collection Agents (הגדרות SIEM > סוכני איסוף).
- מורידים את קובץ האימות להטמעת נתונים.
שומרים את הקובץ בצורה מאובטחת במערכת שבה יותקן סוכן Bindplane.
איך מקבלים את מספר הלקוח ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings > Profile (הגדרות SIEM > פרופיל).
מעתיקים את מזהה הלקוח מהקטע פרטי הארגון ושומרים אותו.
התקנת סוכן Bindplane
מתקינים את סוכן Bindplane במערכת ההפעלה Windows או Linux לפי ההוראות הבאות.
התקנת Windows
- פותחים את שורת הפקודה או את 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 /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
עריכת קובץ התצורה
מחליפים את כל התוכן של
config.yamlבהגדרה הבאה:receivers: tcplog: listen_address: "0.0.0.0:5145" exporters: chronicle/delinea_distributed_engine: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: DELINEA_DISTRIBUTED_ENGINE raw_log_field: body service: pipelines: logs/delinea_distributed_engine_to_chronicle: receivers: - tcplog exporters: - chronicle/delinea_distributed_engine
פרמטרים להגדרה
מחליפים את ה-placeholders הבאים:
הגדרת מקלט:
-
listen_address: כתובת ה-IP והיציאה להאזנה:-
0.0.0.0כדי להאזין בכל הממשקים (מומלץ) - Port
5145היא יציאת ה-syslog שהוגדרה (צריך לשנות לפי הצורך)
-
-
הגדרות של הכלי לייצוא:
-
creds_file_path: הנתיב המלא לקובץ האימות להטמעת נתונים:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
-
customer_id: מספר הלקוח שהועתק ממסוף Google SecOps endpoint: Regional endpoint URL:- ארה"ב:
malachiteingestion-pa.googleapis.com - אירופה:
europe-malachiteingestion-pa.googleapis.com - אסיה:
asia-southeast1-malachiteingestion-pa.googleapis.com - רשימה מלאה מופיעה במאמר בנושא נקודות קצה אזוריות.
- ארה"ב:
-
שמירת קובץ ההגדרות
- אחרי שמסיימים לערוך, שומרים את הקובץ:
- 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 של Delinea
- נכנסים לממשק המשתמש האינטרנטי של פורטל Delinea.
- עוברים אל ניהול > אפליקציה.
- לוחצים על הלחצן עריכה.
- לוחצים על תיבת הסימון Enable Syslog/CEF Log Output (הפעלת פלט של יומן Syslog/CEF). מוצג קטע Syslog.
- מזינים את כתובת ה-IP של סוכן Bindplane.
- מזינים את מספר היציאה של סוכן Bindplane.
- לוחצים על התפריט פרוטוקול ובוחרים באפשרות TCP.
- לוחצים כדי לבחור באפשרות Time Zone list to UTC Time (רשימת אזורי זמן לפי זמן UTC) או באפשרות Server Time (זמן השרת), בהתאם להעדפה.
- לוחצים על התפריט אתר כדי לבחור את האתר הרלוונטי שבו יופעל Syslog/CEF.
- (אופציונלי) בוחרים באפשרות Write Syslogs As Windows Events (כתיבת Syslogs כאירועי Windows) כדי לכתוב ביקורות ומינויים לאירועים ביומן האירועים של Windows.
- לוחצים על Save.
הגדרת רמת היומן עבור מנועים מבוזרים
- נכנסים לממשק המשתמש האינטרנטי של פורטל Delinea.
- עוברים אל ניהול > מנוע מבוזר.
- לוחצים על סמל שלוש הנקודות מעל המנוע הרלוונטי ובוחרים באפשרות הצגת ההגדרות.
- בוחרים בתפריט רמת היומן באפשרות מידע.
- לוחצים על OK.
יומנים לדוגמה של Delinea Distributed Engine שנתמכים
SYSLOG (פורמט קנייני של Delinea)
2024-09-26 21:14:27,369 [CID:] [C:] [TID:PriorityScheduler Elastic Thread @ Normal] INFO Thycotic.DE.Feature.SS.LocalAccountDiscovery.Areas.Discovery.LocalAccountConsumer - server-dummy-01: Send Local Account Results Count: 0 - (null)
טבלת מיפוי UDM
| שדה היומן | מיפוי UDM | לוגיקה |
|---|---|---|
ACTION |
security_result.action |
אם הערך של ACTION_CODE הוא 1, מגדירים את הערך כ-ALLOW. אחרת, אם ACTION_CODE לא ריק, הערך הוא BLOCK. אחרת, ברירת המחדל היא 'UNKNOWN_ACTION' מוקדם יותר בניתוח. |
ACTION_CODE |
security_result.action |
הערך הזה משמש בלוגיקה לקביעת הערך של security_result.action. |
APP_NAME |
network.http.user_agent |
ממופים ישירות. |
BYTES_RECVD |
network.received_bytes |
מיפוי ישיר, המרה למספר שלם לא חתום. |
BYTES_SENT |
network.sent_bytes |
מיפוי ישיר, המרה למספר שלם לא חתום. |
CLOUDGENIX_HOST |
principal.hostname |
ממופה ישירות אם השדה NAME ריק. משמש כשם מארח ביניים אם קיים NAME. |
CODE |
metadata.product_event_type |
התוצאה של שרשור עם FACILITY היא metadata.product_event_type. המאפיין משמש גם לקביעת metadata.event_type (לדוגמה, אם CODE מכיל את הערך DOWN, המאפיין metadata.event_type מוגדר כ-STATUS_SHUTDOWN). |
DESTINATION_ZONE_NAME |
about.labels |
ממופה ישירות כתווית עם המפתח DESTINATION_ZONE_NAME. |
DEVICE_TIME |
metadata.event_timestamp |
ממופה ישירות אחרי הניתוח כתאריך. |
DST_INTERFACE |
target.hostname |
ממופים ישירות. |
DST_IP |
target.ip |
ממופים ישירות. |
DST_PORT |
target.port |
מופה ישירות, מומר למספר שלם. |
ELEMENT_ID |
about.labels |
ממופה ישירות כתווית עם המפתח ELEMENT_ID. |
EVENT_TIME |
metadata.event_timestamp |
ממופה ישירות אחרי הניתוח כתאריך. |
FACILITY |
metadata.product_event_type |
התוצאה של שרשור עם CODE היא metadata.product_event_type. |
FLOW_EVENT |
security_result.summary |
משמש כחלק מהמחרוזת security_result.summary. |
IDENTIFIER |
about.labels |
ממופה ישירות כתווית עם המפתח IDENTIFIER. |
ION_HOST |
principal.hostname |
ממופים ישירות אם השדות CLOUDGENIX_HOST ו-NAME ריקים. |
MSG |
metadata.description |
ממופים ישירות. היא משמשת גם להתאמה לביטוי רגולרי כדי לקבוע את metadata.event_type ולחלץ את target.ip. |
NAME |
principal.hostname |
ממופים ישירות. אם הפרמטר קיים, הערך שלו CLOUDGENIX_HOST הופך לערך של intermediary.hostname. |
PROCESS_NAME |
principal.process.file.full_path |
ממופים ישירות. |
PROTOCOL_NAME |
network.ip_protocol |
ממופה ישירות, מומר לאותיות רישיות. |
REMOTE_HOSTNAME |
target.hostname |
ממופים ישירות. |
REMOTE_IP |
target.ip |
ממופים ישירות. |
RULE_NAME |
security_result.rule_name |
ממופים ישירות. |
SEVERITY |
security_result.severity, security_result.severity_details |
ממופה ל-security_result.severity_details. הפרמטר משמש גם לקביעת security_result.severity (לדוגמה, אם SEVERITY הוא 'קטין', security_result.severity מוגדר כ-'LOW'). |
SOURCE_ZONE_NAME |
about.labels |
ממופה ישירות כתווית עם המפתח SOURCE_ZONE_NAME. |
SRC_INTERFACE |
principal.hostname |
ממופים ישירות. |
SRC_IP |
principal.ip |
ממופים ישירות. |
SRC_PORT |
principal.port |
מופה ישירות, מומר למספר שלם. |
VPN_LINK_ID |
target.resource.id |
ממופים ישירות. |
| (Parser Logic) | is_alert |
הערך מוגדר כ-true אם log_type הוא alert או alarm. |
| (Parser Logic) | is_significant |
הערך מוגדר כ-true אם log_type הוא alert או alarm. |
| (Parser Logic) | metadata.event_type |
הערך נקבע על ידי סדרה של משפטי תנאי שמבוססים על הערכים של CODE, MSG, src_ip ו-dest_ip. ברירת המחדל היא GENERIC_EVENT. |
| (Parser Logic) | metadata.log_type |
מגדירים את הערך CLOUDGENIX_SDWAN. |
| (Parser Logic) | metadata.product_event_type |
ברירת המחדל היא שרשור של CODE ו-FACILITY. מגדירים את הערך cgxFlowLogV1 ליומני תעבורה. |
| (Parser Logic) | metadata.product_name |
ההגדרה היא CloudGenix SD-WAN. |
| (Parser Logic) | metadata.vendor_name |
הערך שמוגדר הוא Palo Alto Networks. |
| (Parser Logic) | principal.process.pid |
הערך שמוגדר הוא pid מיומן הגולמי של יומני התנועה. |
| (Parser Logic) | security_result.action |
ברירת המחדל היא UNKNOWN_ACTION. |
| (Parser Logic) | security_result.severity |
ברירת המחדל היא UNKNOWN_SEVERITY. הגדרה לפי הערך של SEVERITY. מגדירים את הערך INFORMATIONAL (מידע) ליומני זרימת נתונים. |
| (Parser Logic) | security_result.summary |
ההגדרה מבוססת על הערך של CODE בהודעות syslog. הערך מוגדר למחרוזת תיאורית שכוללת את FLOW_EVENT, SRC_IP ו-DST_IP עבור יומני זרימת נתונים. |
שנה רישום
צפייה ביומן השינויים של כלי הניתוח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.