נקודות השוואה של CIS

במאמר הזה נסביר על CIS Kubernetes Benchmark. במאמר מוסבר גם:

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

שימוש בהשוואות ביצועים של CIS

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

גרסאות

שימו לב: מספרי הגרסאות של מדדים שונים עשויים להיות שונים.

המסמך הזה מתייחס לגרסאות הבאות:

גרסת Anthos גרסת Kubernetes גרסת ה-CIS Kubernetes Benchmark
1.14.0 1.25.3 ‫1.23

‫CIS Kubernetes Benchmark

גישה להשוואה לשוק

ההשוואה לשוק של CIS Kubernetes זמינה באתר CIS.

רמות ההמלצות

ב-CIS Kubernetes Benchmark יש שתי רמות של המלצות.

רמה תיאור
רמה 1

ההמלצות נועדו:

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

    הרחבה של פרופיל רמה 1.

    ההמלצות הן לגבי אחד או יותר מהמאפיינים הבאים:

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

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

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

    הערכה ב-GKE ב-AWS

    אנחנו משתמשים בערכים הבאים כדי לציין את הסטטוס של המלצות Kubernetes ב-GKE ב-AWS:

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

    סטטוס ב-GKE ב-AWS

    כשיוצרים אשכול חדש עם הגרסה שצוינה, כך הוא יפעל בהשוואה ל-CIS Kubernetes Benchmark.

    הסטטוס של אשכולות GKE ב-AWS:

    # המלצה רמה סטטוס
    1 הגדרת אבטחה של מישור הבקרה
    1.1 קובצי הגדרה של צומת מישור הבקרה
    1.1.1 מוודאים שההרשאות של קובץ המפרט של ה-API server pod מוגדרות ל-644 או להגדרה מגבילה יותר (אוטומטית) L1 האימות הצליח
    1.1.2 מוודאים שהבעלות על קובץ המפרט של ה-pod של שרת ה-API מוגדרת ל-root:root (אוטומטי) L1 האימות הצליח
    1.1.3 מוודאים שהרשאות הגישה לקובץ המפרט של ה-pod של מנהל הבקר מוגדרות ל-644 או להרשאות מוגבלות יותר (אוטומטי) L1 האימות הצליח
    1.1.4 מוודאים שהבעלות על קובץ המפרט של ה-pod של מנהל בקרים מוגדרת כ-root:root (אוטומטי) L1 האימות הצליח
    1.1.5 מוודאים שההרשאות של קובץ המפרט של ה-pod של מתזמן המשימות מוגדרות ל-644 או להרשאות מגבילות יותר (אוטומטי) L1 האימות הצליח
    1.1.6 מוודאים שהבעלות על קובץ המפרט של ה-pod של מתזמן המשימות מוגדרת ל-root:root (אוטומטי) L1 האימות הצליח
    1.1.7 מוודאים שההרשאות של קובץ המפרט של ה-pod של etcd מוגדרות ל-644 או להרשאות מגבילות יותר (אוטומטי) L1 האימות הצליח
    1.1.8 מוודאים שהבעלות על קובץ המפרט של ה-pod של etcd מוגדרת ל-root:root (אוטומטי) L1 האימות הצליח
    1.1.9 מוודאים שהרשאות הקובץ של Container Network Interface מוגדרות ל-644 או להרשאות מגבילות יותר (ידני) L1 בקרות מקבילות
    1.1.10 מוודאים שהבעלות על קובץ Container Network Interface מוגדרת ל-root:root (ידני) L1 בקרות מקבילות
    1.1.11 מוודאים שההרשאות של ספריית הנתונים של etcd מוגדרות ל-700 או להגדרה מגבילה יותר (אוטומטי) L1 בקרות מקבילות
    1.1.12 מוודאים שהבעלות על ספריית הנתונים של etcd מוגדרת ל-etcd:etcd (אוטומטי) L1 בקרות מקבילות
    1.1.13 מוודאים שהרשאות הקובץ admin.conf מוגדרות ל-600 או להרשאות מגבילות יותר (אוטומטי) L1 בקרות מקבילות
    1.1.14 מוודאים שהבעלות על קובץ ההגדרות של האדמין. מוגדרת ל-root:root (אוטומטי) L1 בקרות מקבילות
    1.1.15 מוודאים שההרשאות של קובץ ההגדרות של מתזמן המשימות.מוגדרות ל-644 או להרשאות מוגבלות יותר (אוטומטי) L1 האימות הצליח
    1.1.16 מוודאים שהבעלות על קובץ ההגדרות של מתזמן המשימות.מוגדרת לroot:root (אוטומטי) L1 האימות הצליח
    1.1.17 מוודאים שההרשאות של קובץ ההגדרות controller-manager. מוגדרות ל-644 או להגבלות מחמירות יותר (אוטומטי). L1 האימות הצליח
    1.1.18 מוודאים שהבעלות על קובץ ההגדרות של controller-manager. מוגדרת ל-root:root (אוטומטי) L1 האימות הצליח
    1.1.19 מוודאים שהבעלות על הקובץ והספרייה של Kubernetes PKI מוגדרת ל-root:root (אוטומטי) L1 האימות הצליח
    1.1.20 מוודאים שההרשאות של קובץ אישור ה-PKI של Kubernetes מוגדרות ל-644 או להרשאות מגבילות יותר (ידני) L1 האימות הצליח
    1.1.21 מוודאים שההרשאות של קובץ המפתח של Kubernetes PKI מוגדרות ל-600 (ידני) L1 האימות הצליח
    1.2 API Server
    1.2.1 מוודאים שהארגומנט --anonymous-auth מוגדר כ-false (ידני) L1 האימות הצליח
    1.2.2 מוודאים שהפרמטר --token-auth-file לא מוגדר (אוטומטי) L1 האימות הצליח
    1.2.3 מוודאים שההגדרה --DenyServiceExternalIPs לא מוגדרת (אוטומטית) L1 האימות הצליח
    1.2.4 מוודאים שהארגומנט --kubelet-https מוגדר כ-true (אוטומטי). L1 האימות הצליח
    1.2.5 מוודאים שהארגומנטים --kubelet-client-certificate ו---kubelet-client-key מוגדרים בצורה המתאימה (אוטומטית) L1 האימות הצליח
    1.2.6 מוודאים שהארגומנט --kubelet-certificate-authority מוגדר בצורה המתאימה (אוטומטי) L1 האימות הצליח
    1.2.7 מוודאים שהארגומנט --authorization-mode לא מוגדר כ-AlwaysAllow (אוטומטי) L1 האימות הצליח
    1.2.8 מוודאים שהארגומנט --authorization-mode כולל את Node (אוטומטי) L1 האימות הצליח
    1.2.9 מוודאים שהארגומנט --authorization-mode כולל RBAC (אוטומטי) L1 האימות הצליח
    1.2.10 מוודאים שהפלאגין EventRateLimit של בקרת הכניסה מוגדר (ידני) L1 אזהרה
    1.2.11 מוודאים שפלאגין בקרת הכניסה AlwaysAdmit לא מוגדר (אוטומטי) L1 האימות הצליח
    1.2.12 מוודאים שהפלאגין לבקרת כניסה AlwaysPullImages מוגדר (ידני) L1 אזהרה
    1.2.13 מוודאים שהפלאגין SecurityContextDeny של בקרת הכניסה מוגדר אם לא נעשה שימוש ב-PodSecurityPolicy (ידני) L1 בקרות מקבילות
    1.2.14 מוודאים שחשבון השירות של הפלאגין לבקרת כניסה מוגדר (אוטומטית) L1 האימות הצליח
    1.2.15 מוודאים שמרחב השמות NamespaceLifecycle של הפלאגין לבקרת כניסה מוגדר (אוטומטי) L1 האימות הצליח
    1.2.16 מוודאים שהפלאגין NodeRestriction של בקרת הגישה מוגדר (אוטומטי) L1 האימות הצליח
    1.2.17 מוודאים שהארגומנט --secure-port לא מוגדר ל-0 (אוטומטי) L1 האימות הצליח
    1.2.18 מוודאים שהארגומנט --profiling מוגדר כ-false (אוטומטי) L1 האימות הצליח
    1.2.19 מוודאים שהארגומנט --audit-log-path מוגדר (אוטומטי) L1 בקרות מקבילות
    1.2.20 מוודאים שהארגומנט --audit-log-maxage מוגדר לערך 30 או לערך המתאים (אוטומטי) L1 בקרות מקבילות
    1.2.21 מוודאים שהארגומנט --audit-log-maxbackup מוגדר לערך 10 או לערך המתאים (אוטומטי) L1 בקרות מקבילות
    1.2.22 מוודאים שהארגומנט --audit-log-maxsize מוגדר לערך 100 או לערך המתאים (אוטומטי) L1 בקרות מקבילות
    1.2.23 מוודאים שהארגומנט --request-timeout מוגדר בצורה המתאימה (ידנית) L1 האימות הצליח
    1.2.24 מוודאים שהארגומנט --service-account-lookup מוגדר כ-true (אוטומטי). L1 האימות הצליח
    1.2.25 מוודאים שהארגומנט --service-account-key-file מוגדר בצורה המתאימה (אוטומטי) L1 האימות הצליח
    1.2.26 מוודאים שהארגומנטים --etcd-certfile ו---etcd-keyfile מוגדרים בצורה המתאימה (אוטומטית) L1 האימות הצליח
    1.2.27 מוודאים שהארגומנטים --tls-cert-file ו---tls-private-key-file מוגדרים בצורה המתאימה (אוטומטית) L1 האימות הצליח
    1.2.28 מוודאים שהארגומנט --client-ca-file מוגדר בצורה המתאימה (אוטומטי) L1 האימות הצליח
    1.2.29 מוודאים שהארגומנט --etcd-cafile מוגדר בצורה המתאימה (אוטומטי) L1 האימות הצליח
    1.2.30 מוודאים שהארגומנט --encryption-provider-config מוגדר בצורה המתאימה (ידנית) L1 האימות הצליח
    1.2.31 מוודאים שספקי ההצפנה מוגדרים בצורה מתאימה (ידנית) L1 האימות הצליח
    1.2.32 מוודאים ששרת ה-API משתמש רק בצפנים קריפטוגרפיים חזקים (ידני) L1 האימות הצליח
    1.3 Controller Manager
    1.3.1 מוודאים שהארגומנט --terminated-pod-gc-threshold מוגדר בצורה המתאימה (ידנית) L1 האימות הצליח
    1.3.2 מוודאים שהארגומנט --profiling מוגדר כ-false (אוטומטי) L1 האימות הצליח
    1.3.3 מוודאים שהארגומנט --use-service-account-credentials מוגדר כ-true (אוטומטי). L1 האימות הצליח
    1.3.4 מוודאים שהארגומנט --service-account-private-key-file מוגדר בצורה המתאימה (אוטומטי) L1 האימות הצליח
    1.3.5 מוודאים שהארגומנט --root-ca-file מוגדר בצורה המתאימה (אוטומטי) L1 האימות הצליח
    1.3.6 מוודאים שהארגומנט RotateKubeletServerCertificate מוגדר כ-true (אוטומטי) L2 האימות הצליח
    1.3.7 מוודאים שהארגומנט --bind-address מוגדר ל-127.0.0.1 (אוטומטי) L1 האימות הצליח
    1.4 Scheduler
    1.4.1 מוודאים שהארגומנט --profiling מוגדר כ-false (אוטומטי) L1 האימות הצליח
    1.4.2 מוודאים שהארגומנט --bind-address מוגדר ל-127.0.0.1 (אוטומטי) L1 האימות הצליח
    2 הגדרה של צומת etcd
    2 הגדרה של צומת etcd
    ‫2.1 מוודאים שהארגומנטים --cert-file ו---key-file מוגדרים בצורה המתאימה (אוטומטית) L1 האימות הצליח
    ‫2.2 מוודאים שהארגומנט --client-cert-auth מוגדר כ-true (אוטומטי). L1 האימות הצליח
    ‫2.3 מוודאים שהארגומנט --auto-tls לא מוגדר כ-true (אוטומטי) L1 האימות הצליח
    2.4 מוודאים שהארגומנטים --peer-cert-file ו---peer-key-file מוגדרים בצורה המתאימה (אוטומטית) L1 האימות הצליח
    2.5 מוודאים שהארגומנט --peer-client-cert-auth מוגדר כ-true (אוטומטי). L1 האימות הצליח
    ‫2.6 מוודאים שהארגומנט --peer-auto-tls לא מוגדר כ-true (אוטומטי) L1 האימות הצליח
    2.7 מוודאים שנעשה שימוש ברשות אישורים ייחודית עבור etcd (ידני) L2 האימות הצליח
    3 הגדרה של Control Plane
    3.1 אימות והרשאה
    3.1.1 אין להשתמש באימות באמצעות אישור לקוח עבור משתמשים (ידני) L2 בקרות מקבילות
    3.2 Logging
    3.2.1 מוודאים שנוצרה מדיניות ביקורת מינימלית (ידנית) L1 האימות הצליח
    3.2.2 מוודאים שמדיניות הביקורת כוללת את בעיות האבטחה העיקריות (ידני) L2 בקרות מקבילות
    4 הגדרת אבטחה של Worker Node
    4.1 קובצי הגדרה של צומתי Worker
    4.1.1 מוודאים שההרשאות של קובץ השירות kubelet מוגדרות ל-644 או להרשאות מגבילות יותר (אוטומטי) L1 האימות הצליח
    4.1.2 מוודאים שהבעלות על קובץ השירות kubelet מוגדרת ל-root:root (אוטומטי) L1 האימות הצליח
    4.1.3 אם קיים קובץ kubeconfig של proxy, צריך לוודא שההרשאות מוגדרות ל-644 או להרשאות מוגבלות יותר (ידני) L1 האימות הצליח
    4.1.4 אם קיים קובץ kubeconfig של שרת proxy, צריך לוודא שהבעלות מוגדרת ל-root:root (ידני) L1 האימות הצליח
    4.1.5 מוודאים שההרשאות של קובץ --kubeconfig kubelet.conf מוגדרות ל-644 או להגדרה מגבילה יותר (אוטומטית) L1 האימות הצליח
    4.1.6 מוודאים שהבעלות על קובץ ההגדרות --kubeconfig kubelet. מוגדרת ל-root:root (אוטומטי) L1 האימות הצליח
    4.1.7 מוודאים שהרשאות הקובץ של רשויות האישורים מוגדרות ל-644 או להרשאות מגבילות יותר (ידני) L1 האימות הצליח
    4.1.8 מוודאים שהבעלות על קובץ רשויות האישורים של הלקוח מוגדרת ל-root:root (ידני) L1 האימות הצליח
    4.1.9 מוודאים שקובץ התצורה של kubelet‏ --config כולל הרשאות שמוגדרות ל-644 או להרשאות מגבילות יותר (אוטומטי) L1 האימות הצליח
    4.1.10 מוודאים שהבעלות על קובץ התצורה של kubelet‏ --config מוגדרת ל-root:root (אוטומטי) L1 האימות הצליח
    4.2 Kubelet
    4.2.1 מוודאים שהארגומנט --anonymous-auth מוגדר כ-false (אוטומטי) L1 האימות הצליח
    4.2.2 מוודאים שהארגומנט --authorization-mode לא מוגדר כ-AlwaysAllow (אוטומטי) L1 האימות הצליח
    4.2.3 מוודאים שהארגומנט --client-ca-file מוגדר בצורה המתאימה (אוטומטי) L1 האימות הצליח
    4.2.4 מוודאים שהארגומנט --read-only-port מוגדר לערך 0 (ידני) L1 האימות נכשל
    4.2.5 מוודאים שהארגומנט --streaming-connection-idle-timeout לא מוגדר כ-0 (ידני) L1 האימות הצליח
    4.2.6 מוודאים שהארגומנט --protect-kernel-defaults מוגדר כ-true (אוטומטי). L1 האימות נכשל
    4.2.7 מוודאים שהארגומנט --make-iptables-util-chains מוגדר כ-true (אוטומטי). L1 האימות הצליח
    4.2.8 מוודאים שהארגומנט --hostname-override לא מוגדר (ידני) L1 האימות הצליח
    4.2.9 מוודאים שהארגומנט --event-qps מוגדר לערך 0 או לרמה שמבטיחה תיעוד מתאים של האירוע (ידני) L2 אזהרה
    4.2.10 מוודאים שהארגומנטים --tls-cert-file ו---tls-private-key-file מוגדרים בצורה מתאימה (ידנית) L1 בקרות מקבילות
    4.2.11 מוודאים שהארגומנט --rotate-certificates לא מוגדר כ-false (אוטומטי) L1 האימות הצליח
    4.2.12 מוודאים שהארגומנט RotateKubeletServerCertificate מוגדר כ-true (ידני) L1 האימות הצליח
    4.2.13 מוודאים ש-Kubelet משתמש רק בצפנים קריפטוגרפיים חזקים (ידני) L1 האימות הצליח
    תיאורים של כשלים ואמצעי בקרה מקבילים באשכול אדמין של GKE ב-AWS:
    # המלצה רמה סטטוס ערך נימוק
    1.1.9 מוודאים שהרשאות הקובץ של Container Network Interface מוגדרות ל-644 או להרשאות מגבילות יותר (ידני) L1 בקרות מקבילות 755 הנתיב של ממשק רשת הקונטיינרים באשכולות Anthos ב-AWS הוא /opt/cni/bin, וההרשאה שלו מוגדרת ל-755 לפעולה רגילה של האשכול.
    1.1.10 מוודאים שהבעלות על קובץ Container Network Interface מוגדרת ל-root:root (ידני) L1 בקרות מקבילות root:root הנתיב של ממשק רשת המכולות באשכולות Anthos ב-AWS הוא /opt/cni/bin, והבעלות שלו מוגדרת כ-root:root.
    1.1.11 מוודאים שההרשאות של ספריית הנתונים של etcd מוגדרות ל-700 או להגדרה מגבילה יותר (אוטומטי) L1 בקרות מקבילות 755 לספריית הנתונים של etcd‏ /opt/data/var/lib/etcd יש הרשאות ברירת מחדל 755, אבל לספריות המשנה שלה יש הרשאות 700.
    1.1.12 מוודאים שהבעלות על ספריית הנתונים של etcd מוגדרת ל-etcd:etcd (אוטומטי) L1 בקרות מקבילות root:root קונטיינר etcd פועל כ-root וספריית הנתונים של etcd נמצאת בבעלות של root:root.
    1.1.13 מוודאים שהרשאות הקובץ admin.conf מוגדרות ל-600 או להרשאות מגבילות יותר (אוטומטי) L1 בקרות מקבילות not set אשכולות Anthos ב-AWS לא תומכים ב-kubeadm.
    1.1.14 מוודאים שהבעלות על קובץ ההגדרות של האדמין. מוגדרת ל-root:root (אוטומטי) L1 בקרות מקבילות not set אשכולות Anthos ב-AWS לא תומכים ב-kubeadm.
    1.2.10 מוודאים שהפלאגין EventRateLimit של בקרת הכניסה מוגדר (ידני) L1 אזהרה not set אשכולות Anthos ב-AWS לא תומכים בבקרת הכניסה Event Rate Limit כי זו תכונת אלפא של Kubernetes.
    1.2.12 מוודאים שהפלאגין לבקרת כניסה AlwaysPullImages מוגדר (ידני) L1 אזהרה not set בקרת הכניסה AlwaysPullImages מספקת הגנה מסוימת לתמונות של רישום פרטי באשכולות מרובי דיירים לא שיתופיים, אבל היא הופכת את רישומי הקונטיינרים לנקודת כשל יחידה ליצירת Pod חדשים בכל האשכול. ב-GKE on AWS לא מופעל בקר בקרת הגישה AlwaysPullImages, ולכן אדמינים של אשכולות צריכים להטמיע מדיניות של בקרת גישה כדי להחליט בעצמם מה חשוב יותר.
    1.2.13 מוודאים שהפלאגין SecurityContextDeny של בקרת הכניסה מוגדר אם לא נעשה שימוש ב-PodSecurityPolicy (ידני) L1 בקרות מקבילות not set באשכולות Anthos ב-AWS מוגדרים כללי מדיניות ברירת מחדל לאבטחה. לקוחות יכולים להגדיר אפשרויות שקשורות לאבטחה באמצעות הקשר אבטחה. מידע נוסף על סקירה כללית על אבטחה
    1.2.19 מוודאים שהארגומנט --audit-log-path מוגדר (אוטומטי) L1 בקרות מקבילות not set אשכולות Anthos ב-AWS מספקים אפשרות לרישום ביומן ביקורת בענן. מידע נוסף על יומני ביקורת של Cloud
    1.2.20 מוודאים שהארגומנט --audit-log-maxage מוגדר לערך 30 או לערך המתאים (אוטומטי) L1 בקרות מקבילות not set אשכולות Anthos ב-AWS מספקים אפשרות לרישום ביומן ביקורת בענן. מידע נוסף על יומני ביקורת של Cloud
    1.2.21 מוודאים שהארגומנט --audit-log-maxbackup מוגדר לערך 10 או לערך המתאים (אוטומטי) L1 בקרות מקבילות not set אשכולות Anthos ב-AWS מספקים אפשרות לרישום ביומן ביקורת בענן. מידע נוסף על יומני ביקורת של Cloud
    1.2.22 מוודאים שהארגומנט --audit-log-maxsize מוגדר לערך 100 או לערך המתאים (אוטומטי) L1 בקרות מקבילות not set אשכולות Anthos ב-AWS מספקים אפשרות לרישום ביומן ביקורת בענן. מידע נוסף על יומני ביקורת של Cloud
    3.1.1 אין להשתמש באימות באמצעות אישור לקוח עבור משתמשים (ידני) L2 בקרות מקבילות אשכולות Anthos ב-AWS תומכים ב-OIDC כאחד ממנגנוני האימות לחיבור לאשכול. מידע נוסף על חיבור לאשכול ואימות שלו
    3.2.2 מוודאים שמדיניות הביקורת כוללת את בעיות האבטחה העיקריות (ידני) L2 בקרות מקבילות not set אשכולות Anthos ב-AWS מספקים אפשרות לרישום ביומן ביקורת בענן. מידע נוסף על יומני ביקורת של Cloud
    4.2.4 מוודאים שהארגומנט --read-only-port מוגדר לערך 0 (ידני) L1 האימות נכשל 10255 בשלב הזה, באשכולות Anthos ב-AWS הארגומנט ‎--read-only-port מוגדר ל-10255 לצורך איסוף מדדים מ-kubelet.
    4.2.6 מוודאים שהארגומנט --protect-kernel-defaults מוגדר כ-true (אוטומטי). L1 האימות נכשל false אשכולות Anthos ב-AWS מאפשרים ל-kubelet להגדיר את הגדרות הליבה הנדרשות.
    4.2.9 מוודאים שהארגומנט --event-qps מוגדר לערך 0 או לרמה שמבטיחה תיעוד מתאים של האירוע (ידני) L2 אזהרה not set אירועים הם אובייקטים של Kubernetes שמאוחסנים ב-etcd. כדי למנוע עומס על etcd, הם נשמרים רק למשך שעה אחת, והם לא מנגנון מתאים לביקורת אבטחה. אם מאפשרים אירועים ללא הגבלה כמו שמוצע באמצעי הבקרה הזה, האשכול נחשף לסיכון מיותר של מתקפת DoS, וזה סותר את ההמלצה להשתמש ב-EventRateLimits של בקרת הכניסה. אירועים שקשורים לאבטחה וצריך לאחסן אותם באופן קבוע צריכים להישלח ליומנים.
    4.2.10 מוודאים שהארגומנטים --tls-cert-file ו---tls-private-key-file מוגדרים בצורה מתאימה (ידנית) L1 בקרות מקבילות not set אשכולות Anthos ב-AWS מנהלים את TLS של שרת kubelet באמצעות הדגל serverTLSBootstrap.

    איך מבצעים ביקורת על מדדי השוואה

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

    ביקורת אוטומטית של CIS Kubernetes Benchmark

    אפשר להשתמש בכלי קוד פתוח kube-bench כדי לבדוק את הגדרת האשכול בהשוואה ל-CIS Kubernetes Benchmark.

    חשוב לציין את הגרסה המתאימה, לדוגמה,

    kube-bench node --benchmark cis-1.23