שינוי אפשרויות של מכונות וירטואליות מוגנות במכונה וירטואלית

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

סקירה כללית

במכונה וירטואלית מוגנת, Compute Engine מפעיל כברירת מחדל את האפשרויות מודול פלטפורמה וירטואלי מהימן (vTPM) וניטור תקינות. אם משביתים את ה-vTPM, ‏ Compute Engine משבית את ניטור התקינות כי הוא מסתמך על נתונים שנאספים על ידי אתחול מדוד.

ב-Compute Engine, האפשרות Secure Boot לא מופעלת כברירת מחדל כי יכול להיות שדרייברים לא חתומים ותוכנות אחרות ברמה נמוכה לא יהיו תואמים. ההפעלה המאובטחת עוזרת לוודא שהמערכת מפעילה רק תוכנה מקורית. היא עושה זאת באמצעות אימות החתימה של כל רכיבי האתחול ועצירת תהליך האתחול אם אימות החתימה נכשל. כך אפשר למנוע מתוכנות זדוניות ברמת הליבה, כמו rootkit או bootkit, להישאר פעילות גם אחרי הפעלה מחדש של מכונה וירטואלית. ‫Google ממליצה להפעיל את Secure Boot אם אתם יכולים לוודא שהוא לא מונע את האתחול של מכונה וירטואלית מייצגת לבדיקה, ואם הוא מתאים לעומס העבודה שלכם.

מגבלות

למרות שמכונות וירטואליות של Compute Engine תומכות באתחול מאובטח, יכול להיות שתמונה שנטענה במכונה וירטואלית של Compute Engine לא תתמוך בו. חשוב לציין: למרות שרוב הפצות Linux תומכות באתחול מאובטח בתמונות x86 מהזמן האחרון, הן לא תמיד תומכות בו כברירת מחדל ב-ARM64. הרבה אימג'ים של Linux מוגדרים כך שהם לא יטענו גרסאות לא חתומות של מודולי ליבה מחוץ לעץ כשהאפשרות 'אתחול מאובטח' מופעלת. הבעיה הזו משפיעה בדרך כלל על מנהלי התקנים של GPU, אבל לפעמים היא משפיעה גם על כלי ניטור לצורכי אבטחה שדורשים מודולים של ליבת מערכת ההפעלה.

ההרשאות שנדרשות למשימה הזו

כדי לבצע את המשימה הזו, אתם צריכים את ההרשאות הבאות:

  • compute.instances.updateShieldedInstanceConfig במכונת ה-VM

שינוי האפשרויות של מכונה וירטואלית מוגנת במכונה וירטואלית

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

המסוף

  1. נכנסים לדף VM instances במסוף Google Cloud .

    נכנסים לדף VM instances.

  2. לוחצים על שם המכונה כדי לפתוח את הדף פרטי המכונה הווירטואלית.

  3. לוחצים על Stop כדי לעצור את המכונה הווירטואלית. אם אין אפשרות עצירה, לוחצים על עוד פעולות > עצירה.

  4. אחרי שהמופע ייעצר, לוחצים על עריכה.

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

    • לוחצים על לחצן החלפת המצב הפעלת אתחול מאובטח כדי להפעיל את האתחול המאובטח. ב-Compute Engine, האפשרות Secure Boot לא מופעלת כברירת מחדל כי יכול להיות שדרייברים לא חתומים ותוכנות אחרות ברמה נמוכה לא יהיו תואמים. אם אפשר, Google ממליצה להפעיל את האפשרות 'אתחול מאובטח'.

    • מעבירים את המתג הפעלת vTPM למצב מושבת כדי להשבית את מודול הפלטפורמה הווירטואלי המהימן (vTPM). כברירת מחדל, ב-Compute Engine מופעל מודול פלטפורמה מהימנה וירטואלית (vTPM).

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

  6. לוחצים על Save.

  7. לוחצים על Start (התחלה) כדי להפעיל את המכונה.

gcloud

  1. מפסיקים את המכונה:

    gcloud compute instances stop VM_NAME
    

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

  2. מעדכנים את האפשרויות של המכונה הווירטואלית המוגנת:

    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-vtpm

    shielded-integrity-monitoring: מעקב אחר תקינות מופעל כברירת מחדל. ‫+ הפעלה באמצעות --shielded-integrity-monitoring (ברירת מחדל) ‫+ השבתה באמצעות הדגל --no-shielded-integrity-monitoring.

  3. מפעילים את המכונה:

    gcloud compute instances start VM_NAME
    

    מחליפים את VM_NAME בשם של המכונה הווירטואלית שרוצים להפעיל.

REST

  1. מפסיקים את המכונה:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫PROJECT_ID: הפרויקט שמכיל את המכונה הווירטואלית שרוצים לעצור
    • ‫ZONE: האזור שמכיל את המכונה הווירטואלית שרוצים לעצור
    • ‫VM_NAME: המכונה הווירטואלית שרוצים לעצור
  2. כדי להפעיל או להשבית את האפשרויות של מכונה וירטואלית מוגנת במכונה, משתמשים ב-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, מעקב אחר תקינות מופעל כברירת מחדל.

  3. מפעילים את המכונה:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫PROJECT_ID: הפרויקט שמכיל את המכונה הווירטואלית שרוצים להפעיל
    • ‫ZONE: האזור שמכיל את המכונה הווירטואלית שרוצים להפעיל
    • ‫VM_NAME: מכונה וירטואלית להפעלה

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