איסוף יומנים של VyOS
במאמר הזה מוסבר איך להטמיע יומנים של VyOS ב-Google Security Operations באמצעות סוכן Bindplane.
VyOS הוא נתב רשת בקוד פתוח שמפיק הודעות syslog לאירועים בחומת האש, לשינויים בניתוב, לחיבורי VPN ולאירועים במערכת.
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- Windows Server 2016 ואילך, או מארח Linux עם
systemd - קישוריות לרשת בין סוכן Bindplane לבין נתב VyOS
- אם מריצים מאחורי שרת proxy, מוודאים שיציאות חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane
- גישת SSH לנתב VyOS עם הרשאות אדמין
קבלת קובץ אימות להטמעת נתונים ב-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 /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/vyos: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: VYOS raw_log_field: body service: pipelines: logs/vyos_to_chronicle: receivers: - udplog exporters: - chronicle/vyos
פרמטרים להגדרה
מחליפים את ה-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 ב-VyOS
- מתחברים לנתב VyOS באמצעות SSH.
נכנסים למצב הגדרה:
configureמגדירים את מארח ה-syslog המרוחק (מחליפים את
<bindplane-ip>בכתובת ה-IP של סוכן Bindplane):set system syslog host <bindplane-ip> facility all level info set system syslog host <bindplane-ip> port 514 set system syslog host <bindplane-ip> protocol udpמבצעים Commit ושומרים את ההגדרה:
commit save
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
clientIp |
principal.ip |
כתובת ה-IP של הלקוח שחולצה מהודעת ה-DHCP. |
clientMac |
principal.mac |
כתובת ה-MAC של הלקוח שחולצה מהודעת ה-DHCP. |
datetime |
metadata.event_timestamp |
חותמת הזמן שחולצה מהודעת היומן. |
dst_ipaddress |
target.ip |
כתובת ה-IP של היעד שחולצה מהודעת היומן. |
hostname |
observer.hostname |
שם המארח שחולץ מהודעת היומן. הערך נקבע על ידי מנתח התוכן על סמך process ושדות אחרים. הערכים האפשריים הם GENERIC_EVENT, NETWORK_CONNECTION, NETWORK_DHCP או STATUS_UPDATE. הערך מוטמע בקוד כ-VYOS. |
msg |
metadata.description |
ההודעה המקורית מהיומן, או חלק ממנה, בהתאם ללוגיקת הניתוח. הערך שמוגדר הוא 'אירוע DHCP' אם process הוא 'dhcpd'. הערך מוטמע בקוד כ-"VYOS DHCP". הערך מוטמע בקוד כ-VYOS. |
network.dhcp.chaddr |
network.dhcp.chaddr |
כתובת ה-MAC של הלקוח שחולצה מהודעות DHCP. |
network.dhcp.ciaddr |
network.dhcp.ciaddr |
כתובת ה-IP של הלקוח בהודעת DHCPREQUEST. קוד פעולה של הודעת DHCP. מגדירים את הערך 'BOOTREQUEST' עבור DHCPREQUEST ו-DHCPINFORM, ואת הערך 'BOOTREPLY' עבור DHCPACK ו-DHCPNAK. סוג ההודעה של DHCP. הערך נגזר מ-eventType ויכול להיות REQUEST, ACK, INFORM, NAK או OFFER. |
network.dhcp.yiaddr |
network.dhcp.yiaddr |
כתובת ה-IP שלכם (הלקוח) בהודעה מסוג DHCPACK או DHCPOFFER. מגדירים את האפשרות 'DHCP' אם process הוא 'dhcpd'. |
pri_host |
principal.hostname |
שם המארח שמשויך ללקוח בהודעות DHCP. |
rem_msg |
metadata.description |
החלק שנותר בהודעה אחרי הניתוח הראשוני, שמשמש לתיאור במקרים מסוימים. |
src_ipaddress |
principal.ip |
כתובת ה-IP של המקור שחולצה מהודעת היומן. |
timestamp |
event.timestamp |
חותמת הזמן של רשומת היומן. |
יומן שינויים
צפייה ביומן השינויים של מנתח התוכן הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.