סריקה אוטומטית של חבילות מערכת הפעלה
במאמר הזה מוסבר איך להפעיל סריקה אוטומטית, איך להעלות קובץ אימג' של קונטיינר ל-Artifact Registry ואיך לראות רשימה של נקודות חולשה שנמצאו בקובץ האימג'.
הכלי Artifact Analysis סורק נקודות חולשה בכל פעם שקובץ אימג' מועלה ל-Artifact Registry. אדמינים של פלטפורמות ומפתחי אפליקציות יכולים להשתמש בתכונת הסריקה האוטומטית הזו כדי לזהות סיכונים בצינור אספקת התוכנה שלהם.
במדריך הזה נשתמש בחבילה פשוטה שזמינה לציבור כדי להדגים סוג אחד של סריקת חבילות. כברירת מחדל, Artifact Analysis סורק פגיעויות בכמה סוגי חבילות אחרי שמפעילים את ה-API של הסריקה. סוגי החבילות הנתמכים כוללים: מערכת הפעלה, Go, Java (Maven), Python ו-Node.js (npm).
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את ממשקי ה-API של Artifact Registry ושל סריקת קונטיינרים:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com -
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את ממשקי ה-API של Artifact Registry ושל סריקת קונטיינרים:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com
יצירת מאגר Docker ב-Artifact Registry
יוצרים מאגר Docker כדי לאחסן את תמונת הדוגמה למדריך הזה למתחילים.
פותחים את הדף Repositories במסוף Google Cloud .
לוחצים על Create Repository (יצירת מאגר).
בדף Create Repository (יצירת מאגר), מזינים את ההגדרות הבאות:
- Name (שם):
quickstart-docker-repo - פורמט: Docker
- מצב: רגיל
- סוג המיקום: אזור
- אזור:
us-central1
- Name (שם):
לוחצים על יצירה.
יוצג הדף מאגרי מידע. מאגר quickstart-docker-repo יתווסף לרשימת המאגרים.
הגדרת אימות
כדי לדחוף או למשוך תמונות באמצעות Artifact Registry, צריך להגדיר את Docker כך שישתמש ב-Google Cloud CLI כדי לאמת בקשות ל-Artifact Registry.
ב-Cloud Shell או במעטפת המקומית, מגדירים אימות למאגרי Docker באזור us-central1:
gcloud auth configure-docker us-central1-docker.pkg.dev
קבלת חבילה
עוברים לספרייה שבה רוצים לשמור את קובץ אימג' של קונטיינר.
מעתיקים את התמונה לספרייה המקומית. לדוגמה, אפשר להשתמש ב-Docker כדי לשלוף את קובץ האימג' העדכני של Ubuntu מ-Docker Hub.
docker pull ubuntu:latest
תיוג החבילה בשם מאגר
כשרוצים להעלות חבילה ל-Artifact Registry, צריך להגדיר את הפקודה docker push כדי להעלות את האימג' למיקום ספציפי.
מריצים את הפקודה הבאה כדי לתייג את התמונה כ-quickstart-image:tag1:
docker tag ubuntu:latest \ us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
כאשר:
- PROJECT הוא Google Cloud
מזהה הפרויקט.
אם מזהה הפרויקט מכיל נקודתיים (
:), כדאי לעיין במאמר בנושא פרויקטים בהיקף הדומיין. -
us-central1הוא האזור של מאגר Artifact Registry. -
docker.pkg.devהוא שם המארח של מאגרי Docker. -
quickstart-imageהוא שם התמונה שרוצים להשתמש בה במאגר. שם התמונה יכול להיות שונה משם התמונה המקומית. -
tag1הוא תג שמוסיפים לקובץ האימג' של Docker. אם לא ציינתם תג, Docker יחיל את תג ברירת המחדלlatest.
העברת האימג' בדחיפה ל-Artifact Registry
הכלי Artifact Analysis סורק באופן אוטומטי תמונות חדשות כשמעלים אותן ל-Artifact Registry.
כדי להעביר את האימג' למאגר Docker ב-Artifact Registry, מריצים את הפקודה הבאה:
docker push us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
מחליפים את PROJECT במזהה הפרויקט. Google Cloud
אם מזהה הפרויקט מכיל נקודתיים (:), כדאי לעיין במאמר בנושא פרויקטים בהיקף הדומיין.
צפייה בתוצאות של בדיקת נקודות חולשה
כדי לראות את נקודות החולשה בתמונה:
פותחים את רשימת המאגרים של Artifact Registry במסוף Artifact Analysis.
ברשימת המאגרים, לוחצים על מאגר.
לוחצים על שם התמונה.
תוצג רשימה של ערכי הגיבוב של התמונה.
המספר הכולל של נקודות החולשה לכל תקציר תמונה מוצג בעמודה Vulnerabilities (נקודות חולשה).
לוחצים על המספר הכולל של הפגיעויות המקושרות בעמודה פגיעויות.
תוצג רשימה של נקודות חולשה.
ברשימת הפגיעויות מוצג מספר הפעמים שהתמונה הזו נסרקה, רמות החומרה של הפגיעות, זמינות התיקון, שם החבילה שמכילה את הפגיעות וסוג החבילה.
כדי לקבל מידע נוסף על נקודת תורפה ספציפית ממקור נקודת התורפה, לוחצים על מזהה ה-CVE המקושר בעמודה שם.
דרכים אחרות להצגת התוצאות
במסוף Google Cloud מוצגות עד 1,200 נקודות חולשה. אם בתמונה יש יותר מ-1,200 נקודות חולשה, צריך להשתמש ב-gcloud או ב-API כדי לראות את הרשימה המלאה.
הסרת המשאבים
כדי לא לצבור חיובים בחשבון על המשאבים שבהם השתמשתם בדף הזה, אתם צריכים למחוק את הפרויקט יחד עם המשאבים. Google Cloud Google Cloud
אם יצרתם פרויקט חדש לצורך המדריך הזה, אתם יכולים למחוק אותו עכשיו.- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.