שילוב של Cloud Armor עם Google SecOps
במאמר הזה מוסבר איך לשלב את Google Cloud Armor עם Google Security Operations.
תרחישים לדוגמה
השילוב של Cloud Armor תומך בתרחישים הבאים:
חסימת איומים אוטומטית: חסימה מיידית של כתובות IP זדוניות או טווחים של כתובות IP זדוניות ב- Google Cloud edge, על ידי עדכון כללי מדיניות האבטחה במהלך אירוע.
ניהול מדיניות אבטחה: הצגה, אחזור ועדכון של כללי מדיניות אבטחה בסביבה שלכם כדי להבטיח הגנה עקבית של WAF.
הפחתה דינמית של מתקפות DDoS: תגובה למתקפות נפח או למתקפות מבוססות-פרוטוקול באמצעות התאמה פרוגרמטית של הגדרות מדיניות האבטחה.
ביקורת פורנזית: אחזור פרטי ההגדרות האישיות של מדיניות האבטחה הקיימת כדי להתאים בין הגנות הקצה לבין התראות אבטחה פנימיות.
לפני שמתחילים
לפני שמגדירים את השילוב של Cloud Armor ב-Google SecOps, צריך לבצע את השלבים הבאים:
יצירה והגדרה של תפקיד בהתאמה אישית בניהול הזהויות והרשאות הגישה.
בוחרים אחת משיטות האימות הבאות ומגדירים אותה:
אפשרות 1: Workload Identity (מומלץ): השיטה הזו משתמשת באסימונים לטווח קצר באמצעות התחזות לחשבון שירות.
אפשרות 2: מפתח JSON של חשבון שירות: השיטה הזו מסתמכת על קובץ מפתח סודי סטטי לטווח ארוך.
יצירה והגדרה של תפקיד IAM
כדי לתת לשילוב את ההרשאות הנדרשות, יוצרים תפקיד בהתאמה אישית בפרויקט ב- Google Cloud :
במסוף Google Cloud , נכנסים לדף Roles.
לוחצים על addCreate custom role.
מזינים שם, תיאור ומזהה ייחודי.
מגדירים את Role Launch Stage ל-General Availability.
מוסיפים לתפקיד את ההרשאות הבאות:
compute.backendBuckets.setSecurityPolicycompute.backendServices.setSecurityPolicycompute.regionBackendServices.setSecurityPolicycompute.regionSecurityPolicies.createcompute.regionSecurityPolicies.getcompute.regionSecurityPolicies.listcompute.regionSecurityPolicies.updatecompute.securityPolicies.createcompute.securityPolicies.getcompute.securityPolicies.listcompute.securityPolicies.update
לוחצים על יצירה.
יצירה של חשבון שירות
במסוף Google Cloud , נכנסים לדף IAM & Admin > Service Accounts.
לוחצים על addCreate service account.
מזינים שם ותיאור ולוחצים על יצירה והמשך.
בשלב Grant this service account access to project, מקצים את תפקיד ה-IAM בהתאמה אישית שיצרתם.
לוחצים על סיום. שימו לב לכתובת האימייל של חשבון השירות.
הגדרת פרטי הכניסה של Workload Identity
הגישה המומלצת היא Workload Identity, כי היא משתמשת באסימונים לטווח קצר באמצעות התחזות לחשבון שירות.
זיהוי המופע הייחודי של הזהות
כדי ליצור חיבור, צריך לתת למכונה של Google SecOps הרשאה להתחזות לחשבון השירות.
ב-Google SecOps, עוברים אל Content Hub > Response Integrations.
בוחרים את השילוב של Cloud Armor ומזינים את כתובת האימייל של חשבון השירות בשדה
Workload Identity Email.לוחצים על שמירה > בדיקה. הבדיקה נכשלת.
לוחצים על הלחצן close_small ליד Test ומחפשים את כתובת האימייל של הזהות שמתחילה ב-
gke-init-python@...או ב-soar-python@....מעתיקים את כתובת האימייל הייחודית הזו.
אישור זהות המכונה ב- Google Cloud
במסוף Google Cloud , נכנסים לדף IAM & Admin > Service Accounts.
בוחרים את חשבון השירות הרצוי ועוברים אל Permissions > Grant Access.
מדביקים את כתובת האימייל הייחודית בשדה New principals ומקצים את התפקיד Service Account Token Creator (
roles/iam.serviceAccountTokenCreator).
הגדרת מפתח JSON
קבצים סטטיים של מפתחות סודיים לטווח ארוך דורשים רוטציה ידנית. השתמשו בשיטה הזו רק אם אימות של Workload Identity לא זמין.
במסוף Google Cloud , נכנסים לדף IAM & Admin > Service Accounts ובוחרים את חשבון השירות.
עוברים לכרטיסייה Keys ולוחצים על Add key > Create new key.
בוחרים באפשרות JSON ולוחצים על Create. קובץ המפתח יורד למחשב.
פרמטרים של שילוב
כדי לשלב את Cloud Armor, צריך להגדיר את הפרמטרים הבאים:
| פרמטר | תיאור |
|---|---|
API Root |
חובה. שורש ה-API של שירות Cloud Armor. ערך ברירת המחדל הוא
|
Project ID |
זה שינוי אופציונלי. מזהה הפרויקט לטירגוט ב-Cloud Armor. אם לא מציינים ערך, השילוב מאחזר את המזהה מפרטי הכניסה של חשבון השירות. |
Workload Identity Email |
זה שינוי אופציונלי. כתובת האימייל של הלקוח בחשבון השירות. צריך להגדיר את הפרמטר הזה לאימות של Workload Identity. אם המדיניות מוגדרת, המערכת מתעלמת מהמדיניות |
User Service Account |
זה שינוי אופציונלי. התוכן המלא של קובץ ה-JSON של מַפְתח חשבון השירות. צריך להגדיר את הפרמטר הזה לאימות באמצעות מפתח של חשבון שירות. אם מגדירים את המדיניות, השילוב מתעלם מהמדיניות |
Verify SSL |
חובה. אם האפשרות הזו נבחרת, השילוב מאמת את אישור ה-SSL כשמתחברים לשרת Google Cloud . מופעלת כברירת מחדל. |
איך מגדירים שילובים ב-Google SecOps
אם צריך, אפשר לבצע שינויים בשלב מאוחר יותר. אחרי שמגדירים מופע של אינטגרציה, אפשר להשתמש בו בפלייבוקים. במאמר תמיכה במספר מופעים מוסבר איך להגדיר מספר מופעים ולתמוך בהם.
פעולות
מידע נוסף על פעולות זמין במאמרים מענה לפעולות בהמתנה משולחן העבודה והפעלה ידנית של פעולה בבקשת התמיכה.
הוספת כלל למדיניות אבטחה
הוספת כלל חדש למדיניות האבטחה בשירות Cloud Armor.
ישויות
הפעולה הזו לא פועלת על ישויות.
קלט של הפעולה
כדי להגדיר את הפעולה, משתמשים בפרמטרים הבאים:
| פרמטרים | |
|---|---|
Policy Name |
חובה שם מדיניות האבטחה שאליה רוצים להוסיף כלל חדש. |
Region |
אופציונלי האזור של המדיניות שבו רוצים להוסיף את הכלל. אם לא מציינים ערך, הכלל מתווסף למדיניות האבטחה ברמה הגלובלית. |
Rule JSON |
חובה הגדרת JSON של הכלל שרוצים להוסיף. למידע נוסף על הוספת כלל למדיניות, ראו Method: securityPolicies.addRule. |
ערכי פלט של פעולות
| סוג הפלט של הפעולה | |
|---|---|
| חיבור לקיר של המארז | לא רלוונטי |
| קישור ללוח הפניות | לא רלוונטי |
| שולחן קונסולה צמוד לקיר | לא רלוונטי |
| טבלת העשרה | לא רלוונטי |
| תוצאת JSON | יש גישה |
| תוצאת הסקריפט | יש גישה |
תוצאת הסקריפט
| שם תוצאת הסקריפט | ערך |
|---|---|
| is_success | נכון או לא נכון |
תוצאת JSON
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
קיר נרתיק הטעינה
הפעולה הזו מספקת את הודעות הפלט הבאות:
| הודעת פלט | תיאור ההודעה |
|---|---|
Successfully added a new rule to the security policy! |
הפעולה בוצעה בהצלחה. |
Error executing action "Add a Rule to a Security Policy".
Reason: ERROR_REASON |
הפעולה נכשלה. בדקו את החיבור לשרת, את הפרמטרים של הקלט, את פרטי הכניסה, את שם האזור, את התוכן של קובץ ה-JSON או את שם המדיניות. |
יצירת מדיניות אבטחה
יוצרים מדיניות אבטחה בשירות Cloud Armor.
ישויות
הפעולה הזו לא פועלת על ישויות.
קלט של הפעולה
כדי להגדיר את הפעולה, משתמשים בפרמטרים הבאים:
| פרמטרים | |
|---|---|
Region |
אופציונלי האזור שבו יוצרים את המדיניות. אם לא מציינים ערך, נוצרת מדיניות אבטחה ברמה הגלובלית. |
Policy JSON |
חובה הגדרת ה-JSON של המדיניות שרוצים ליצור. מידע נוסף על כללי מדיניות זמין במאמר משאב REST: securityPolicies. |
ערכי פלט של פעולות
| סוג הפלט של הפעולה | |
|---|---|
| חיבור לקיר של המארז | לא רלוונטי |
| קישור ללוח הפניות | לא רלוונטי |
| שולחן קונסולה צמוד לקיר | לא רלוונטי |
| טבלת העשרה | לא רלוונטי |
| תוצאת JSON | יש גישה |
| תוצאת הסקריפט | יש גישה |
תוצאת הסקריפט
| שם תוצאת הסקריפט | ערך |
|---|---|
| is_success | נכון או לא נכון |
תוצאת JSON
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
קיר נרתיק הטעינה
הפעולה הזו מספקת את הודעות הפלט הבאות:
| הודעת פלט | תיאור ההודעה |
|---|---|
Successfully created a new security policy! |
הפעולה בוצעה בהצלחה. |
Error executing action "Create a Security Policy". Reason:
ERROR_REASON |
הפעולה נכשלה. צריך לבדוק את החיבור לשרת, את הפרמטרים של הקלט, את פרטי הכניסה, את שם האזור או את התוכן של קובץ ה-JSON. |
פינג
בודקים את הקישוריות לשירות Cloud Armor באמצעות הפרמטרים שצוינו בדף ההגדרות של השילוב.
ישויות
הפעולה הזו לא פועלת על ישויות.
קלט של הפעולה
לא רלוונטי
ערכי פלט של פעולות
| סוג הפלט של הפעולה | |
|---|---|
| חיבור לקיר של המארז | לא רלוונטי |
| קישור ללוח הפניות | לא רלוונטי |
| שולחן קונסולה צמוד לקיר | לא רלוונטי |
| טבלת העשרה | לא רלוונטי |
| תוצאת JSON | לא רלוונטי |
| תוצאת הסקריפט | יש גישה |
תוצאת הסקריפט
| שם תוצאת הסקריפט | ערך |
|---|---|
| is_success | נכון או לא נכון |
קיר נרתיק הטעינה
הפעולה הזו מספקת את הודעות הפלט הבאות:
| הודעת פלט | תיאור ההודעה |
|---|---|
Successfully connected to the Google Cloud Armor service with
the provided connection parameters! |
הפעולה בוצעה בהצלחה. |
Failed to connect to the Google Cloud Armor service! Error is
ERROR_REASON |
הפעולה נכשלה. צריך לבדוק את החיבור לשרת, את הפרמטרים של הקלט או את פרטי הכניסה. |
עדכון של מדיניות אבטחה
מעדכנים את מדיניות האבטחה הקיימת בשירות Cloud Armor.
הפעולה הזו לא יכולה לעדכן כללים במדיניות. כדי להוסיף כלל למדיניות הרלוונטית, משתמשים בפעולה Add a Rule to a Security Policy.
ישויות
הפעולה הזו לא פועלת על ישויות.
קלט של הפעולה
כדי להגדיר את הפעולה, משתמשים בפרמטרים הבאים:
| פרמטרים | |
|---|---|
Policy Name |
חובה שם מדיניות האבטחה שאליה רוצים להוסיף כלל חדש. |
Region |
אופציונלי האזור של המדיניות המעודכנת. אם לא מציינים ערך, נוצרת מדיניות אבטחה ברמה הגלובלית. |
Rule JSON |
חובה הגדרת JSON של המדיניות שרוצים לעדכן. למידע נוסף על עדכוני המדיניות, ראו Method: securityPolicies.patch . אי אפשר לעדכן כללים באמצעות הפעולה הזו. כדי להוסיף כלל למדיניות, משתמשים בפעולה Add a Rule to a Security Policy. |
ערכי פלט של פעולות
| סוג הפלט של הפעולה | |
|---|---|
| חיבור לקיר של המארז | לא רלוונטי |
| קישור ללוח הפניות | לא רלוונטי |
| שולחן קונסולה צמוד לקיר | לא רלוונטי |
| טבלת העשרה | לא רלוונטי |
| תוצאת JSON | יש גישה |
| תוצאת הסקריפט | יש גישה |
תוצאת הסקריפט
| שם תוצאת הסקריפט | ערך |
|---|---|
| is_success | נכון או לא נכון |
תוצאת JSON
{
"kind": "compute#securityPolicy",
"id": "ID",
"creationTimestamp": "2024-04-14T05:39:05.798-07:00",
"name": "example",
"description": "Test for integration",
"rules": [
{
"kind": "compute#securityPolicyRule",
"description": "test",
"priority": 100,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
},
{
"kind": "compute#securityPolicyRule",
"description": "Default rule, higher priority overrides it",
"priority": 2147483647,
"match": {
"versionedExpr": "SRC_IPS_V1",
"config": {
"srcIpRanges": [
"*"
]
}
},
"action": "allow",
"preview": false
}
],
"fingerprint": "A3hq2ZQYxj8=",
"selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1/securityPolicies/example",
"type": "CLOUD_ARMOR",
"labelFingerprint": "42WmSpB8rSM=",
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/northamerica-northeast1"
}
קיר נרתיק הטעינה
הפעולה הזו מספקת את הודעות הפלט הבאות:
| הודעת פלט | תיאור ההודעה |
|---|---|
Successfully added comment to the
identity protection detection with ID
DETECTION_ID in CrowdStrike |
הפעולה בוצעה בהצלחה. |
Error executing action "Update a Security Policy". Reason:
ERROR_REASON |
הפעולה נכשלה. צריך לבדוק את החיבור לשרת, את הפרמטרים של הקלט או את פרטי הכניסה. |
הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.