בדף הזה מוסבר איך להתחיל להשתמש במרכז הבקרה של מצב האבטחה כדי לזהות נקודות חולשה. כדאי לעיין בדרישות, לבחור מבין הרמות הזמינות וללמוד איך להפעיל בדיקת נקודות חולשה, לפרוס עומס עבודה לבדיקה, לראות את התוצאות וההמלצות ולהשבית את הסריקה.
הדף הזה מיועד למומחי אבטחה שמנטרים אשכולות כדי לזהות בעיות אבטחה. מידע נוסף על תפקידים נפוצים ומשימות לדוגמה שאנחנו מתייחסים אליהם בGoogle Cloud תוכן, זמין במאמר תפקידים נפוצים של משתמשים ומשימות ב-GKE.
לפני שקוראים את הדף הזה, חשוב לוודא שמכירים את הסקירה הכללית של בדיקת נקודות חולשה בעומסי עבודה.
תמחור
למידע על מחירים אפשר לעיין בתמחור של מרכז הבקרה 'עמדת אבטחה ב-GKE'.
לפני שמתחילים
לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:
- מפעילים את ממשק ה-API של Google Kubernetes Engine. הפעלת Google Kubernetes Engine API
- אם רוצים להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה
gcloud components updateכדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.
מפעילים את Container Security API.
כדי להשתמש בתובנות מתקדמות לגבי פגיעויות, צריך להפעיל את Container Analysis API.
דרישות
-
כדי לקבל את ההרשאות שנדרשות לשימוש בבדיקת נקודות חולשה בעומסי עבודה, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Security Posture Viewer (
roles/containersecurity.viewer) בפרויקט Google Cloud . להסבר על מתן תפקידים, קראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות לשימוש בבדיקת נקודות חולשה של עומסי עבודה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להשתמש בסריקת פגיעויות בעומסי עבודה, נדרשות ההרשאות הבאות:
-
resourcemanager.projects.get -
resourcemanager.projects.list -
containersecurity.locations.list -
containersecurity.locations.get -
containersecurity.clusterSummaries.list -
containersecurity.findings.list
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
-
- כדי להשתמש בתכונה Advanced vulnerability insights, צריך גרסה 1.27 של GKE או גרסה מתקדמת יותר.
רמות של סריקת נקודות חולשה בעומסי עבודה
אתם מפעילים את בדיקת נקודות החולשה בשכבות, וכל שכבה מוסיפה יכולות סריקה באופן הבא. אם אתם משתמשים ב-Google Kubernetes Engine (GKE) במהדורת Enterprise כדי לנהל קבוצות של אשכולות, אתם יכולים גם להגדיר הגדרות לסריקת נקודות חולשה ברמת הקבוצה, שיחולו על כל האשכולות החברים. הוראות מפורטות זמינות במאמר הגדרה של תכונות מרכז הבקרה לאבטחה של GKE ברמת הצי.
| רמה | יכולות מופעלות | דרישות לגבי גרסת GKE |
|---|---|---|
רגילהstandard |
סריקת נקודות חולשה במערכת ההפעלה של הקונטיינר |
|
Advanced vulnerability insightsenterprise |
|
|
מידע נוסף על כל אחת מהיכולות זמין במאמר מידע על בדיקת נקודות חולשה של עומסי עבודה.
הפעלת בדיקת נקודות חולשה במערכת ההפעלה של המאגר
סריקת נקודות חולשה במערכת ההפעלה של מאגר התגים מופעלת כברירת מחדל באשכולות חדשים של Autopilot שמופעלת בהם גרסה 1.27 ואילך. בקטע הזה מוסבר איך להפעיל את התכונה הזו באשכולות רגילים קיימים חדשים ובאשכולות של Autopilot שמופעלות בהם גרסאות קודמות לגרסה 1.27.
הפעלת סריקת מערכת ההפעלה של מאגרים באשכול קיים
gcloud
מעדכנים את האשכול:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --workload-vulnerability-scanning=standard
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול. -
CONTROL_PLANE_LOCATION: המיקום של מישור הבקרה של האשכול. מציינים אזור לאשכולות אזוריים של Standard ו-Autopilot, או אזור לאשכולות אזוריים של Standard.
המסוף
נכנסים לדף Security Posture במסוף Google Cloud .
מעבר אל 'רמת האבטחה'- לוחצים על הכרטיסייה הגדרות.
- בקטע Vulnerability scan enabled clusters (אשכולות שמופעל בהם סריקת פגיעויות), לוחצים על Select clusters (בחירת אשכולות).
- מסמנים את תיבות הסימון לצד האשכולות שרוצים להוסיף.
- בתפריט הנפתח בחירת פעולה, בוחרים באפשרות הגדרה ל-Basic.
- לוחצים על אישור.
הפעלת תובנות מתקדמות לגבי פגיעויות
התכונה 'תובנות מתקדמות לגבי פגיעויות' מאפשרת סריקה רציפה של האפליקציות הפועלות שלכם לאיתור סוגי הפגיעויות הבאים:
- נקודות חולשה במערכת ההפעלה של הקונטיינר
- נקודות חולשה בחבילת השפה
כשמפעילים את התכונה 'תובנות מתקדמות לגבי פרצות אבטחה', היכולת לבצע בדיקת נקודות חולשה במערכת ההפעלה של הקונטיינר מופעלת באופן אוטומטי ואי אפשר להשבית אותה בנפרד.
דרישות
מוודאים שהפעלתם את Container Analysis API בפרויקט.
הפעלת Container Analysis API
הפעלת תובנות מתקדמות לגבי פגיעויות באשכול קיים
gcloud
מעדכנים את האשכול:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --workload-vulnerability-scanning=enterprise
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול. -
CONTROL_PLANE_LOCATION: המיקום של מישור הבקרה של האשכול. מציינים אזור לאשכולות אזוריים של Standard ו-Autopilot, או אזור לאשכולות אזוריים של Standard.
המסוף
נכנסים לדף Security Posture במסוף Google Cloud .
מעבר אל 'רמת האבטחה'- לוחצים על הכרטיסייה הגדרות.
- בקטע Vulnerability scan enabled clusters (אשכולות שמופעל בהם סריקת פגיעויות), לוחצים על Select clusters (בחירת אשכולות).
- מסמנים את תיבות הסימון לצד האשכולות שרוצים להוסיף.
- בתפריט הנפתח בחירת פעולה, בוחרים באפשרות הגדרה כמתקדם.
- לוחצים על אישור.
פריסת עומס עבודה לבדיקה
בקטע הבא מופיעות דוגמאות למניפסטים של פריסה. פריסה היא אובייקט Kubernetes API שמאפשר להריץ כמה עותקים של Pods שמפוזרים בין הצמתים באשכול.
למניפסטים הבאים יש נקודות חולשה ידועות למטרות הדגמה. בפועל, אם אתם יודעים שאפליקציה פגיעה, כנראה שלא כדאי להפעיל אותה.
שומרים את קובץ המניפסט הבא בשם
os-vuln-sample.yaml:apiVersion: apps/v1 kind: Deployment metadata: name: frontend spec: replicas: 1 selector: matchLabels: app: guestbook tier: frontend template: metadata: labels: app: guestbook tier: frontend spec: containers: - name: php-redis image: us-docker.pkg.dev/google-samples/containers/gke/gb-frontend:v5 env: - name: GET_HOSTS_FROM value: "dns" resources: requests: cpu: 100m memory: 100Mi ports: - containerPort: 80כדאי לעיין במניפסט הבא, שמכיל נקודת חולשה ידועה של Maven:
אופציונלי: מקבלים פרטי כניסה לאשכול:
gcloud container clusters get-credentials CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATIONפורסים את האפליקציות באשכול:
kubectl apply -f os-vuln-sample.yaml kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/kubernetes-engine-samples/main/security/language-vulns/maven/deployment.yaml
כדי לבדוק פגיעויות אחרות, כדאי לפרוס גרסאות קודמות של תמונות כמו nginx בסביבות הכנה.
צפייה בתוצאות וביצוע פעולות
הסריקה הראשונית אורכת לפחות 15 דקות עד להחזרת התוצאות, בהתאם למספר עומסי העבודה שנסרקים. תוצאות הבדיקה מוצגות במרכז השליטה של מצב האבטחה ב-GKE, וערכים נוספים מתווספים אוטומטית לרישום ביומן.
הצגת תוצאות
כדי לראות סקירה כללית של הבעיות שזוהו באשכולות ובעומסי העבודה של הפרויקט, מבצעים את הפעולות הבאות:
נכנסים לדף Security Posture במסוף Google Cloud .
לוחצים על הכרטיסייה בעיות.
בחלונית Filter concerns, בקטע Concern type, מסמנים את תיבת הסימון Vulnerability.
צפייה בפרטי הבעיה ובהמלצות
כדי לראות מידע מפורט על נקודת חולשה ספציפית, לוחצים על השורה שבה מופיעה הבעיה.
בחלונית Vulnerability Concern מוצג המידע הבא:
- תיאור: תיאור של הבעיה, כולל מספר CVE אם רלוונטי, ותיאור מפורט של נקודת החולשה וההשפעה הפוטנציאלית שלה.
- הפעולה המומלצת: פעולות שאפשר לבצע כדי לטפל בפגיעות, כמו גרסאות חבילה קבועות ומקומות שבהם אפשר להחיל את התיקון.
צפייה ביומנים של בעיות שזוהו
GKE מוסיף רשומות ל_Default קטגוריה ביומן ב-Logging
לכל בעיה שמתגלה. היומנים האלה נשמרים רק לפרק זמן מסוים. פרטים נוספים זמינים במאמר בנושא תקופות שמירה של יומנים.
במסוף Google Cloud , נכנסים אל Logs Explorer:
כניסה לדף Logs Explorerבשדה Query, מציינים את השאילתה הבאה:
resource.type="k8s_cluster" jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding" jsonPayload.type="FINDING_TYPE_VULNERABILITY"
לוחצים על Run query.
כדי לקבל התראות כש-GKE מוסיף ממצאים חדשים ל-Logging, צריך להגדיר התראות מבוססות-יומן עבור השאילתה הזו. מידע נוסף זמין במאמר הגדרת התראות שמבוססות על יומנים.
הסרת המשאבים
מוחקים את עומס העבודה לדוגמה שפרסתם:
kubectl delete deployment frontendאפשר גם למחוק את האשכול שבו השתמשתם:
gcloud container clusters delete CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION
השבתה של סריקת נקודות חולשה בעומסי עבודה
אפשר להשבית את בדיקת נקודות החולשה של עומסי העבודה באמצעות ה-CLI של gcloud או Google Cloud המסוף.
gcloud
מריצים את הפקודה הבאה:
gcloud container clusters update CLUSTER_NAME \ --location=CONTROL_PLANE_LOCATION \ --workload-vulnerability-scanning=disabled
מחליפים את מה שכתוב בשדות הבאים:
-
CLUSTER_NAME: השם של האשכול. -
CONTROL_PLANE_LOCATION: המיקום של מישור הבקרה של האשכול. מציינים אזור לאשכולות אזוריים של Standard ו-Autopilot, או אזור לאשכולות אזוריים של Standard.
המסוף
נכנסים לדף Security Posture במסוף Google Cloud .
מעבר אל 'רמת האבטחה'- לוחצים על הכרטיסייה הגדרות.
- בקטע Vulnerability scan enabled clusters (אשכולות שמופעל בהם סריקת פגיעויות), לוחצים על Select clusters (בחירת אשכולות).
- מסמנים את תיבות הסימון לצד האשכולות שרוצים להסיר.
- בתפריט הנפתח בחירת פעולה, בוחרים באפשרות הגדרה כ'מושבת'.
- לוחצים על אישור.