איסוף יומנים של מתג Brocade
גרסת כלי הניתוח: 5.0
במסמך הזה מוסבר איך להטמיע יומנים של מתג Brocade ב-Google Security Operations באמצעות סוכן Bindplane.
מתגי Brocade (מתגי Fibre Channel SAN) יוצרים הודעות syslog לאירועים ברשת, לשינויים באזור, לפעילות של התחברות/התנתקות ולאירועים במערכת. הכלי לניתוח מחלק את השדות וממפה אותם למודל הנתונים המאוחד (UDM).
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- Windows Server 2016 ואילך, או מארח Linux עם
systemd - קישוריות לרשת בין סוכן Bindplane לבין מתג Brocade
- אם מריצים מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
- הרשאת אדמין למתג Brocade באמצעות SSH או Telnet
קבלת קובץ אימות להטמעת נתונים ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings > Collection Agents.
- הורדה של קובץ אימות להטמעת נתונים
שומרים את הקובץ בצורה מאובטחת במערכת שבה יותקן סוכן 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: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/brocade_switch: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: BROCADE_SWITCH raw_log_field: body service: pipelines: logs/brocade_switch_to_chronicle: receivers: - udplog exporters: - chronicle/brocade_switch
פרמטרים להגדרה
מחליפים את ה-placeholders הבאים:
הגדרת מקלט:
-
listen_address: כתובת ה-IP והיציאה להאזנה:-
0.0.0.0כדי להאזין בכל הממשקים (מומלץ) - יציאה
514היא יציאת syslog רגילה (נדרשת הרשאת root ב-Linux; אפשר להשתמש ב-1514ללא הרשאת root)
-
-
הגדרת כלי הייצוא:
-
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: כתובת ה-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מוודאים שהשירות פועל:
```bash sudo systemctl status observiq-otel-collector ```בודקים אם יש שגיאות ביומנים:
```bash 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 ממתג Brocade
- מתחברים למתג Brocade באמצעות SSH או Telnet עם פרטי הכניסה המתאימים.
מריצים את הפקודה הבאה כדי לציין את כתובת ה-IP ואת היציאה של שרת syslog (Bindplane):
syslogadmin --set -ip <BINDPLANE_IP> -port 514מריצים את הפקודה הבאה כדי להציג את שרתי ה-syslog שהוגדרו:
syslogadmin --show -ip
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
application |
additional.fields[].key: "application"additional.fields[].value.string_value: |
הערך שחולץ מהשדה application@1588 ביומן הגולמי, כשהשדה KV_DATA קיים. |
class |
additional.fields[].key: "class"additional.fields[].value.string_value: |
הערך שחולץ מהשדה class@1588 ביומן הגולמי, אם השדה KV_DATA קיים. |
domain |
principal.administrative_domain |
הערך שחולץ מהתאמת תבנית ה-grok לשדה domain. |
Event |
additional.fields[].key: "event_category"additional.fields[].value.string_value: |
הערך שחולץ מהשדה arg0@1588 ביומן הגולמי, אם השדה KV_DATA קיים. |
event_id |
metadata.product_log_id |
הערך שחולץ מהתאמת תבנית ה-grok לשדה event_id. |
event_type |
metadata.product_event_type |
הערך שחולץ מדפוס ה-grok שתואם לשדה event_type. |
flags |
additional.fields[].key: "flags"additional.fields[].value.string_value: |
הערך שחולץ מהתאמת תבנית ה-grok לשדה flags. |
Info |
metadata.description |
הערך שחולץ מהשדה Info, מנותח באמצעות grok. |
interface |
app_protocol_src |
הערך שחולץ מהשדה interface@1588 ביומן הגולמי, אם השדה KV_DATA קיים. משמש לחישוב network.application_protocol. |
ip |
principal.ip |
הערך שחולץ מהשדה ip, מנותח באמצעות grok. הערך ימוזג לתוך principal.ip אם הוא לא זהה לכתובת ה-IP שחולצה מהשדה Info. |
Info, IP Addr |
principal.ip |
הערך שחולץ מהשדה IP Addr בשדה Info, אחרי ניתוח באמצעות grok. |
log |
additional.fields[].key: "log"additional.fields[].value.string_value: |
הערך שחולץ מהשדה log@1588 ביומן הגולמי, אם השדה KV_DATA קיים. |
msg |
metadata.description |
הערך שחולץ מהשדה msg, מנותח באמצעות grok. |
msgid |
additional.fields[].key: "msgid"additional.fields[].value.string_value: |
הערך שחולץ מהשדה msgid@1588 ביומן הגולמי, אם השדה KV_DATA קיים. |
prin_host |
principal.hostnameprincipal.asset.hostname |
הערך שחולץ מהתאמת תבנית ה-grok לשדה prin_host. |
product_version |
metadata.product_version |
הערך שחולץ מדפוס ה-grok שתואם לשדה product_version. |
repeat_count |
additional.fields[].key: "repeat_count"additional.fields[].value.string_value: |
הערך שחולץ מהשדה msg, מנותח באמצעות grok. |
role, user_role |
principal.user.attribute.roles[].name |
הערך שחולץ מהשדה role@1588 או user_role. אם הערך הוא admin, הוא מוחלף ב-Admin. |
sequence_number |
additional.fields[].key: "sequence_number"additional.fields[].value.string_value: |
הערך שחולץ מדפוס ה-grok שתואם לשדה sequence_number. |
severity |
security_result.severity |
הערך שחולץ מהשדה severity, מנותח באמצעות grok. ממופה לערכי חומרה של UDM (INFORMATIONAL, ERROR, CRITICAL, MEDIUM). |
Status |
security_result.summary |
הערך שחולץ מהשדה Status. |
switch_name |
additional.fields[].key: "switch_name"additional.fields[].value.string_value: |
הערך שחולץ מדפוס ה-grok שתואם לשדה switch_name. |
target_application |
target.application |
הערך שחולץ מדפוס ה-grok שתואם לשדה target_application. |
time |
additional.fields[].key: "time"additional.fields[].value.string_value: |
הערך שחולץ מהשדה time בשדה kv_data3. |
timestamp |
metadata.event_timestamp.seconds |
הערך שחולץ מהשדה timestamp, מנותח באמצעות מסנן התאריכים. |
user |
principal.user.useridprincipal.user.user_display_name |
הערך שחולץ מהשדה user או user@1588, מנותח באמצעות grok. הועתק מ-principal.hostname. הועתק מ-principal.ip. הועתק מ-metadata.product_event_type או שהוגדר כ-STATUS_UPDATE על סמך תנאים. הועתק מcreate_time.nanos ביומן. נקבע על ידי הלוגיקה של מנתח התוכן על סמך הערכים של has_principal, has_target, has_userid ו-event_type. הערך יכול להיות SYSTEM_AUDIT_LOG_UNCATEGORIZED, STATUS_UPDATE או GENERIC_EVENT. הערך מוטמע בקוד כ-BROCADE_SWITCH. הערך מוטמע כ-BROCADE. הערך מוטמע בקוד כ-BROCADE_SWITCH. הערך נגזר מהשדה interface או מוגדר כ-SSH אם השדה interface מכיל SSH. |
CLI |
event.idm.read_only_udm.metadata.description |
מופה מיומן השינויים |
prin_host |
event.idm.read_only_udm.intermediary.hostname |
מופה מיומן השינויים |
יומן שינויים
צפייה ביומן השינויים של מנתח התוכן הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.