סקירה כללית על הגנה על ארטיפקטים

‫הגנה על ארטיפקטים הוא שירות אבטחה שמזהה נקודות חולשה בקובצי אימג' של קונטיינרים ומנהל אותן. הכלי מעריך את קובצי האימג' של הקונטיינרים בהשוואה למדיניות אבטחה שניתנת להגדרה במהלך יצירת ה-build, אחסון במאגר והרצת זמן ריצה.

יכולות מרכזיות

הכלי הגנה על ארטיפקטים אוכף מדיניות בנושא נקודות חולשה בשלושה שלבים עיקריים במחזור החיים של הקונטיינר:

  • סריקה בזמן בנייה: משולבת ישירות בפלטפורמות CI/CD (כמו Cloud Build,‏ GitHub Actions ו-Jenkins) כדי לסרוק קונטיינרים בזמן הבנייה שלהם. אם תמונה מפירה את מדיניות האבטחה שלכם, הבנייה נכשלת לפני שהתמונה מתפרסמת.
  • בקרת כניסה ל-Registry: הערכת תמונות שמאוחסנות ב-Artifact Registry. באמצעות Binary Authorization, ‏ הגנה על ארטיפקטים חוסם פריסה של תמונות שלא עומדות בדרישות באשכולות Google Kubernetes Engine‏ (GKE).
  • ניטור בזמן ריצה: ניטור רציף של קונטיינרים שפועלים באשכולות GKE כדי לזהות נקודות חולשה חדשות שמתגלות, והוספת פרטים לתוצאות ב-Security Command Center.

אכיפת מדיניות האבטחה

בעזרת הגנה על ארטיפקטים אפשר להגדיר מדיניות מרכזית בנושא פגיעויות, שעוזרת להגן על הסביבה באמצעות הפעולות הבאות:

  • חסימה מוקדמת של ארטיפקטים פגיעים: עוזרת למפתחים למנוע העלאה של תמונות קונטיינר שמכילות פגיעויות שחורגות מסף החומרה שצוין (לדוגמה, חסימת תמונות עם פגיעויות ברמה HIGH או CRITICAL).
  • הגבלת חבילות ספציפיות ו-CVE: מאפשרת לאשר או לדחות באופן מפורש חבילות תוכנה ספציפיות, גרסאות חבילה או נקודות חולשה וחשיפה נפוצות (CVE).
  • ניהול חריגים: מספק תקופות חסד ל-CVE ספציפיים, כדי שהצוותים יוכלו להמשיך בפריסה בזמן שהתיקונים מפותחים, בלי לפגוע באבטחה באופן קבוע.
  • ריכוז ממצאי האבטחה: שילוב של תוצאות סריקה מצינורות CI/CD, ממאגרי ארטיפקטים ומאשכולות GKE פעילים בתצוגה אחת ב-Security Command Center.

תפקידים ותחומי אחריות

התכונה הגנה על ארטיפקטים מיועדת לצוותים הבאים:

  • אדמינים של אבטחה: מגדירים ומנהלים מדיניות מרכזית בנושא פגיעויות.
  • צוותי DevOps או צוותי הנדסת פלטפורמות: מוסיפים מחברים לסריקת CI/CD לצינורות עיבוד נתונים (pipeline) ומגדירים בקרי קבלה (admission controllers) של GKE.
  • מפתחי אפליקציות: כדאי לעיין ביומני הכשלים של הבנייה כדי לזהות תלות פגיעה ולעדכן אותה לפני הפריסה מחדש.

מושגים ותנאים חשובים

  • נקודות חולשה וחשיפות נפוצות (CVE): נקודת חולשה באבטחת מחשב שנחשפה לציבור וקיבלה מזהה ייחודי.
  • רשימת חומרים (SBOM) של תוכנה: רשימה של רכיבי תוכנה ותלותיות שניתנת לקריאה על ידי מכונה, ומשמשת לזיהוי של CVE וסיכוני אבטחה אחרים.
  • ארטיפקט: בהקשר של הגנה על ארטיפקטים, קובץ אימג' של קונטיינר שנוצר על ידי פייפליין של CI/CD או מאוחסן במאגר קונטיינרים.

תהליך עבודה כללי

מדיניות הגנה על ארטיפקטים חלה על שלושה היקפים שונים:

  • פלטפורמת CI/CD: Cloud Build,‏ GitHub Actions או צינורות עיבוד נתונים של Jenkins.
  • מאגר: מאגרי Artifact Registry.
  • סביבת זמן ריצה: אשכולות GKE.

כדי להגן על הסביבה שלכם, צריך לבצע את תהליך העבודה הבא:

  1. כדי ליצור מדיניות לצינור עיבוד נתונים של CI/CD, צריך ליצור מחבר לסביבת ה-CI/CD באמצעות שילוב CI/CD. כשמגדירים את המדיניות, אפשר להגדיר את היקף המדיניות באופן מקורי למאגרי מידע או לאשכולות GKE.

  2. מגדירים כללי מדיניות להגנה על ארטיפקטים עבור היקפי היעד (צינור עיבוד נתונים, מאגר או זמן ריצה).

  3. הפעלת הערכות בהתאם למדיניות שלכם:

    • פייפליין: כשמריצים build של CI/CD, סריקה בזמן ה-build בודקת את קובץ אימג' של קונטיינר בהתאם למדיניות שלכם. אם התמונה מפירה את מדיניות האבטחה שלכם, הבנייה נכשלת לפני שהתמונה מתפרסמת. מפתחים יכולים לבדוק את פרטי הכשל ביומני ה-build ולעדכן את יחסי התלות.
    • ‫Registry: במהלך פריסה של תמונה שמאוחסנת ב-Artifact Registry, בקרת הכניסה של Registry משתמשת ב-Binary Authorization כדי להעריך את המדיניות ולחסום פריסה של תמונות שלא עומדות בדרישות לאשכולות GKE.
    • זמן ריצה: ניטור זמן הריצה מעריך באופן רציף קונטיינרים שפועלים באשכולות GKE כדי לזהות נקודות חולשה חדשות שנחשפו, ומוסיף ממצאים ב-Security Command Center לגבי הפרות של מדיניות.

המאמרים הבאים

איך מגדירים מדיניות של הגנה על ארטיפקטים