שוביט מחשוב

ניטור שרתים - Agent VS Agentless

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

יתרונות של התקנת סוכן ניטור :

  • יש יותר גמישות מבחינת יכולות הניטור. יותר פשוט למשל להריץ סקריפט כאשר מותקן Agent על השרת המנוטר.
  • ישנם דברים שהם הרבה יותר פרקטיים כאשר אין Agent מותקן על שרת מנוטר. למשל, לנטר URL מתוך שרת ספציפי. במידה ולא מתקן על השרת הזה Agent, זה הופך את המשימה למסורבלת יותר.
  • אם ישנה בעיית תקשורת בין הסוכן לשרת הניהול שלו, הסוכן יכול להמשיך לאסוף מידע בתוך מערכת ההפעלה ולאגור את המידע בתוך cache או buffer, וכאשר מתחדש הקשר בינו לבין שרת הניהול, להעביר את המידע לשרת הניהול. ככה שלמרות איבוד התקשורת, ייתכן ונקבל את כל המידע על השרת.
  • ככל הנראה הניטור יותר מהיר (ההתרעה תגיע יותר מהר לשרת הניהול) הסיבה היא ש Agent דוגם לעיתים קרובות יותר את המערכת המנוטרת. לעומת זאת, במערכת ניטור שהיא Agentless הניטור מתבצע בדרך כלל כל X דקות (ישנן מערכות שלא מאפשרות לרדת מדקה), מה שיכול לגרום לעיכוב בהוצאות ההתראה כאשר ישנה תקלה.
  • יש יותר אחידות, כי בדרך כלל ה Agent משתמש בפורט ספציפי כדי לתקשר עם שרת הניהול. בדרך כלל אין צורך לפתוח פורטים מסוגים שונים אם יש FW שמפריד בין מערכת הניטור לשרת שמחזיק את ה Agent, אלא רק את הפורט שמוקדש לתקשורת של הסוכן עם שרת הניהול. מניסיוני, אנשי אבטחת מידע יעדיפו תמיד לפתוח פורט ייעודי לסוכן, מאשר לפתוח פורט כמו SSH לצורך ניטור Agentless או לפתוח פורטים של DCOM לצורך ניטור WMI.

יתרונות של ניטור ישיר מתוך שרת הניהול (Agentless) :

  • ייתכן וישנה גמישות בפרוטוקול התקשורת הניגש מהמערכת המנטרת לשרת המנוטר. למשל, בניטור שרתי לינוקס אפשר לגשת ב SNMP או ב SSH. בניטור שרתי Windows אפשר ב DCOM או ב WINRM. יש יותר בחירה של אופן הניטור מרחוק.
  • ייתכן והרישוי יותר זול.
  • במידה ושרת שמיועד לניטור מכיל אפליקציה "רגישה", קרי, אפליקציה ש"מבקשת" לא להתקין דברים "זרים" למערכת ההפעלה של השרת עליה היא מותקנת ( לא מדובר בהכרח ב Appliance), ייתכן שכן מתאפשר לגשת לשרת באמצעות פרוטוקול לגיטימי שהוא Native לגמרי למערכת ההפעלה. למשל, שאילתת WMI על DCOM.
  • לא צריך להתקין משהו שהוא לא Native לשרת, לכל היותר להפעיל פיצ'רים שבאים בדרך כלל על השרת, למשל SSH או SNMP במידה ורוצים לנטר שרתי לינוקס, או לוודא ששירות ה WINRM או ה WMI רצים במידה ומדובר בשרת Windows.
  • תחזוקה פשוטה יותר. כאשר משתמשים במערכת שמנטרת באמצעות סוכן קורה לא אחת שיש בעיות עם הסוכן עצמו, למרות שהשרת המנוטר בריא לגמרי. במקרה שבוחרים להשתמש בתוצרת Agentless אין צורך לעקוב אחרי סטטוס של הסוכנים עצמם. לא צריך לתחזק תקלות בסוכנים.

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

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