שליטה בגישה והגנה על פריטי מידע שנוצרים בתהליך פיתוח (Artifact)

בדף הזה מוסבר על Google Cloud שירותים ותכונות שיעזרו לכם להגן על הארטיפקטים.

הצפנה במנוחה

כברירת מחדל, Google Cloud הנתונים מוצפנים באופן אוטומטי כשהם במצב מנוחה באמצעות מפתחות הצפנה שמנוהלים על ידי Google. אם יש לכם דרישות ספציפיות בנושא תאימות או רגולציה שקשורות למפתחות שמגנים על הנתונים, אתם יכולים ליצור מאגרי מידע שמוצפנים באמצעות מפתחות הצפנה בניהול הלקוח (CMEK).

בקרת גישה

כברירת מחדל, כל המאגרים הם פרטיים. חשוב לפעול לפי עקרון האבטחה של הרשאות מינימליות ולהעניק רק את ההרשאות המינימליות שנדרשות למשתמשים ולחשבונות שירות.

הגבלת הורדות של פריטי מידע שנוצרים בתהליך פיתוח (Artifact)

אפשר להגביל את ההורדה של ארטיפקטים באמצעות כללי הורדה. כללי הורדה מאפשרים לכם לאשר או לדחות הורדות של ארטיפקטים מהמאגרים ומהחבילות שלכם. אפשר גם להגדיר תנאים כך שהכלל יחול על תגים או גרסאות ספציפיים.

לכל מאגר בפרויקט יכול להיות כלל הורדה אחד ברמת המאגר וכלל הורדה אחד לכל חבילה. כשלקוח מנסה להוריד חבילה, מערכת Artifact Registry בודקת קודם אם יש כלל הורדה בחבילה של הארטיפקט. אם לא קיים כלל, או שהתנאים של הכלל לא חלים על הארטיפקט, Artifact Registry מחפש כלל במאגר.

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

כללי ההורדה זמינים בכל מצבי המאגר ולפורמטים הבאים של מאגרים:

  • דירה
  • Docker
  • המשך
  • Maven
  • npm
  • Python

מניעת זליגת מידע

כדי למנוע זליגת נתונים, אפשר להשתמש ב-VPC Service Controls כדי למקם את Artifact Registry ושירותים אחרים של Google Cloud במתחם אבטחה היקפי של רשת.

בדיקת נקודות חולשה

Artifact Analysis יכול לסרוק קובצי אימג' של קונטיינרים כדי לזהות נקודות חולשה באבטחה בחבילות שנמצאות במעקב ציבורי.

אלו האפשרויות הזמינות:

סריקה אוטומטית של נקודות חולשה
כשהתכונה הזו מופעלת, היא מזהה פגיעויות בחבילות בתמונות של מאגר התגים. הסריקה של תמונות מתבצעת כשהן מועלות ל-Artifact Registry, והנתונים נמצאים במעקב רציף כדי למצוא נקודות חולשה חדשות למשך עד 30 יום אחרי העלאת התמונה.
On-Demand Scanning API
כשמפעילים את האפשרות הזו, אפשר לסרוק באופן ידני תמונות מקומיות או תמונות שמאוחסנות ב-Artifact Registry. התכונה הזו עוזרת לכם לזהות פגיעויות ולטפל בהן בשלב מוקדם של צינור ה-build. לדוגמה, אפשר להשתמש ב-Cloud Build כדי לסרוק קובץ אימג' אחרי שהוא נוצר, ואז לחסום את ההעלאה ל-Artifact Registry אם הסריקה מזהה נקודות חולשה ברמת חומרה מסוימת. אם הפעלתם גם סריקה אוטומטית של נקודות חולשה, Artifact Analysis סורק גם תמונות שאתם מעלים למאגר.

מדיניות פריסה

אתם יכולים להשתמש ב-Binary Authorization כדי להגדיר מדיניות שהשירות אוכף כשמנסים לפרוס קובץ אימג' של קונטיינר באחת מהסביבות הנתמכות Google Cloud .

לדוגמה, אפשר להגדיר את Binary Authorization כך שיאפשר פריסות רק אם תמונה חתומה בהתאם למדיניות של סריקת פגיעויות.

הסרה של תמונות שלא בשימוש

כדי להפחית את עלויות האחסון ולצמצם את הסיכונים בשימוש בתוכנה ישנה, מומלץ להסיר תמונות קונטיינר שלא נמצאות בשימוש.

התמקדות באבטחה

שילוב של יעדי אבטחת מידע בעבודה היומיומית יכול לעזור לשפר את הביצועים של הכנת תוכנה להפצה ולבנות מערכות מאובטחות יותר. הגישה הזו נקראת גם shifting left (תזוזה שמאלה), כי הבעיות, כולל בעיות אבטחה, מטופלות בשלב מוקדם יותר במחזור החיים של פיתוח התוכנה (כלומר, בצד שמאל בתרשים של לוח זמנים משמאל לימין). הזזה שמאלה של האבטחה היא אחת מהיכולות של DevOps שזוהו בתוכנית המחקר DORA State of DevOps.

מידע נוסף:

  • מידע נוסף על היכולת הזזה שמאלה של האבטחה
  • מומלץ לקרוא את הסקירה הטכנית Shifting left on security, שמתארת את האחריות, הנהלים, התהליכים, הכלים והטכניקות שמשפרים את הביטחון במחזור החיים של פיתוח התוכנה (SDLC) ומפחיתים את החששות לגבי סיכוני אבטחה.

שיקולים לגבי מאגרים ציבוריים

כדאי להביא בחשבון את המקרים הבאים:

  • שימוש בארטיפקטים ממקורות ציבוריים
  • הגדרת מאגרי Artifact Registry כגלויים לכולם

שימוש בארטיפקטים ממקורות ציבוריים

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

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

  • אתם רוצים לשלוט בתוכן של שרשרת אספקת התוכנה.
  • אתם לא רוצים להסתמך על מאגר חיצוני.
  • אתם רוצים לשלוט באופן קפדני בפגיעויות בסביבת הייצור.
  • אתם רוצים את אותה מערכת הפעלה בסיסית בכל תמונה.

כדי לאבטח את שרשרת אספקת התוכנה, אפשר להשתמש בגישות הבאות:

  • כדאי להגדיר בנייה אוטומטית כדי שהפריטים המיוחדים יכללו תוכן עקבי ומוכר. אפשר להשתמש בטריגרים של Cloud Build או בכלים אחרים של אינטגרציה רציפה.
  • משתמשים בתמונות בסיס סטנדרטיות. ‫Google מספקת כמה תמונות בסיס שאפשר להשתמש בהן.
  • טיפול בנקודות חולשה בארטיפקטים. אתם יכולים להשתמש ב-On-Demand Scanning API כדי לסרוק תמונות של קונטיינרים ולחפש בהן נקודות חולשה לפני שאתם מאחסנים אותן ב-Artifact Registry. ‫Artifact Analysis יכול גם לסרוק מאגרי תמונות שאתם מעלים ל-Artifact Registry.

מאגרי Artifact Registry ציבוריים

כדי להגדיר מאגר Artifact Registry כציבורי, צריך להעניק את התפקיד Artifact Registry Reader לזהות allUsers.

אם לכל המשתמשים שלכם יש Google Cloud חשבונות, אתם יכולים להגביל את הגישה למשתמשים מאומתים עם זהות allAuthenticatedUsers במקום זאת.

לפני שהופכים מאגר Artifact Registry לציבורי, כדאי לעיין בהנחיות הבאות:

  • מוודאים שכל הארטיפקטים שמאוחסנים במאגר ניתנים לשיתוף עם הציבור, ושלא נחשפים בהם פרטי כניסה, נתונים אישיים או נתונים סודיים.
  • כברירת מחדל, בפרויקטים אין מכסות לכל משתמש. כדי למנוע שימוש לרעה, כדאי להגביל את המכסות לכל משתמש בפרויקט.
- אתם מחויבים על העברת נתונים ברשת כשמשתמשים מורידים ארטיפקטים. אם אתם צופים תנועה רבה של הורדות מהאינטרנט, כדאי לקחת בחשבון את העלויות הנלוות.

הנחיות לאפליקציות אינטרנט

  • OWASP Top 10 מפרט את הסיכונים העיקריים לאבטחת אפליקציות אינטרנט לפי Open Web Application Security Project‏ (OSWAP).

הנחיות לגבי קונטיינרים

  • ל-Center for Internet Security ‏ (CIS) יש Docker Benchmark להערכת האבטחה של קונטיינר Docker.

    ‫Docker מספקת סקריפט בקוד פתוח שנקרא Docker Bench for Security. אפשר להשתמש בסקריפט כדי לאמת קונטיינר Docker פעיל בהשוואה ל-CIS Docker Benchmark.

    הכלי Docker Bench For Security יכול לעזור לכם לאמת הרבה פריטים ב-CIS Docker Benchmark, אבל לא את כל הפריטים. לדוגמה, הסקריפט לא יכול לאמת אם המארח של הקונטיינר מוקשח או אם קובץ אימג' של קונטיינר כולל מידע אישי. בודקים את כל הפריטים בהשוואה ומזהים את הפריטים שעשויים לדרוש אימות נוסף.

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

מידע נוסף על ניהול תלות