לדלג לתוכן

מה זה SNMP וכיצד מנטרים ציוד רשת

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

מה זה SNMP

SNMP, ראשי תיבות של Simple Network Management Protocol, הוא פרוטוקול שנועד לאפשר לתוכנת ניהול מרכזית לתקשר עם מכשירי רשת - נתבים, מתגים, שרתים, מדפסות, כמעט כל דבר שמחובר לרשת ותומך בו - ולשלוף מהם מידע על מצבם, וגם לשנות הגדרות מסוימות מרחוק.

הרעיון הבסיסי הוא שכל מכשיר תומך SNMP מריץ תוכנה קטנה שנקראת agent, שאוספת מידע פנימי - עומס מעבד, שימוש בזיכרון, תעבורת רשת, טמפרטורה, ומאות פרמטרים אחרים - ומעמידה אותו לרשות תוכנת ניהול מרכזית שנקראת manager.

MIB - המפה של כל המידע הזמין

איך תוכנת הניהול יודעת אילו נתונים בכלל אפשר לבקש ממכשיר מסוים? התשובה היא מבנה שנקרא MIB, ראשי תיבות של Management Information Base. זה בעצם קטלוג היררכי שמגדיר כל פיסת מידע שהמכשיר חושף - לכל פרמטר יש מזהה ייחודי, שנקרא OID, שמאפשר לתוכנת הניהול לבקש בדיוק את הנתון שהיא צריכה, בלי צורך לנחש.

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

שתי דרכי עבודה - Polling ו-Traps

יש שתי דרכים עיקריות שבהן SNMP עובד בפועל:

  • Polling - תוכנת הניהול שואלת באופן יזום ובקצב קבוע כל מכשיר "מה המצב שלך עכשיו", ומקבלת תשובה. זו השיטה הנפוצה יותר לניטור שוטף, כי היא נותנת תמונה עדכנית ועקבית.
  • Traps - במקום לחכות שישאלו אותו, המכשיר עצמו שולח התראה יזומה כשקורה משהו חריג, למשל כשממשק רשת נופל. זה מאפשר תגובה מהירה לתקלות בלי לחכות למחזור ה-polling הבא.

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

הבעיה עם הגרסאות הישנות

הגרסה הראשונה של SNMP, שעדיין נפוצה בהרבה סביבות ישנות, סובלת מבעיית אבטחה משמעותית - האימות שלה מבוסס על מחרוזת פשוטה שנקראת community string, שבברירת מחדל לרוב הייתה "public" לקריאה ו"private" לכתיבה. אם היא לא שונתה, וזה קרה יותר ממה שמומלץ, כל מי שברשת יכול לשלוף מידע רגיש על המכשיר, ובגרסאות מסוימות אף לשנות הגדרות.

גרסה מאוחרת יותר, SNMPv3, מוסיפה אימות אמיתי והצפנה, ומומלץ להשתמש בה בכל סביבה שמתייחסת ברצינות לאבטחה.

למה זה עדיין רלוונטי

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

לסיכום

SNMP הוא בדיוק סוג הפרוטוקול שלא רואים עד שצריך אותו - הוא רץ בשקט ברקע, אוסף נתונים על מאות מכשירים, ומודיע כשמשהו משתבש. הבנה בסיסית שלו, ובמיוחד של הסכנה שבהשארת community strings ברירת מחדל, היא חלק בסיסי מהידע של כל מי שעובד עם תשתית רשת.

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

יש לכם שאלה על ניטור רשת או על SNMP? בואו לדבר בדיסקורד.

הצטרפו לקהילה בדיסקורד