איסוף יומנים של Aqua Security
גרסת כלי הניתוח: 1.0
הכלי הזה מנתח יומנים של Aqua Security, מחלץ מהם שדות ומשנה אותם למודל נתונים מאוחד (UDM). הוא מנתח את השדה message כ-JSON, מחלץ את המשתמש, כתובת ה-IP של המקור ושדות רלוונטיים אחרים, ממפה אותם לשדות UDM ומסווג אירועים על סמך השדה action, ומוסיף לנתונים הקשר אבטחה כמו שמות כללים, תיאורים ופרטי CVE.
לפני שמתחילים
חשוב לוודא שמתקיימות דרישות הסף הבאות:
- מופע של Google SecOps.
- גישה עם הרשאות למסוף הניהול של Aqua Security.
הגדרת פידים
כדי להגדיר פיד:
- עוברים אל SIEM Settings (הגדרות SIEM) > Feeds (פידים).
- לוחצים על הוספת פיד חדש.
- בדף הבא, לוחצים על הגדרת פיד יחיד.
- בשדה Feed name, מזינים שם לפיד (לדוגמה, Aqua Security Logs).
- בוחרים באפשרות Webhook בתור סוג המקור.
- בוחרים באפשרות Aqua Security בתור סוג היומן.
- לוחצים על הבא.
- אופציונלי: מציינים ערכים לפרמטרים הבאים של הקלט:
- Split delimiter: התו או המחרוזת שמשמשים להפרדה בין שורות ביומן, כמו
\n. - מרחב השמות של הנכס: מרחב השמות של הנכס.
- תוויות להוספה: התווית שמוחלת על האירועים מהפיד הזה.
- Split delimiter: התו או המחרוזת שמשמשים להפרדה בין שורות ביומן, כמו
- לוחצים על הבא.
- בודקים את הגדרות הפיד במסך סיום ולוחצים על שליחה.
- לוחצים על יצירת מפתח סודי כדי ליצור מפתח סודי לאימות הפיד הזה.
- מעתיקים את המפתח הסודי ושומרים אותו. לא ניתן להציג שוב את המפתח הסודי הזה. במקרה הצורך, אפשר ליצור מחדש מפתח סודי חדש, אבל הפעולה הזו מייתרת את המפתח הסודי הקודם.
- בכרטיסייה Details (פרטים), מעתיקים את כתובת ה-URL של נקודת הקצה של הפיד מהשדה Endpoint Information (פרטי נקודת הקצה). צריך לציין את כתובת ה-URL של נקודת הקצה הזו באפליקציית הלקוח.
- לוחצים על סיום.
יצירת מפתח API ל-Webhook Feed
עוברים אל Google Cloud מסוף > Credentials (פרטי כניסה).
לוחצים על Create credentials ואז על API key.
הגבלת הגישה של מפתח ה-API ל-Chronicle API.
ציון כתובת ה-URL של נקודת הקצה
- באפליקציית הלקוח, מציינים את כתובת ה-URL של נקודת הקצה של 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 SecOps. -
SECRET: המפתח הסודי שיצרתם כדי לאמת את הפיד.
-
יצירת Webhook ב-Aqua Security ל-Google SecOps
- נכנסים למסוף Aqua Security.
- עוברים אל הגדרות > Image Scan Results Webhook (וווב-הוק של תוצאות סריקת תמונות).
- מסמנים את תיבת הסימון הפעלת שליחת תוצאות סריקת תמונות.
- מזינים את
<ENDPOINT_URL>, ואז את<API_KEY>ואת<SECRET>. - לוחצים על Save.
טבלת מיפוי UDM
| שדה ביומן (בסדר עולה) | מיפוי UDM | היגיון |
|---|---|---|
| jsonPayload.action | metadata.event_type | מיפוי על סמך הערך של jsonPayload.action. אפשר לראות את קוד הניתוח למיפויים ספציפיים. |
| jsonPayload.action | security_result.summary | ממופים ישירות. |
| jsonPayload.adjective | target.file.full_path | ממופה ישירות אם הערך של jsonPayload.container ריק. |
| jsonPayload.category | target.asset.category | ממופים ישירות. |
| jsonPayload.cfappname | target.application | ממופים ישירות. |
| jsonPayload.cfspace | principal.user.userid | ממופה ישירות אם הערך של jsonPayload.user ריק. |
| jsonPayload.command | principal.ip | המידע חולץ באמצעות תבנית grok "user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)". |
| jsonPayload.command | principal.user.userid | המידע חולץ באמצעות תבנית grok "user %{GREEDYDATA:user_id} \(%{IP:src_ip}\)". |
| jsonPayload.container | target.asset.product_object_id | ממופים ישירות. |
| jsonPayload.data | security_result.detection_fields | הערכים מנותחים כזוגות של מפתח וערך וממופים לשדות נפרדים בתוך security_result.detection_fields. |
| jsonPayload.description | security_result.description | ממופה ישירות אם הערך של jsonPayload.reason ריק. |
| jsonPayload.host | principal.hostname | ממופים ישירות. |
| jsonPayload.hostgroup | target.group.group_display_name | ממופים ישירות. |
| jsonPayload.hostid | target.asset_id | מופה כ-host id: %{jsonPayload.hostid}. |
| jsonPayload.hostip | target.ip | ממופים ישירות. |
| jsonPayload.image | target.file.full_path | ממופים ישירות. |
| jsonPayload.level | security_result.action | ההגדרה היא ALLOW אם jsonPayload.level היא success. |
| jsonPayload.reason | security_result.description | ממופים ישירות. |
| jsonPayload.rule | security_result.rule_name | ממופים ישירות. |
| jsonPayload.user | principal.user.userid | ממופים ישירות. |
| jsonPayload.vm_location | target.asset.location.name | ממופים ישירות. |
| jsonPayload.vm_name | target.resource.name | ממופים ישירות. |
| resource.labels.instance_id | target.resource.id | ממופים ישירות. |
| resource.labels.project_id | target.asset.attribute.cloud.project.id | ממופים ישירות. |
| resource.labels.zone | target.asset.attribute.cloud.availability_zone | ממופים ישירות. |
| חותמת זמן | metadata.event_timestamp | ממופה ישירות אחרי ההמרה לפורמט ISO8601. |
| extensions.auth.type | הערך שמוגדר הוא SSO אם jsonPayload.description מכיל את הערך SAML, אחרת הערך שמוגדר הוא AUTHTYPE_UNSPECIFIED אם jsonPayload.action הוא login או Login. | |
| metadata.log_type | ההגדרה היא AQUA_SECURITY. | |
| metadata.product_name | ההגדרה היא AQUA_SECURITY. | |
| metadata.vendor_name | ההגדרה היא AQUA_SECURITY. | |
| target.asset.attribute.cloud.environment | הערך שמוגדר הוא GOOGLE_CLOUD_PLATFORM. | |
| target.resource.type | ההגדרה היא VIRTUAL_MACHINE. |
יומן שינויים
צפייה ביומן השינויים של מנתח התוכן הזה
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.