יישום אסטרטגיית Observability מקיפה למערכת מבוזרת.
→אסוף וקשר את שלושת העמודים: Metrics (נתוני סדרות זמן מספריות דרך Prometheus), Logs (אירועים מובנים דרך Fluent Bit), ו-Traces (זרימות בקשות דרך OpenTelemetry).
למה: אף עמוד בודד אינו מספיק. קישור ביניהם (לדוגמה, הטמעת Trace IDs ביומנים) חיוני לאבחון מהיר של בעיות בארכיטקטורות מיקרו-שירותים מורכבות.
אכיפת מדיניות אבטחה וארגונית בכל אשכולות Kubernetes באופן אוטומטי.
→השתמש במנוע מדיניות כמו OPA/Gatekeeper או Kyverno, משולב כבקר אישור מאמת/משנה (validating/mutating admission controller). אחסן מדיניות ב-Git וסנכרן אותן דרך GitOps.
למה: זה מספק מעקות הגנה אוטומטיים ומונעים, המעניקים למפתחים משוב מהיר בצינור ה-CI/CD שלהם במקום שערי בדיקה איטיים וידניים.
בחר מנוע מדיניות עבור Kubernetes בהתבסס על מערך הכישורים של הצוות ומורכבות המדיניות.
→השתמש ב-Kyverno עבור מדיניות שניתן לבטא ב-YAML מוכר בסגנון Kubernetes. השתמש ב-OPA/Gatekeeper עבור מדיניות מורכבת הדורשת שפה חזקה וייעודית יותר (Rego) ואינטגרציה של נתונים חיצוניים.
למה: ל-Kyverno עקומת למידה נמוכה יותר עבור מתרגלי Kubernetes. OPA/Rego חזקים יותר אך דורשים לימוד שפה חדשה.
הבטחת שלמות ואותנטיות תמונות קונטיינרים שנפרסות לייצור.
→יישם חתימת תמונות בצינור ה-CI באמצעות Sigstore/Cosign. השתמש בבקר מדיניות (Kyverno, Gatekeeper) כדי ליצור מדיניות קבלה (admission policy) שמאמתת חתימות תמונות לפני שמאפשרת יצירת Pod.
למה: זה מבטיח שרק תמונות שנבנו על ידי צינורות CI מהימנים ושלא שונו יכולות לרוץ באשכול, ומונע ביצוע קוד בלתי מורשה.
מקור↗
אבטח את כל התקשורת שבין שירותים בתוך האשכול בגישת Zero-Trust.
→פרוס Service Mesh (לדוגמה, Istio, Linkerd) ואפשר mTLS הדוק (mutual TLS) לכל התעבורה בתוך הרשת.
למה: mTLS מספק הן הצפנה בתעבורה והן זהות חזקה וניתנת לאימות קריפטוגרפי עבור הלקוח והשרת כאחד, ומונע התחזות והתקפות Man-in-the-Middle בתוך האשכול.
אכיפת שיטות אבטחה מומלצות לכל העומסים (workloads) הפועלים באשכול.
→הפעל את בקר ה-Pod Security Admission המובנה. הגדר Namespaces לאכוף את פרופיל ה-`restricted` עבור עומסים ואת ה-`baseline` עבור רכיבי פלטפורמה.
למה: פרופיל ה-`restricted` אוכף הידוק אבטחה קריטי (לדוגמה, הרצה כמשתמש לא-שורש, הורדת כל היכולות, איסור על הרחבת הרשאות) ומהווה אמצעי אבטחה יסודי.
מקור↗
זיהוי התנהגות חריגה או זדונית בתוך קונטיינרים פועלים ברמת מערכת ההפעלה.
→פרוס כלי אבטחה בזמן ריצה המשתמש ב-eBPF, כגון Falco או Tetragon. הגדר כללים לזיהוי קריאות מערכת חשודות, גישה לקבצים וביצוע תהליכים.
למה: כלי אבטחה מסורתיים עיוורים לפעילות בתוך קונטיינרים. eBPF מספק נראות עמוקה ובעלת תקורה נמוכה לאירועים ברמת הליבה, ומאפשר זיהוי איומים שכלים אחרים מחמיצים.
בניית צינור נתונים (pipeline) של Observability שניתן להרחבה ועמיד.
→השתמש ב-OpenTelemetry (OTel) Collector. שרשר מעבדים (processors) כדי לשנות נתונים (לדוגמה, מעבד `attributes` להסרת PII, מעבד `batch` ליעילות). השתמש במעבד `memory_limiter` מוקדם בצינור כדי למנוע OOMs.
למה: ה-Collector מנתק את ה-instrumentation מה-backends ומספק דרך גמישה וניטרלית לספק לעבד, לסנן ולנתב נתוני טלמטריה לפני הייצוא.
מקור↗