במאמר הזה מוסבר איך להפעיל ולהשבית את האפשרויות של מכונה וירטואלית מוגנת במכונה וירטואלית. כדי לראות אילו תמונות תומכות בתכונות של מכונות וירטואליות מוגנות, אפשר לעיין במאמר בנושא תכונות אבטחה של תמונות מערכת הפעלה.
סקירה כללית
במכונה וירטואלית מוגנת, Compute Engine מפעיל כברירת מחדל את האפשרויות virtual Trusted Platform Module (vTPM) וintegrity monitoring. אם משביתים את ה-vTPM, Compute Engine משבית את ניטור התקינות כי הוא מסתמך על נתונים שנאספים על ידי אתחול מדוד.
ב-Compute Engine, האפשרות Secure Boot לא מופעלת כברירת מחדל כי יכול להיות שדרייברים לא חתומים ותוכנות אחרות ברמה נמוכה לא יהיו תואמים. האתחול המאובטח עוזר לוודא שהמערכת מפעילה רק תוכנה מקורית. הוא עושה זאת באמצעות אימות החתימה של כל רכיבי האתחול ועצירת תהליך האתחול אם אימות החתימה נכשל. כך אפשר למנוע מתוכנות זדוניות ברמת הליבה, כמו rootkit או bootkit, להמשיך לפעול אחרי הפעלה מחדש של מכונה וירטואלית. Google ממליצה להפעיל את Secure Boot אם אתם יכולים לוודא שהוא לא מונע את האתחול של מכונה וירטואלית מייצגת לבדיקה, ואם הוא מתאים לעומס העבודה שלכם.
מגבלות
למרות שמכונות וירטואליות של Compute Engine תומכות באתחול מאובטח, יכול להיות שאימג' שנטען במכונה וירטואלית של Compute Engine לא יתמוך באתחול מאובטח. חשוב לציין: רוב הפצות Linux תומכות באתחול מאובטח בתמונות x86 עדכניות, אבל לא תמיד יש תמיכה כזו כברירת מחדל ב-ARM64. הרבה תמונות של Linux מוגדרות כך שהן לא יטענו גרסאות לא חתומות של מודולים של ליבת out-of-tree כשהאפשרות Secure Boot מופעלת. הבעיה הזו משפיעה בדרך כלל על דרייברים של GPU, אבל לפעמים היא משפיעה גם על כלי ניטור לצורכי אבטחה שנדרשים להם מודולים של ליבת מערכת ההפעלה.
ההרשאות שנדרשות למשימה הזו
כדי לבצע את המשימה הזו, אתם צריכים את ההרשאות הבאות:
compute.instances.updateShieldedInstanceConfigבמופע ה-VM
שינוי האפשרויות של מכונה וירטואלית מוגנת במכונה וירטואלית
כדי לשנות את האפשרויות של מכונה וירטואלית מוגנת, מבצעים את הפעולות הבאות:
המסוף
נכנסים לדף VM instances במסוף Cloud de Confiance .
לוחצים על שם המופע כדי לפתוח את הדף פרטי מכונת ה-VM.
לוחצים על הפסקה כדי לעצור את המכונה הווירטואלית. אם אין אפשרות עצירה, לוחצים על עוד פעולות > עצירה.
אחרי שהמופע מפסיק, לוחצים על עריכה.
בקטע Shielded VM (מכונה וירטואלית מוגנת), משנים את האפשרויות של המכונה הווירטואלית המוגנת:
לוחצים על המתג הפעלת אתחול מאובטח כדי להפעיל את האתחול המאובטח. ב-Compute Engine, האפשרות Secure Boot לא מופעלת כברירת מחדל כי יכול להיות שדרייברים לא חתומים ותוכנות אחרות ברמה נמוכה לא יהיו תואמים. במידת האפשר, Google ממליצה להפעיל את האפשרות Secure Boot.
מעבירים את המתג הפעלת vTPM למצב מושבת כדי להשבית את מודול הפלטפורמה הווירטואלי המהימן (vTPM). כברירת מחדל, ב-Compute Engine מופעל מודול פלטפורמה מהימנה וירטואלית (vTPM).
מעבירים את המתג הפעלת מעקב אחרי שלמות האפליקציה למצב מושבת כדי להשבית את המעקב אחרי שלמות האפליקציה. כברירת מחדל, ב-Compute Engine מופעלת בדיקת תקינות.
לוחצים על Save.
לוחצים על התחלה כדי להפעיל את המכונה.
gcloud
עוצרים את המכונה:
gcloud compute instances stop VM_NAME
מחליפים את
VM_NAMEבשם המכונה הווירטואלית שרוצים להפסיק.מעדכנים את האפשרויות של המכונה הווירטואלית המוגנת:
gcloud compute instances update VM_NAME \ [--[no-]shielded-secure-boot] \ [--[no-]shielded-vtpm] \ [--[no-]shielded-integrity-monitoring]מחליפים את
VM_NAMEבשם של המכונה הווירטואלית שרוצים לעדכן בה את האפשרויות של מכונה וירטואלית מוגנת.
shielded-secure-boot: ב-Compute Engine, האפשרות Secure Boot לא מופעלת כברירת מחדל כי יכול להיות שדרייברים לא חתומים ותוכנות אחרות ברמה נמוכה לא יהיו תואמים. במידת האפשר, Google ממליצה להפעיל הפעלה מאובטחת.- מפעילים את האתחול המאובטח באמצעות הדגל
--shielded-secure-boot(מומלץ). - משביתים את האתחול המאובטח באמצעות
--no-shielded-secure-boot.
shielded-vtpm: מודול הפלטפורמה הווירטואלי המהימן (vTPM) מופעל כברירת מחדל. + הפעלה באמצעות--shielded-vtpm(ברירת מחדל) + השבתה באמצעות הדגל--no-shielded-vtpmshielded-integrity-monitoring: מעקב אחר תקינות מופעל כברירת מחדל. + הפעלה באמצעות--shielded-integrity-monitoring(ברירת מחדל) + השבתה באמצעות הדגל--no-shielded-integrity-monitoring.- מפעילים את האתחול המאובטח באמצעות הדגל
מפעילים את המופע:
gcloud compute instances start VM_NAME
מחליפים את
VM_NAMEבשם של המכונה הווירטואלית שרוצים להפעיל.
REST
עוצרים את המכונה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שמכיל את המכונה הווירטואלית שרוצים לעצור -
ZONE: האזור שמכיל את המכונה הווירטואלית שרוצים לעצור -
VM_NAME: המכונה הווירטואלית שרוצים לעצור
-
כדי להפעיל או להשבית את האפשרויות של מכונה וירטואלית מוגנת במכונה, משתמשים ב-
instances.updateShieldedInstanceConfig:PATCH https://compute.googleapis.com/compute/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateShieldedInstanceConfig { "enableSecureBoot": {true|false}, "enableVtpm": {true|false}, "enableIntegrityMonitoring": {true|false} }מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שמכיל את המכונה הווירטואלית שרוצים להפעיל או להשבית בה את האפשרויות של מכונה וירטואלית מוגנת. -
ZONE: האזור שבו נמצאת המכונה הווירטואלית שרוצים להפעיל או להשבית בה את האפשרויות של מכונה וירטואלית מוגנת. -
VM_NAME: המכונה הווירטואלית שבה רוצים להפעיל או להשבית את האפשרויות של מכונה וירטואלית מוגנת.
enableSecureBoot: ב-Compute Engine, האפשרות Secure Boot לא מופעלת כברירת מחדל כי יכול להיות שהיא לא תהיה תואמת לדרייברים לא חתומים ולתוכנות אחרות ברמה נמוכה. במידת האפשר, Google ממליצה להפעיל הפעלה מאובטחת.
enableVtpm: ב-Compute Engine, Virtual Trusted Platform Module (vTPM) מופעל כברירת מחדל.
enableIntegrityMonitoring: ב-Compute Engine, מעקב אחר תקינות מופעל כברירת מחדל.-
מפעילים את המופע:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שמכיל את המכונה הווירטואלית שרוצים להפעיל -
ZONE: האזור שמכיל את המכונה הווירטואלית שרוצים להפעיל -
VM_NAME: מכונה וירטואלית להפעלה
-
המאמרים הבאים
- מידע נוסף על תכונות האבטחה שמוצעות ב-Shielded VM
- מידע נוסף על מעקב אחרי תקינות במכונה וירטואלית מוגנת