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

‫הגנה על ארטיפקטים הוא שירות אבטחה שמזהה נקודות חולשה בקובצי אימג' של קונטיינרים ומנהל אותן. הכלי מעריך את תמונות הקונטיינר בהשוואה למדיניות אבטחה שניתנת להגדרה במהלך יצירת ה-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 לצינורות עיבוד נתונים וקובעים את ההגדרות של בקרי הגישה של 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. מגדירים כללי מדיניות של artifact guard להיקפי היעד (צינור עיבוד נתונים, מאגר או זמן ריצה).

  3. הפעלת הערכות ביחס למדיניות:

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

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

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