איסוף יומנים של מתגים של Extreme Networks
גרסת כלי הניתוח: 2.0
במסמך הזה מוסבר איך להטמיע יומנים של מתגי Extreme Networks ב-Google Security Operations באמצעות סוכן Bindplane.
מתגי Extreme Networks יוצרים הודעות syslog לשינויים בסטטוס של יציאות, לאירועי SLPP, לאימות משתמשים, לפעולות VLAN ולאירועי מערכת. הכלי לניתוח מחלץ שדות מ-syslog בפורמט RFC-5424 וממפה אותם למודל הנתונים המאוחד (UDM).
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- Windows Server 2016 ואילך, או מארח Linux עם
systemd - קישוריות רשת בין סוכן Bindplane לבין מתג Extreme Networks
- אם מריצים מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
- גישת פריבילגיה ל-CLI של מתג Extreme Networks
קבלת קובץ אימות להטמעת נתונים ב-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/extreme_switch: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: EXTREME_SWITCH raw_log_field: body service: pipelines: logs/extreme_switch_to_chronicle: receivers: - udplog exporters: - chronicle/extreme_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מוודאים שהשירות פועל:
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 במתג של Extreme Networks
- נכנסים למתג באמצעות CLI או Console.
מזינים את פקודת ההגדרה כדי לגשת לרמת ההגדרה הגלובלית:
device# configure terminalמזינים את הפקודה של כתובת ה-IP של שרת ה-syslog כדי להוסיף שרת syslog:
- מחליפים את
<bindplane_ip>בכתובת ה-IP של סוכן Bindplane.
logging syslog-server <bindplane_ip>- מחליפים את
מזינים את פקודת הפורמט כדי להגדיר את הפורמט RFC-5424 להודעות:
format RFC-5424
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
account_type |
target.user.user_role |
אם הערך של account_type הוא 'אדמין' או 'Administrative', צריך להגדיר את הערך 'ADMINISTRATOR'. אחרת, ממפים אל target.user.attribute.roles.name. |
application |
target.application |
ממופים ישירות. |
attr |
additional.fields |
הערך מנותח כדי לחלץ את ה-WWN וליצור צמד מפתח/ערך עם המפתח wwn וה-WWN שחולץ בתור ערך המחרוזת. |
class |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח class והערך של השדה class כערך המחרוזת. |
Cause |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח Cause והערך של השדה Cause בתור ערך המחרוזת. אם לא קיימים שדות אימות ספציפיים, נוצר אובייקט ריק. |
Info |
security_result.summary |
ממופים ישירות. |
interface |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח interface והערך של השדה interface בתור ערך המחרוזת. |
ip |
principal.ip |
ממופים ישירות. |
intermediary_ip |
intermediary.ip |
ממופים ישירות. |
kv_data |
שונים | השימוש הוא כדי לחלץ צמדי מפתח/ערך ולמפות אותם לשדות שונים ב-UDM על סמך המפתח. לדוגמה, VrIpAddr ממופה ל-intermediary.ip, IP ו-Addr ממופים ל-principal.ip, SlppRxPort ממופה ל-principal.port, ושדות שונים של rc* ממופים ל-security_result.detection_fields. |
log_data |
שונים | הניתוח מתבצע כדי לחלץ מידע על התחברויות והתנתקויות של משתמשים ועל אירועים אחרים. הערך הזה משמש לאכלוס שדות כמו principal.ip, principal.resource.name, target.user.userid, target.application, security_result.summary, security_result.description ו-metadata.description. |
log_type |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח log והערך של השדה log_type כמחרוזת. |
message |
שונים | הודעת היומן המקורית. הניתוח מתבצע כדי לחלץ שדות שונים. חותמת הזמן מחולצת מהשדה timestamp (אם הוא קיים ובפורמט yyyy-mm-ddTHH:mm:ss) או מהשדה message באמצעות תבניות grok. אם הערך חולץ משדה ההודעה, זו חותמת הזמן בתוך הודעת היומן עצמה. הערך נקבע על סמך הנוכחות של הדגלים has_principal, has_target, user_login ו-user_logout. הערך יכול להיות USER_LOGIN, USER_LOGOUT, STATUS_UPDATE או GENERIC_EVENT. ממופה מהשדה msgid. ערך סטטי: EXTREME_SWITCH. ממופה מהשדה ver. ערך סטטי: EXTREME_SWITCH. |
msgid |
metadata.product_log_id |
ממופים ישירות. |
port |
principal.port |
מופה ישירות והומר למספר שלם. |
protocol |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח Protocol והערך של השדה protocol כמחרוזת. |
rcPortVLacpAdminEnable |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח rcPortVLacpAdminEnable והערך שלו. |
rcSyslogHostAddress |
principal.hostname |
ממופים ישירות. |
rcSyslogHostAddressType |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח rcSyslogHostAddressType והערך שלו. |
rcSyslogHostEnable |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח rcSyslogHostEnable והערך שלו. |
rcSyslogHostFacility |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח rcSyslogHostFacility והערך שלו. |
rcSyslogHostMapErrorSeverity |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח rcSyslogHostMapErrorSeverity והערך שלו. |
rcSyslogHostMapFatalSeverity |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח rcSyslogHostMapFatalSeverity והערך שלו. |
rcSyslogHostMapInfoSeverity |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח rcSyslogHostMapInfoSeverity והערך שלו. |
rcSyslogHostMapWarningSeverity |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח rcSyslogHostMapWarningSeverity והערך שלו. |
rcSyslogHostRowStatus |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח rcSyslogHostRowStatus והערך שלו. |
rcSyslogHostSeverity |
security_result.detection_fields |
יוצר צמד מפתח/ערך עם המפתח rcSyslogHostSeverity והערך שלו. |
resource |
principal.resource.name |
ממופים ישירות. |
sec_description |
security_result.description |
ממופים ישירות. |
seqnum |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח seqnum והערך של השדה seqnum בתור ערך המחרוזת. |
session_id |
network.session_id |
ממופים ישירות. |
severity |
security_result.severity |
מיפוי עם המרה: הערכים 'קריטי', 'שגיאה' ו'גבוה' ממופים ישירות; הערך 'מידע' ממופה לערך 'מידע'; הערך 'אזהרה' ממופה לערך 'בינוני'; הערכים 'נמוך', 'בינוני' ו'מידע' ממופים ישירות. |
SlppIncomingVlanId |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח SlppIncomingVlanId והערך של השדה SlppIncomingVlanId בתור ערך המחרוזת. |
SlppRxVlan |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח SlppRxVlan והערך של השדה SlppRxVlan בתור ערך המחרוזת. |
SlppSrcMacAddress |
principal.mac |
ממופים ישירות. |
Status |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח Status והערך של השדה Status כערך המחרוזת. |
swname |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח swname והערך של השדה swname כמחרוזת. |
timestamp |
metadata.event_timestamp |
מנותח ומומר לאובייקט של חותמת זמן. |
tz |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח tz והערך של השדה tz בתור ערך המחרוזת. |
Type |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח Type והערך של השדה Type בתור ערך המחרוזת. |
username |
target.user.userid |
ממופים ישירות. |
ver |
metadata.product_version |
ממופים ישירות. |
VrId |
additional.fields |
יוצר צמד מפתח/ערך עם המפתח VrId והערך של השדה VrId בתור ערך המחרוזת. |
protocol", "VrId", "SlppRxVlan", "SlppIncomingVlanId", "Type", "Cause |
additional.fields |
מופה מיומן השינויים |
ver |
metadata.version |
מופה מיומן השינויים |
rcPortVLacpAdminEnable", "rcSyslogHostMapFatalSeverity", "rcSyslogHostMapWarningSeverity", "rcSyslogHostRowStatus", "rcSyslogHostFacility", "rcSyslogHostAddressType", "rcSyslogHostMapErrorSeverity", "rcSyslogHostMapInfoSeverity", "rcSyslogHostSeverity", "rcSyslogHostEnable |
security_result.detection_fields |
מופה מיומן השינויים |
יומן שינויים
צפייה ביומן השינויים של מנתח התוכן הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.