איסוף יומנים של Sangfor Proxy
במאמר הזה מוסבר איך להטמיע יומנים של Sangfor Proxy ב-Google Security Operations באמצעות סוכן Bindplane.
Sangfor IAG (שער לגישה לאינטרנט), שמופיע ב-Chronicle בתור Sangfor Proxy, הוא שער אבטחה לאינטרנט שמספק סינון כתובות URL, הגנה מפני איומים ובקרה על הגישה לאינטרנט. הכלי לניתוח מחלץ שדות מיומני Sangfor Proxy וממפה אותם למודל הנתונים המאוחד (UDM), ומתעד חיבורים לרשת, זהות משתמש, תשובות DNS ומטא-נתונים של אבטחה.
לפני שמתחילים
חשוב לוודא שמתקיימות הדרישות המוקדמות הבאות:
- מופע של Google SecOps
- Windows Server 2016 ואילך, או מארח Linux עם
systemd - קישוריות רשת בין סוכן Bindplane לבין מכשיר Sangfor IAG
- אם השרת פועל מאחורי שרת proxy, צריך לוודא שהיציאות של חומת האש פתוחות בהתאם לדרישות של סוכן Bindplane.
- גישת אדמין למסוף הניהול של Sangfor IAG
קבלת קובץ אימות להטמעת נתונים ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings > Collection Agents.
- מורידים את קובץ האימות להטמעת נתונים.
שומרים את הקובץ בצורה מאובטחת במערכת שבה תותקן Bindplane.
איך מוצאים את מספר הלקוח ב-Google SecOps
- נכנסים למסוף Google SecOps.
- עוברים אל SIEM Settings > Profile (הגדרות SIEM > פרופיל).
מעתיקים את מספר הלקוח מהקטע פרטי הארגון ושומרים אותו.
התקנת סוכן Bindplane
מתקינים את הסוכן של Bindplane במערכת ההפעלה Windows או Linux לפי ההוראות הבאות.
התקנת חלונות
- פותחים את שורת הפקודה או את 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השירות אמור להופיע כ-active (running).
מקורות מידע נוספים להתקנה
אפשרויות התקנה נוספות ופתרון בעיות מפורטים במדריך להתקנת סוכן 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/sangfor_proxy: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: SANGFOR_PROXY raw_log_field: body service: pipelines: logs/sangfor_proxy: receivers: - udplog exporters: - chronicle/sangfor_proxy
פרמטרים להגדרה
מחליפים את ה-placeholders הבאים:
הגדרת מקלט:
-
udplog: סוג הנמען לפי הפרוטוקול:udplogעבור UDP syslog-
tcplogfor TCP syslog -
syslogעבור syslog RFC 3164/5424
-
0.0.0.0: כתובת ה-IP להאזנה:-
0.0.0.0כדי להאזין בכל הממשקים (מומלץ) - כתובת IP ספציפית להאזנה בממשק אחד
-
-
514: מספר היציאה להאזנה (לדוגמה,514, 1514, 6514)
-
הגדרת הייצוא:
-
<customer_id>: מספר הלקוח מהשלב הקודם -
malachiteingestion-pa.googleapis.com: כתובת ה-URL של נקודת הקצה האזורית:- ארה"ב:
malachiteingestion-pa.googleapis.com - אירופה:
europe-malachiteingestion-pa.googleapis.com - אסיה:
asia-southeast1-malachiteingestion-pa.googleapis.com - רשימה מלאה מופיעה במאמר בנושא נקודות קצה אזוריות.
- ארה"ב:
- משנים את
creds_file_pathבהתאם לפלטפורמה:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
-
שמירת קובץ התצורה
- אחרי שמסיימים לערוך, שומרים את הקובץ:
- 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 ב-Sangfor IAG
- נכנסים למסוף הניהול של Sangfor IAG.
- עוברים אל System > Log Settings > Syslog (מערכת > הגדרות יומן > Syslog).
- מפעילים את ההעברה של Syslog.
- מספקים את פרטי ההגדרה הבאים:
- כתובת השרת: מזינים את כתובת ה-IP של המארח של סוכן Bindplane (לדוגמה,
192.168.1.100). - יציאה: מזינים
514(חייבת להתאים ליציאת המקלט של Bindplane). - Protocol: בוחרים באפשרות UDP (צריך להתאים לסוג המקלט של Bindplane).
- כתובת השרת: מזינים את כתובת ה-IP של המארח של סוכן Bindplane (לדוגמה,
- בוחרים את קטגוריות היומנים שרוצים להעביר (לדוגמה, סינון כתובות URL, הגנה מפני איומים, יומני תנועה).
- לוחצים על Save.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | היגיון |
|---|---|---|
| log_type,serv,net_action,url,title,snapshot,risk_level,identify,category,family,nProtocol,ioc_id | additional.fields | המיזוג מתבצע עם תוויות שמכילות את המפתח ואת string_value מכל שדה מקור |
| record_time | metadata.event_timestamp | ההמרה בוצעה באמצעות התאמת תאריך לפי RFC 3339 |
| metadata.event_type | הערך הוא NETWORK_CONNECTION אם יש has_principal ו-has_target, אחרת הערך הוא STATUS_UPDATE אם יש has_principal, אחרת הערך הוא USER_UNCATEGORIZED אם יש has_user, אחרת הערך הוא GENERIC_EVENT | |
| metadata.product_name | ההגדרה היא SANGFOR_PROXY | |
| metadata.vendor_name | צריך להגדיר את הערך "SANGFOR_PROXY" | |
| dns | network.dns.answers | מוזג עם dns_answers שמכיל נתונים מ-dns |
| down_flux | network.received_bytes | הומר ל-uinteger |
| up_flux | network.sent_bytes | הומר ל-uinteger |
| מארח | principal.asset.hostname | הערך הועתק ישירות |
| host_ip | principal.asset.ip | הערך הועתק ישירות |
| קבוצה | principal.group.group_display_name | הערך הועתק ישירות |
| מארח | principal.hostname | הערך הועתק ישירות |
| host_ip | principal.ip | הערך הועתק ישירות |
| src_port | principal.port | הומר למספר שלם |
| שם משתמש | principal.user.userid | הערך הועתק ישירות |
| וירוס | security_result.detection_fields | השדה אוחד עם virus_field שמכיל את המפתח virus ואת הערך מ-virus |
| אפליקציה | target.application | הערך הועתק ישירות |
| dst_ip | target.asset.ip | הערך הועתק ישירות |
| dst_ip | target.ip | הערך הועתק ישירות |
| tm_type | target.platform | אם יש התאמה ל-"Win", מגדירים את הערך "WINDOWS". אם יש התאמה ל-"Mac", מגדירים את הערך "MAC". אם יש התאמה ל-"Linux", מגדירים את הערך "LINUX". |
| יציאה | target.port | הומר למספר שלם |
| file_name | target.process.file.full_path | הערך הועתק ישירות |
| file_type | target.process.file.mime_type | הערך הועתק ישירות |
| אתר | target.resource.attribute.labels | מוזג עם site_label שמכיל את המפתח "site" ואת הערך מהאתר |
יומן שינויים
צפייה ביומן השינויים של המנתח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.