שליטה בהתנהגות קונטיינרים: היכן נשברת Aqua Security
האימג' נבנה ממקור מהימן, נחתם ועבר בדיקת חולשות — ובכל זאת בפרודקשן בתוך הקונטיינר מתגלה תהליך זר. לרוב מדובר במעטפת שהורמה דרך גישת דיבאג, או בבינארי זר שנגרר כבר בשלב ההרצה. סורקי הבנייה שותקים: מערכת הקבצים של האימג' לא השתנתה אפילו בבייט אחד.
הסיבה היא שבדיקות בשלב הבנייה עונות על השאלה «מה נמצא באימג'», ולא «מה קורה בו». הגנת קונטיינרים בזמן ריצה היא שכבה נפרדת: תצפית על ההתנהגות בפועל של הקונטיינר בפרודקשן.
אנומליה כמעט תמיד נראית לא בקבצים, אלא בקריאות מערכת — הפעלה לא צפויה של תהליך, פנייה לנתיבים רגישים, ניסיון לפתוח פורט רשת החוצה.
Aqua Security מכסה את האזור הזה כך: עבור כל אימג' נבנה פרופיל התנהגות מותרת, וכל סטייה — קובץ הרצה חדש, ירושת הרשאות, כתיבה לספריות מערכת — נרשמת ונעצרת לפי מדיניות מוגדרת. ההגדרה מצטמצמת לכך שזיהוי אנומליות בקונטיינר יופעל לא בדיעבד בדוח, אלא ברגע האירוע בסביבת הייצור.
בהמשך נפרט כיצד זה בנוי: שליטה בתהליכים בתוך האימג', מצבי תגובה להתראה וסדר ניתוח אותות שווא.
מה נותן שליטה בהתנהגות באשכול הייצור
שליטה בהתנהגות באשכול הייצור היא לא סורק אימג'ים נוסף, אלא השוואה מתמשכת בין הפעולות בפועל של הקונטיינר לבין פרופיל הייחוס.
כל עוד העומס מתנהג כצפוי, הוא פועל; ברגע שמופיעה בו מעטפת, פנייה לקובץ לא אופייני או בקשה יוצאת ליעד לא מורשה — הכלל מופעל, והתהליך נעצר לפני שהוא מספיק להזיק.
בדיוק את זה בדיקת האימג'ים לא רואה: היא מעריכה את התוכן לפני ההרצה, ולא את מה שקורה אחריה. ב-Aqua Security כללים כאלה מתוארים כפרופילי התנהגות — בנפרד לכל עומס, עם מצב תצפית בזמן למידה, כדי לא לחסום פעולות לגיטימיות.
זמן התגובה לאירוע מתקצר משעות לדקות בזכות הקשר מוכן: איזה תהליך, מאיזה אימג', באיזה צומת, ומה קדם לו. חלק מההתראות נסגרות אוטומטית לפי מדיניות, והתורן נותר עם ניתוח מקרים בודדים, ולא עם מעבר ידני על לוגים בכל הקונטיינרים.
הנראות הופכת לרוחבית: יומן אירועים אחיד לכל העומסים מראה אחרי איזה עדכון ההתנהגות השתנתה, ומאפשר להתאים זאת לשחרור מסוים. נעלם סוג שלם של תקלות — הרצת קוד זר בתוך קונטיינר שכבר פועל. העדכונים נעשים צפויים יותר: אי-התאמה לפרופיל הייחוס נראית לפני הפריסה, ולא לאחר תקלה.
מצבי שליטה בהתנהגות: התראתי, חוסם, מבודד
המצבים נבדלים לא בעומק הבדיקות, אלא בתוצאה של ההתראה: התראתי מתעד סטייה, חוסם לא נותן לתהליך לבצע פעולה אסורה, מבודד מוציא את הקונטיינר מפעולה. לכן בחירת מצב היא בראש ובראשונה בחירה בין סיכון להשבתה לבין סיכון לפריצה.
| מצב | מתי מתאים | מגבלות |
|---|---|---|
| התראתי | השבועות הראשונים לאחר הפעלת שליטה בהתנהגות, כשהנוהל עוד לא מכויל, ולעומסים עם אנומליות לגיטימיות תכופות | לא מונע דבר: התראות נראות באירועים, אבל התקיפה ממשיכה. נדרש ניתוח קבוע של שטף האזהרות, אחרת הרעש גדל ומפסיקים לקרוא אותו |
| חוסם | לשירותים עם פרופיל התנהגות יציב, שבהם מחיר עצירה שגויה נמוך ממחיר האירוע | התראת שווא עוצרת פעולה מסוימת, ולכן חובה כללי חריגה וסדר ברור לניתוח — מי ולפי איזה סימן מסיר התראה |
| מבודד | למקטעים קריטיים, שבהם פריצה של קונטיינר אחד אינה קבילה | הקונטיינר מאבד רשת וחלק מהפעולות, והתעבורה עוברת למופעי גיבוי. דורש בדיקות מוכנות וסקיילינג אוטומטי מכוילים, אחרת הבידוד הופך לזמינות מתחת לנורמה |
מעבירים עומסים בין המצבים בשלבים: תחילה התראתי ואיסוף פרופיל, אחר כך חוסם בשירותים שנבדקו, ובידוד — רק במקום שבו תורגלה חזרה לאחור.
כללי חריגה ב-Aqua Security מנוהלים כקוד, עם קישור לגרסת האימג', ונבחנים מחדש בכל שחרור — אחרת אחרי עדכון השירות מצב חוסם יתחיל לעצור תהליכים שגרתיים.
הטמעת Aqua Security: ביקורת, סביבת בדיקות, פרופילים, מסירה
הטמעת Aqua Security אנחנו בונים כך שהפעלת כללים חוסמים לא תעצור את הפריסה. תחילה מתעדים את מצב הסביבה בפועל, אחר כך אוספים פרופילי התנהגות על עומס אמיתי, ורק לאחר מכן מעבירים כללים ממצב תצפית לחסימה. כל שלב מסתיים בארטיפקט שלפיו הלקוח רואה את התוצאה ויכול לבדוק אותה.
- מיפוי מלאי הסביבה והעומסים. אוספים מפת אשכולות וסביבות, מאגרי אימג'ים, בעלי שירותים. מיד מסמנים היכן הסוכן מותקן בהרשאות גבוהות, והיכן מספיק מצב מוגבל — מזה תלוי תוכנית הפריסה.
- ביקורת גישות וכללים פעילים. מפרקים תפקידים, חשבונות שירות, תוקף מפתחות, חפיפות הרשאות בין צוותים. בפלט — רשימת מה שכבר סגור, ורשימת פערים לפי עדיפות.
- פריסה בסביבת בדיקות. העתק של סביבת הייצור עם סט שירותים טיפוסי. בודקים שהסוכן לא שובר את הבנייה והפריסה ולא לוקח נתח ניכר מהמשאבים של העומסים.
- אימון פרופילי התנהגות. שבוע-שבועיים של תצפית: המערכת בונה קו בסיס לפי תהליכים שמופעלים, חיבורי רשת ופעולות קבצים. סטיות נכנסות לדוח, ולא לחסימה.
- בדיקת כללים בסביבת הבדיקות. משחזרים תרחישים טיפוסיים: הפעלת מעטפת בתוך קונטיינר, פנייה לכתובת חיצונית, כתיבה לספריות מערכת. מוודאים שהכלל מופעל ונותן הודעה ברורה למהנדס.
- הפעלה מדורגת בסביבת הייצור. הסדר — פיתוח, טרום-פרודקשן, פרודקשן. חסימה מפעילים כלל אחד בכל פעם, עם חלון תצפית וחזרה מהירה למצב הקודם.
- מסירה לתפעול. מוסרים נוהלי תגובה, הוראות לתורן, תרשים תפקידים וגישות, סדר עדכון פרופילים. לאחר פרק זמן מוסכם מבצעים ריצת בקרה ומתקנים כללים.
מה נשאר בידיים: מדיניות, פרופילים, נהלים
ההטמעה מסתיימת לא בשליטה מופעלת, אלא במסירת חבילה שלפיה צוות התפעול שלכם ממשיך לעבוד בלעדינו. כל מה שמוגדר ב-Aqua Security מתועד כארטיפקטים עם גרסאות במאגר שלכם: כללים נשמרים כטקסט, עוברים סקירה וחוזרים לגרסה קודמת, ולא חיים רק בממשק הווב.
- מדיניות שליטה בהתנהגות — מה מותר לתהליכים בתוך הקונטיינר: הפעלת מעטפת, כתיבה לספריות מערכת, שינוי בינאריים, חיבורים יוצאים. לכל כלל מצוין מצב (התראה או חסימה) והיקף פעולה, כדי להפעיל מגבלות בהדרגה בלי לעצור שירותים.
- פרופילי התנהגות של יישומים — קווי בסיס שנאספו במצב למידה על תעבורה אמיתית. רואים אילו תהליכים, קבצים וחיבורים הם נורמליים לשירות; כל מה שסוטה מהפרופיל הופך לאות, ולא לרקע.
- תרשים תפקידים וגישות — מי מהצוות צופה באירועים, מי משנה מדיניות, מי סוגר התראות. בנפרד מופרדות סביבות, כדי שניסויים בסביבת הבדיקות לא ישפיעו על סביבת הייצור.
- נוהל תגובה להתראה — תרחיש צעד-אחר-צעד: למי מגיעה התראה, מה נבדק בדקות הראשונות, באילו תנאים הקונטיינר נעצר ואיך מתועד הניתוח. עם מטריצת עדיפויות, כדי שהתורן לא ייאלץ להחליט זאת מחדש בכל פעם.
- אינטגרציה עם צינור הבנייה — בדיקת אימג'ים לפני פריסה: אילו כללים מופעלים בשלב הבנייה, איך נחסם שחרור ואיך מתועדת חריגה מוצדקת.
- תיעוד להגנת קונטיינרים — תיאור ארכיטקטורה, נקודות אינטגרציה עם מאגר האימג'ים ומערכת היומנים, סדר עדכון כללים וניתוח תקלות טיפוסיות.
- סדר קבלה ובדיקות — סט תרחישי בדיקה (הפעלת מעטפת, ניסיון כתיבה לספריית מערכת, פנייה לכתובת סגורה), שמורצים אחרי כל שינוי במדיניות ומאשרים שההגנה באמת עובדת.
כל סעיף נמסר יחד עם הוראה קצרה «מה לעשות אם» — כדי שאת החבילה אפשר יהיה למסור למשמרת תורנים חדשה, ולא רק למי שהשתתף בהטמעה.
מקרה בוחן: סוג שלם של תקלות נעלם, התגובה הואצה פי כמה
הבעיה לא הייתה שלא ראו איומים, אלא שהבדיקות נשענו על נוהל ידני. לפני שחרור, מהנדס הריץ סריקת אימג'ים, עבר על הדוח בעיניים והחליט אם אפשר להוציא.
חלק מהאימג'ים נסעו לסביבת הייצור בלי בדיקה חוזרת, המאגר גדל, וקונטיינר עם הרשאות מיותרות וכתיבה למערכת הקבצים השורשית נמצא לפי עקבות עקיפים בלוגים — ימים אחרי ההפעלה.
פרסנו Aqua Security ותיארנו כללים כקוד: אילו הרשאות מותרות לקונטיינר, לאן הוא יכול לכתוב, ואילו אימג'ים בכלל רשאים להיכנס לסביבה. הכללים מיושמים גם בבנייה וגם ברגע ההפעלה — אימג' בלי דוח נקי לא ממשיך הלאה, והתנהגות חשודה של קונטיינר פעיל מביאה לעצירתו, ולא לרישום ביומן «למחשבה». שינויים בכללים עוברים סקירה כמו קוד רגיל, ולכן סיבת החסימה תמיד ניתנת לשחזור.
מה השתנה במספרים
שיעור האימג'ים תחת כללים אוטומטיים עלה מכ-40% ל-100%, וחריגות נותרו רק כאלה שמוצדקות בכתב. הזמן מזיהוי לתגובה התקצר משעות ספורות לדקות והפסיק להיות תלוי במי שנמצא במשמרת. ניתוח אירוע, שבעבר לקח חצי יום עבודה, מצטמצם כעת לבדיקת שרשרת אירועים מוכנה.
התוצאה העיקרית — נעלם סוג שלם של תקלות: קונטיינרים עם הרשאות עודפות, כתיבה לספריות מערכת וחיבורי רשת החוצה ללא צורך כבר לא מגיעים לסביבת הייצור. הצוות הפסיק להיות קו ההגנה האחרון וחזר לפיתוח.
במה שונה שליטה בהתנהגות מסריקת אימג'ים
סריקת אימג'ים היא בדיקה בשלב הבנייה. כל עוד הקונטיינר לא הופעל, המנתח מפרק שכבות, גרסאות חבילות ותלויות, משווה אותן למאגרי חולשות ומוציא דוח. זהו חיתוך חד-פעמי: התוצאה מתייחסת לארטיפקט, ולא לאופן שבו יתנהג באשכול.
התשובה לשאלה «מה בפנים» לא עונה לשאלה «מה קורה». חולשה בספרייה בלי תרחיש שימוש נשארת סיכון, ולא אירוע: ייתכן שהיא בלתי נגישה מהקוד או סגורה בהגדרות. לעומת זאת, טעינת קוד זר, פנייה למטא-נתונים בענן או קריאת סודות סביבה באימג' כלל לא נראות — הן מתגלות רק בהפעלה.
שליטה בזמן ריצה צופה במה שהתהליך באמת עושה: אילו תהליכי בן הוא מוליד, לאן כותב, עם מי פותח חיבורים, לאילו קבצים פונה. על התנהגות תקינה נבנה פרופיל — סט פעולות מותרות, וסטייה ממנו הופכת לאירוע עם קישור לקונטיינר ולצומת מסוימים.
ההבדל בין הגישות הוא בנקודת קבלת ההחלטה. הבנייה אומרת «עדיף לא להריץ את האימג' הזה», והתצפית — «הקונטיינר הזה עושה כעת משהו שאסור לו לעשות», ומאפשרת לעצור אותו לפני שהפעולה הושלמה.
גישה אחת לא מחליפה את השנייה: הבנייה מצמצמת את משטח התקיפה, והשליטה מכסה את מה שהתגלה רק בסביבת ההרצה.
לכן את Aqua Security אנחנו מגדירים כך ששתי הסביבות יעבדו לפי כללים מתואמים: אז רואים שהאימג' הועבר במודע, ומה בדיוק הפר הקונטיינר ברגע ההתראה.
ספקות טכניים: התראות שווא ועומס
לפני התחלה כמעט תמיד עולים אותם שאלות: האם ההגנה תתחיל לחסום תהליכים תקינים, האם הסוכן יאכל משאבי צמתים, והאם הכול יישבר בעדכון האשכול. להלן תשובות ישירות.
האם התראות שווא לא יחסמו תהליכי עבודה?
בשבוע-שבוע וחצי הראשונים ההגנה עובדת במצב תצפית: סוכן Aqua Security אוסף קו בסיס של התנהגות הקונטיינרים ורק כותב אירועים, בלי לעצור דבר. לפי הפרופיל שנצבר אנחנו מתארים כללים — אילו קריאות הן נורמליות לאימג' מסוים — ומפעילים חסימה נקודתית. התראות שווא שיוריות מצטמצמות ליחידות בשבוע ונסגרות ברשימת חריגות.
האם העומס על הצמתים מורגש ליישומים?
הסוכן מגיב לאירועים משמעותיים — הפעלת תהליך, פנייה לקובץ, קריאה בהרשאה גבוהה — ולא לכל בקשה שעוברת, ולכן אין בדיקה חוזרת של חיבורים שכבר פתוחים. עלויות נלוות נשמרות בתוך כמה אחוזים, והשיאים מתרחשים בהפעלת הקונטיינר, ולא בעבודה תחת עומס שיא. אנחנו מודדים לפני ואחרי ההטמעה בסביבת הבדיקות שלכם, כדי שזה ייראה במספרים.
האם זה תואם לעדכוני אשכול ואימג'ים?
הסוכן מותקן כסט נפרד בכל צומת ועולה יחד אתו — עדכון סביבת ההרצה לא דורש הגדרה מחדש ידנית. המדיניות נשמרת כתצורה במאגר ונפרסת באותה דרך שבה נפרסים שאר תיאורי השירותים. לפני עדכון, הכללים מורצים בסביבת בדיקות, ולכן אי-התאמה נתפסת לפני הפרודקשן.
מה לעשות אם ההגנה תתחיל להפריע?
החסימה מופעלת בשינוי אחד — המצב חוזר לתצפית, והיישומים ממשיכים לעבוד בלי הפעלה מחדש. המדיניות מנוהלת בגרסאות, וחזרה לאחור היא החזרת סט הכללים הקודם, ולא בנייה מחדש של הסביבה.
נדון במשימת הגנת סביבת הייצור
כדי שהערכת העבודה תישען על עובדות, ולא על «פחות או יותר רבעון», נדרש חיתוך ראשוני של הסביבה. להלן מה לשלוח: זה מספיק כדי לבנות תוכנית הטמעה ולנקוב בלוחות זמנים.
- תרשים פריסת השירותים: מרחבי שמות, מאגרי אימג'ים וסדר קידום תג מסביבת הבדיקות לפרודקשן.
- מלאי צמתים וגרסת סביבת ההרצה של הקונטיינרים — ממנה תלוי מה נסגר בסוכן על הצומת ומה בבקר הקבלה.
- מפת רשת עדכנית: אילו שירותים מדברים עם מי ובאילו פורטים. על בסיסה נבנה פרופילי התנהגות, כדי שכללים לא יפילו תעבורה לגיטימית.
- דרישות לתיעוד אירועים: תקופת שמירה, לאן שולחים, מי קורא אותם בניתוח אירוע.
- רשימת דרישות רגולטוריות ופנימיות להגנת סביבת הייצור — נתאים להן את המדיניות לפני תחילת העבודה.
- חלונות תחזוקה של סביבת הייצור והרכב משמרת התורן: תוכנית ההטמעה נבנית כך שלא לחסום שחרורים.
בתגובה תקבלו לא מילים כלליות, אלא חבילת עבודה: תרשים פריסת רכיבים, שלבי הטמעה עם נקודות חזרה, סדר העברת כללים ממצב התראה לחסימה וקריטריוני קבלה. ב-Aqua Security מדיניות הגנת סביבת הייצור מוגדרת באופן הצהרתי, ולכן מופעלת בשלבים וחוזרת לאחור בלי בנייה מחדש של אימג'ים.
תארו את המשימה בצורה חופשית — נחזור עם הערכת עבודה ותוכנית הטמעה.







