איסוף יומנים של Synology
המנתח הזה מחלץ שדות מהודעות SYSLOG של Synology באמצעות תבניות grok, וממפה אותן ל-UDM. הוא מטפל בפורמטים שונים של יומנים, מזהה כניסות של משתמשים וגישה למשאבים, ומסווג אירועים על סמך מילות מפתח, תוך העשרת הנתונים במידע על ספקים ומוצרים.
לפני שמתחילים
ודאו שאתם עומדים בדרישות המוקדמות הבאות:
- מופע של Google SecOps.
- גישה עם הרשאות ל-Synology DSM.
הגדרת פידים
כדי להגדיר פיד:
- עוברים אל הגדרות > ניהול נתונים > פידים. אם אתם משתמשים בפלטפורמה של SIEM בלבד, עוברים אל הגדרות > פידים.
- לוחצים על הוספת פיד חדש.
- בדף הבא, לוחצים על הגדרת פיד יחיד.
- בשדה Feed name, נותנים שם לפיד, למשל Synology Logs.
- בוחרים באפשרות Webhook בתור סוג המקור.
- בוחרים באפשרות Synology בתור סוג היומן.
- לוחצים על הבא.
- אופציונלי: מציינים ערכים לפרמטרים הבאים של הקלט:
- Split delimiter: התו המשמש להפרדה בין שורות ביומן, כמו
\n. - מרחב השמות של הנכס: מרחב השמות של הנכס.
- תוויות הטמעה: התווית שנוספה לאירועים מהפיד הזה.
- Split delimiter: התו המשמש להפרדה בין שורות ביומן, כמו
- לוחצים על הבא.
- בודקים את הגדרות הפיד במסך סיום ולוחצים על שליחה.
- לוחצים על יצירת מפתח סודי כדי ליצור מפתח סודי לאימות הפיד הזה.
- מעתיקים את המפתח הסודי ושומרים אותו. לא תוכלו לראות שוב את המפתח הסודי הזה. במקרה הצורך, אפשר ליצור מחדש מפתח סודי, אבל הפעולה הזו מבטלת את המפתח הסודי הקודם.
- בכרטיסייה פרטים, מעתיקים את כתובת ה-URL של נקודת הקצה של הפיד מהשדה פרטי נקודת הקצה. צריך לציין את כתובת ה-URL של נקודת הקצה הזו באפליקציית הלקוח.
- לוחצים על סיום.
יצירת מפתח API לפיד ה-Webhook
נכנסים לדף CredentialsGoogle Cloud במסוף >.
לוחצים על Create credentials ואז על מפתח API.
מגבילים את הגישה של מפתח ה-API ל-Google Security Operations API.
מציינים את כתובת ה-URL של נקודת הקצה
- באפליקציית הלקוח, מציינים את כתובת ה-URL של נקודת הקצה (endpoint) ב-HTTPS שסופקה בפיד ה-webhook.
כדי להפעיל את האימות, צריך לציין את מפתח ה-API ואת המפתח הסודי כחלק מהכותרת בהתאמה אישית, בפורמט הבא:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRETהמלצה: ציינו את מפתח ה-API ככותרת במקום לציין אותו בכתובת ה-URL.
אם לקוח ה-webhook שלכם לא תומך בכותרות בהתאמה אישית, אתם יכולים לציין את מפתח ה-API ואת המפתח הסודי באמצעות פרמטרים של שאילתה בפורמט הבא:
ENDPOINT_URL?key=API_KEY&secret=SECRETמחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_URL: כתובת ה-URL של נקודת הקצה של הפיד. -
API_KEY: מפתח ה-API לאימות ב-Google Security Operations. -
SECRET: המפתח הסודי שיצרתם כדי לאמת את הפיד.
-
יצירת Webhook ב-Synology בשביל Google SecOps
- נכנסים ל-DiskStation Manager (DSM) ב-Synology NAS.
- עוברים אל לוח הבקרה > התראה > Webhook.
- לוחצים על הוספה.
מציינים ערכים לפרמטרים הבאים:
- ספק: בוחרים באפשרות בהתאמה אישית.
כלל: בוחרים את סוג ההודעות שרוצים לשלוח ב-webhook.
לוחצים על הבא.
Provider name: נותנים ל-webhook שם ייחודי (לדוגמה, Google SecOps).
נושא: יתווסף כקידומת להודעת ההתראה.
Webhook URL: מזינים את ENDPOINT_URL.
בוחרים באפשרות שליחת הודעות באנגלית.
לוחצים על הבא.
שיטת HTTP: בוחרים באפשרות POST.
מוסיפים את הכותרת X-Webhook-Access-Key עם הערך SECRET.
מוסיפים את הכותרת X-goog-api-key עם הערך API_KEY.
לוחצים על אישור.
לוחצים על אישור כדי לשמור את ה-webhook.
טבלת מיפוי UDM
| שדה ביומן | מיפוי UDM | Logic (פונקציה לוגית) |
|---|---|---|
app |
target.application |
הערך של השדה app שחולץ על ידי מסנן ה-grok מוקצה ל-target.application. |
desc |
metadata.description |
הערך של השדה desc שחולץ על ידי מסנן ה-grok מוקצה ל-metadata.description. |
desc |
target.file.names |
אם השדה desc מכיל את הערך "Closed)", נתיב הקובץ שבסוגריים מחולץ ומוקצה ל-target.file.names. אם השדה desc מכיל את הערך "accessed shared folder", נתיב התיקייה שבסוגריים מחולץ ומוקצה ל-target.file.names. |
host |
principal.hostname |
הערך של השדה host שחולץ על ידי מסנן ה-grok מהשדה host_and_ip מוקצה ל-principal.hostname. |
host_and_ip |
principal.ip |
השדה host_and_ip מנותח. אם נמצאה כתובת IP (ip1), היא מוקצית ל-principal.ip. אם נמצאת כתובת IP שנייה (ip2), היא גם מתווספת אל principal.ip. |
intermediary_host |
intermediary.hostname |
הערך של השדה intermediary_host שחולץ על ידי מסנן ה-grok מוקצה ל-intermediary.hostname. אם ההודעה מכילה את הביטוי "signed in" או "sign in", נוצר אובייקט auth ריק ב-extensions. המערכת משתמשת בחותמת הזמן מהשדה collection_time ביומן הגולמי. אם ההודעה מכילה את המילים "מחובר" או "כניסה", הערך מוגדר כ-USER_LOGIN. אם ההודעה מכילה את הטקסט "accessed shared folder", הערך מוגדר כ-USER_RESOURCE_ACCESS. אחרת, ברירת המחדל היא GENERIC_EVENT. הערך של השדה type שחולץ על ידי מסנן ה-grok מוקצה ל-metadata.product_event_type. הערך מוגדר באופן סטטי בתור "SYNOLOGY". הערך מוגדר באופן סטטי בתור "SYNOLOGY". אם ההודעה מכילה את הטקסט "failed to sign", הערך מוגדר כ-BLOCK. אם ההודעה מכילה את המילה "success", הערך מוגדר כ-ALLOW. אם השדה severity (שחולץ על ידי grok) הוא "INFO", הערך מוגדר ל-INFORMATIONAL. |
severity |
security_result.severity |
הערך של השדה severity שחולץ על ידי מסנן ה-grok משמש לקביעת ה-security_result.severity. אם הערך הוא "INFO", הוא ממופה ל-"INFORMATIONAL". |
time |
metadata.event_timestamp |
השדה time, שחולץ על ידי מסנן ה-grok, מנותח ומומר לחותמת זמן. חותמת הזמן הזו מוקצית ל-metadata.event_timestamp. |
type |
metadata.product_event_type |
הערך של השדה type שחולץ על ידי מסנן ה-grok מוקצה ל-metadata.product_event_type. |
user |
target.administrative_domain |
אם דומיין חולץ מהשדה user, הוא מוקצה ל-target.administrative_domain. |
user |
target.user.userid |
המערכת מחלצת את החלק של שם המשתמש מהשדה user (לפני התו "\" אם הוא קיים) ומקצה אותו ל-target.user.userid. המערכת משתמשת בחותמת הזמן מהשדה collection_time ביומן הגולמי. |
יומן שינויים
הצגת יומן השינויים של המנתח הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.