שילוב של Cloud Armor עם Google SecOps
במאמר הזה מוסבר איך לשלב את Google Cloud Armor עם Google Security Operations.
תרחישים לדוגמה
השילוב של Cloud Armor תומך בתרחישי השימוש הבאים:
חסימת איומים אוטומטית: חסימה מיידית של כתובות IP או טווחים זדוניים ב- Google Cloud edge על ידי עדכון של כללי מדיניות האבטחה במהלך אירוע.
ניהול מדיניות אבטחה: אפשר להציג, לאחזר ולעדכן מדיניות אבטחה וכללים בסביבה שלכם כדי להבטיח הגנה עקבית של WAF.
הפחתת סיכון דינמית של DDoS: תגובה להתקפות נפחיות או להתקפות שמבוססות על פרוטוקול על ידי התאמה תוכנתית של הגדרות מדיניות האבטחה.
ביקורת משפטית: אחזור פרטי ההגדרה של מדיניות אבטחה קיימת כדי ליצור קורלציה בין אמצעי ההגנה על הקצה לבין התראות אבטחה פנימיות.
לפני שמתחילים
לפני שמגדירים את השילוב של Cloud Armor ב-Google SecOps, צריך לבצע את השלבים המקדימים הבאים:
יצירה והגדרה של תפקיד בהתאמה אישית לניהול זהויות והרשאות גישה.
בוחרים ומגדירים אחת משיטות האימות הבאות:
אפשרות 1: Workload Identity (מומלץ): בשיטה הזו נעשה שימוש באסימונים לטווח קצר באמצעות התחזות לחשבון שירות.
אפשרות 2: מפתח JSON של חשבון שירות: השיטה הזו מסתמכת על קובץ מפתח סודי סטטי לטווח ארוך.
יצירה והגדרה של תפקיד IAM
כדי לספק לאינטגרציה את ההרשאות הנדרשות, צריך ליצור תפקיד בהתאמה אישית בפרויקט Google Cloud :
במסוף Google Cloud , עוברים אל Roles.
לוחצים על הוספהיצירת תפקיד בהתאמה אישית.
מציינים שם, תיאור ומזהה ייחודי.
מגדירים את שלב ההשקה של התפקיד לזמינות לכלל המשתמשים.
מוסיפים לתפקיד את ההרשאות הבאות:
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 לצד בדיקה ומאתרים את כתובת האימייל של הזהות שמתחילה ב-
gke-init-python@...או ב-soar-python@....מעתיקים את כתובת האימייל הייחודית הזו.
נותנים הרשאה לזהות המופע ב- Google Cloud
במסוף Google Cloud , נכנסים אל IAM & Admin > Service Accounts.
בוחרים את חשבון השירות של היעד ועוברים אל הרשאות > הענקת גישה.
מדביקים את כתובת האימייל הייחודית בשדה New principals ומקצים את התפקיד Service Account Token Creator (
roles/iam.serviceAccountTokenCreator).
הגדרת מפתח JSON
קבצים סטטיים של מפתחות סודיים לטווח ארוך מחייבים רוטציה ידנית. משתמשים בשיטה הזו רק אם אימות באמצעות Workload Identity לא זמין.
במסוף Google Cloud , נכנסים אל IAM & Admin > Service Accounts ובוחרים את חשבון השירות.
עוברים לכרטיסייה מפתחות ולוחצים על הוספת מפתח > יצירת מפתח חדש.
בוחרים באפשרות 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 מופיעות במאמר הגדרת שילובים.
במקרה הצורך, אפשר לבצע שינויים בשלב מאוחר יותר. אחרי שמגדירים מופע של שילוב, אפשר להשתמש בו ב-playbooks. מידע נוסף על הגדרה ותמיכה במספר מופעים זמין במאמר תמיכה במספר מופעים.
פעולות
מידע נוסף על פעולות זמין במאמרים איך מגיבים לפעולות שממתינות לאישור ב-Your Workdesk ואיך מבצעים פעולה ידנית.
הוספת כלל למדיניות אבטחה
מוסיפים כלל חדש למדיניות האבטחה בשירות 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 Resource: 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.