שימוש בצומתי GKE מוגנים

בדף הזה מוסבר איך להשתמש בתכונה צומתי GKE מוגנים. צמתים מוגנים ב-GKE מספקים זהות ושלמות חזקות וניתנות לאימות של הצמתים, כדי לשפר את האבטחה של הצמתים ב-Google Kubernetes Engine ‏ (GKE).

באשכולות GKE Autopilot, התכונה צומתי GKE מוגנים מופעלת כברירת מחדל ואי אפשר לשנות את זה. באשכולות GKE Standard, התכונה צומתי GKE מוגנים מופעלת כברירת מחדל, אבל אפשר לשנות את ההגדרה הזו.

מידע על צומתי GKE מוגנים

צומתי GKE מוגנים מבוססים על מכונות וירטואליות מוגנות ב-Compute Engine. בלי צומתי GKE מוגנים, תוקף יכול לנצל נקודת חולשה ב-Pod כדי להעביר פרטי כניסה של bootstrap ולהתחזות לצמתים באשכול, וכך לקבל גישה לסודות של האשכול. כשמפעילים את התכונה צומתי GKE מוגנים, מישור הבקרה של GKE מאמת באופן קריפטוגרפי את הדברים הבאים:

  • כל צומת באשכול הוא מכונה וירטואלית שפועלת במרכז הנתונים של Google.
  • כל צומת הוא חלק מקבוצת מופעי מכונה מנוהלים (MIG) שהוקצתה לאשכול.
  • ל-kubelet מוקצה אישור לצומת שבו הוא פועל.

כך מצטמצמת היכולת של תוקף להתחזות לצומת באשכול שלכם, גם אם הוא מצליח להוציא את פרטי הכניסה של הצומת. לפרטי הכניסה של האתחול, שנמצאים במטא-נתונים של הצומת (TPM_BOOTSTRAP_KEY), יש אפשרות ליצור רק בקשות לחתימה על אישורים. אישור האישורים האלה לא יתבצע באופן אוטומטי על ידי מישור הבקרה, והם לא יהפכו לאישורים של צומת עובד אלא אם יתקיימו התנאים שצוינו קודם ובקשת חתימה על אישור (CSR) תכלול אישור מ-vTPM של הצומת.

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

תמחור

אין עלות נוספת להפעלת צומתי GKE מוגנים. עם זאת, צומתי GKE מוגנים יוצרים כ-0.5KB יותר של יומנים בהפעלה בהשוואה לצמתים רגילים. פרטים נוספים מופיעים בדף התמחור של Cloud Logging.

לפני שמתחילים

לפני שמתחילים, חשוב לוודא שביצעתם את הפעולות הבאות:

  • מפעילים את ממשק ה-API של Google Kubernetes Engine.
  • הפעלת Google Kubernetes Engine API
  • אם רוצים להשתמש ב-CLI של Google Cloud למשימה הזו, צריך להתקין ואז להפעיל את ה-CLI של gcloud. אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה gcloud components update כדי לקבל את הגרסה העדכנית. יכול להיות שגרסאות קודמות של ה-CLI של gcloud לא יתמכו בהרצת הפקודות שמופיעות במסמך הזה.

הפעלה של צומתי GKE מוגנים באשכול חדש

אפשר ליצור אשכול חדש עם צומתי GKE מוגנים מופעל באמצעות ה-CLI של gcloud או מסוף Google Cloud .

gcloud

כשיוצרים אשכול חדש, מציינים את האפשרות --enable-shielded-nodes:

gcloud container clusters create CLUSTER_NAME \
    --enable-shielded-nodes

המסוף

  1. נכנסים לדף Create a Kubernetes cluster במסוף Google Cloud .

    מעבר אל יצירת אשכול Kubernetes

  2. בחלונית הניווט, בקטע Cluster, לוחצים על Security.

  3. מסמנים את תיבת הסימון הפעלת צומתי GKE מוגנים.

  4. מגדירים את האשכול לפי הצורך.

  5. לוחצים על יצירה.

פרטים נוספים על יצירת אשכולות זמינים במאמר בנושא יצירת אשכול.

הפעלת צומתי GKE מוגנים באשכול קיים

אפשר להפעיל צומתי GKE מוגנים באשכול קיים באמצעות Google Cloud CLI או מסוף Google Cloud .

איך GKE מאפשר צומתי GKE מוגנים

אחרי שמפעילים צומתי GKE מוגנים, צומתי העובדים נוצרים מחדש כ-VM מוגנים. הצמתים באשכול נוצרים מחדש באופן הדרגתי כדי לצמצם את זמן ההשבתה.

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

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

הפעלת צומתי GKE מוגנים

gcloud

כשמעדכנים את האשכול, מציינים את האפשרות --enable-shielded-nodes:

gcloud container clusters update CLUSTER_NAME \
    --enable-shielded-nodes

המסוף

  1. עוברים לדף Google Kubernetes Engine במסוף Google Cloud .

    מעבר אל Google Kubernetes Engine

  2. לוחצים על השם של האשכול שרוצים לשנות.

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

  4. מסמנים את תיבת הסימון הפעלת צומתי GKE מוגנים.

  5. לוחצים על שמירת השינויים.

אימות שהאפשרות צומתי GKE מוגנים מופעלת

אתם יכולים לוודא שהאשכול משתמש בצמתי GKE מוגנים באמצעות Google Cloud CLI או Google Cloud המסוף.

gcloud

תארו את האשכול:

gcloud container clusters describe CLUSTER_NAME

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

shieldedNodes:
  enabled: true

המסוף

כדי לוודא שאשכול משתמש בצומתי GKE מוגנים:

  1. עוברים לדף Google Kubernetes Engine במסוף Google Cloud .

    מעבר אל Google Kubernetes Engine

  2. לוחצים על השם של האשכול שרוצים לבדוק.

  3. בקטע Security (אבטחה), בשדה Shielded GKE Nodes (צומתי GKE מוגנים), מוודאים שהאפשרות Shielded GKE Nodes (צומתי GKE מוגנים) מופעלת.

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

השבתה של צומתי GKE מוגנים

אפשר להשבית את צומתי GKE המוגנים באמצעות Google Cloud CLI או Google Cloud המסוף.

איך GKE משבית צומתי GKE מוגנים

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

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

השבתה של צומתי GKE מוגנים

gcloud

כשמעדכנים את האשכול, מציינים את האפשרות --no-enable-shielded-nodes:

gcloud container clusters update CLUSTER_NAME \
    --no-enable-shielded-nodes

המסוף

  1. עוברים לדף Google Kubernetes Engine במסוף Google Cloud .

    מעבר אל Google Kubernetes Engine

  2. לוחצים על השם של האשכול שרוצים לשנות.

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

  4. מסירים את הסימון בתיבת הסימון הפעלת צומתי GKE מוגנים.

  5. לוחצים על שמירת השינויים.

תקינות הצומת

אפשר גם להגדיר בדיקות שלמות של צמתים במאגרי צמתים כדי לספק הגנה משופרת לצמתים מפני rootkit ו-bootkit. תכונות כמו צומתי GKE מוגנים, Secure Boot ומעקב תקינות הן תכונות עצמאיות שאפשר להפעיל או להשבית כל אחת מהן בנפרד.

הפעלה מאובטחת

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

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

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

כדי להפעיל את האתחול המאובטח, משתמשים ב-Google Cloud CLI או במסוף Google Cloud .

gcloud

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

gcloud container clusters create CLUSTER_NAME \
    --shielded-secure-boot

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

gcloud container node-pools create POOL_NAME \
    --shielded-secure-boot

ההפעלה המאובטחת מושבתת כברירת מחדל. אפשר להשבית אותו באופן מפורש כשיוצרים אשכול או מאגר צמתים באמצעות האפשרות --no-shielded-secure-boot.

המסוף

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

  1. עוברים לדף Google Kubernetes Engine במסוף Google Cloud .

    מעבר אל Google Kubernetes Engine

  2. לוחצים על השם של האשכול שרוצים לשנות.

  3. לוחצים על הוספת מאגר צמתים.

  4. בתפריט הניווט, לוחצים על אבטחה.

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

  6. לוחצים על יצירה.

מעקב אחר תקינות

מעקב אחר שלמות היא הגדרה של מאגר צמתים שמופעלת כברירת מחדל ב-GKE. אפשר להשבית את המעקב אחר תקינות באמצעות Google Cloud CLI או מסוף Google Cloud .

gcloud

כדי להשבית את המעקב אחר תקינות רכיבי המערכת כשיוצרים מאגר צמתים:

gcloud container node-pools create POOL_NAME \
    --no-shielded-integrity-monitoring

המעקב אחר שלמות האפליקציה מופעל כברירת מחדל. אפשר להפעיל אותו באופן מפורש כשיוצרים מאגר צמתים באמצעות האפשרות --shielded-integrity-monitoring.

המסוף

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

  1. עוברים לדף Google Kubernetes Engine במסוף Google Cloud .

    מעבר אל Google Kubernetes Engine

  2. לוחצים על השם של האשכול שרוצים לשנות.

  3. לוחצים על הוספת מאגר צמתים.

  4. בחלונית הניווט, לוחצים על אבטחה.

  5. בקטע Shielded options (אפשרויות מוגנות), מבטלים את הסימון בתיבה Enable integrity monitoring (הפעלת מעקב אחר תקינות).

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