איסוף יומנים של פלטפורמת Onapsis
במאמר הזה מוסבר איך להטמיע יומנים של Onapsis Platform ב-Google Security Operations באמצעות Bindplane.
פלטפורמת Onapsis היא פתרון לאבטחת סייבר שמתמחה בהגנה על אפליקציות קריטיות לעסק, כמו SAP ו-Oracle. הפתרון מספק ניטור רציף, ניהול פגיעויות, ביקורת תאימות וזיהוי איומים למערכות ERP. הוא מספק תובנות מעמיקות שספציפיות לאפליקציות, כדי לעזור לארגונים לאבטח סביבות מורכבות מפני איומי סייבר, הגדרות שגויות וגישה לא מורשית.
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- Windows Server 2016 ואילך, או מארח Linux עם
systemd - קישוריות רשת בין סוכן Bindplane לבין Onapsis Platform
- אם מריצים את הסוכן מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
- גישה עם הרשאות מיוחדות למסוף Onapsis Platform
- מוצר Onapsis Defend למעקב אחרי איומים בזמן אמת וליצוא של syslog
קבלת קובץ אימות להטמעת נתונים ב-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 agent להטמעה של syslog ושליחה אל Google SecOps
איתור קובץ התצורה
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
עריכת קובץ התצורה
מחליפים את כל התוכן של
config.yamlבהגדרה הבאה:receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/onapsis: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'YOUR_CUSTOMER_ID' endpoint: malachiteingestion-pa.googleapis.com log_type: ONAPSIS raw_log_field: body ingestion_labels: env: production source: onapsis_defend service: pipelines: logs/onapsis_to_chronicle: receivers: - udplog exporters: - chronicle/onapsis
פרמטרים להגדרה
מחליפים את ה-placeholders הבאים:
הגדרת מקלט:
-
listen_address: מוגדר ל-0.0.0.0:514כדי להאזין לכל הממשקים ביציאת UDP 51. אם נדרשות הרשאות root ב-Linux כדי להשתמש ביציאה 514, צריך להשתמש ב-0.0.0.0:1514ולהגדיר את Onapsis לשליחה ליציאה 1514.
-
הגדרות של הכלי לייצוא:
-
creds_file_path: הנתיב המלא לקובץ האימות להטמעת נתונים:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
-
YOUR_CUSTOMER_ID: מחליפים את הערך במספר הלקוח שלכם ב-Chronicle מהשלב הקודם endpoint: Regional endpoint URL:- ארה"ב:
malachiteingestion-pa.googleapis.com - אירופה:
europe-malachiteingestion-pa.googleapis.com - אסיה:
asia-southeast1-malachiteingestion-pa.googleapis.com - רשימה מלאה מופיעה במאמר בנושא נקודות קצה אזוריות.
- ארה"ב:
-
log_type: מוגדר ל-ONAPSIS(תווית להעברה ל-Chronicle) -
ingestion_labels: תוויות אופציונליות לסיווג יומנים (אפשר להתאים אישית לפי הצורך)
-
שמירת קובץ ההגדרות
- אחרי שמסיימים לערוך, שומרים את הקובץ:
- 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 ב-Onapsis Platform
הגדרת Onapsis Platform להעברת יומנים של אירועי אבטחה וניטור איומים לסוכן Bindplane באמצעות syslog.
- נכנסים למסוף Onapsis Platform.
- עוברים אל הגדרות > שילובים.
- בקטע Integrations (שילובים), מאתרים את אפשרות השילוב Syslog.
- לוחצים על הוספה או על הגדרה כדי ליצור יעד חדש של syslog.
- מספקים את פרטי ההגדרה הבאים:
- כתובת שרת Syslog: מזינים את כתובת ה-IP או את שם המארח של סוכן Bindplane (לדוגמה,
192.168.1.100). - יציאה: מזינים
514(או1514אם הגדרתם את סוכן Bindplane להשתמש ביציאה לא מורשית). - פרוטוקול: בוחרים באפשרות UDP (או TCP אם הגדרתם את סוכן Bindplane לשימוש ב-TCP).
- פורמט: בוחרים באפשרות Syslog (פורמט Syslog רגיל) או באפשרות LEEF (פורמט מורחב של אירועי יומן) אם משלבים עם מערכות שתואמות ל-IBM QRadar.
- כתובת שרת Syslog: מזינים את כתובת ה-IP או את שם המארח של סוכן Bindplane (לדוגמה,
- לוחצים על שמירה או על החלה כדי להפעיל את הגדרת הייצוא של syslog.
כדי לוודא שהיומנים נשלחים, בודקים את היומנים של סוכן Bindplane:
Linux:
sudo journalctl -u observiq-otel-collector -fWindows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
טבלת מיפוי UDM
| שדה היומן | מיפוי UDM | לוגיקה |
|---|---|---|
| bucket | additional.fields | נוספו כתוויות עם מפתחות שנגזרים משדות המקור |
| task_sent | additional.fields | |
| sub_path | additional.fields | |
| facilityName | additional.fields | |
| source_version | additional.fields | |
| db_table | additional.fields | |
| incident_type | additional.fields | |
| incident_name | additional.fields | |
| program_name | additional.fields | |
| task_type | additional.fields | |
| policy_id | additional.fields | |
| name | additional.fields | |
| authentication_method | additional.fields | |
| alarm_profile_matches | additional.fields | |
| לקוח | additional.fields | |
| db_table_pk | additional.fields | |
| system_type | additional.fields | |
| log_line | additional.fields | |
| פעולה | additional.fields | |
| task_id | additional.fields | |
| job_name | additional.fields | |
| job_id | additional.fields | |
| osp_link | additional.fields | |
| sid | additional.fields | |
| description | metadata.description | הערך מהתיאור אם הוא לא ריק, אחרת הערך הוא 'העלאה' אם log_data תואם ל-'העלאה', 'Celery task sent' אם הוא תואם ל-'Celery task sent', 'Calling ModuleApi.put' אם הוא תואם ל-'Calling ModuleApi.put', אחרת הערך הוא מ-job_type |
| log_data | metadata.description | |
| job_type | metadata.description | |
| created_at | metadata.event_timestamp | ההמרה בוצעה באמצעות תאריך בפורמט yyyy-mm-ddTHH:mm:ss |
| has_principal | metadata.event_type | הערך הוא NETWORK_UNCATEGORIZED אם has_principal, has_target ו-has_network הם true; הערך הוא STATUS_UPDATE אם has_principal הוא true; אחרת, הערך הוא GENERIC_EVENT. |
| has_target | metadata.event_type | |
| has_network | metadata.event_type | |
| http_method | network.http.method | הערך הועתק ישירות |
| url | network.http.referral_url | הערך הועתק ישירות |
| response_code | network.http.response_code | הומר למספר שלם |
| אפליקציה | principal.application | הערך הועתק ישירות |
| מארח | principal.hostname | הערך מהמארח אם הוא לא כתובת IP, אחרת הערך מהמקור, אחרת הערך מה-terminal_source אם הוא לא כתובת IP |
| src | principal.hostname | |
| terminal_source | principal.hostname | |
| מארח | principal.ip | מוזג מהמארח אם IP, erp_host, terminal_source אם IP |
| erp_host | principal.ip | |
| terminal_source | principal.ip | |
| asset_name | principal.resource.name | הערך הועתק ישירות |
| user_type | principal.user.role_name | הערך הועתק ישירות |
| user_name | principal.user.user_display_name | ערך מ-user_name, שמוזג עם שם המשתמש |
| שם משתמש | principal.user.user_display_name | |
| user_id | principal.user.userid | הערך הועתק ישירות |
| מודולים | security_result.detection_fields | מיזוג תוויות ממפת המודולים, מפת הפגיעויות, new_state |
| נקודות חולשה | security_result.detection_fields | |
| new_state | security_result.detection_fields | |
| severityName | security_result.severity | הערך הוא INFORMATIONAL אם severityName הוא אחד מהערכים ['INFO', 'info] |
| file_name | target.file.full_path | הערך הועתק ישירות |
| dst | target.hostname | הערך הועתק ישירות |
| metadata.product_name | metadata.product_name | הגדרה כ-ONAPSIS |
| metadata.vendor_name | metadata.vendor_name | הגדרה כ-ONAPSIS |
conditions.condition_id |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
conditions.eval_value.success |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
conditions.matched |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
erp_event_source |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
erp_time |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
protocol |
event.idm.read_only_udm.additional.fields |
מופה מיומן השינויים |
confidence |
event.idm.read_only_udm.security_result.confidence_details |
מופה מיומן השינויים |
severity |
event.idm.read_only_udm.security_result.severity_details |
מופה מיומן השינויים |
success |
event.idm.read_only_udm.security_result.action |
מופה מיומן השינויים |
inter_ip |
event.idm.read_only_udm.intermediary.ip וגם event.idm.read_only_udm.intermediary.asset.ip |
מופה מיומן השינויים |
שנה רישום
צפייה ביומן השינויים של כלי הניתוח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.