ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

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

כמה מילים על SNMPv3

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

ההבדל העיקרי בין פרוטוקול SNMPv3 לגרסאות הקודמות שלו הוא פונקציות האבטחה הקלאסיות [1-3], כלומר:

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

SNMPv3 מרמז על שימוש במודל אבטחה שבו אסטרטגיית האימות מוגדרת למשתמש נתון ולקבוצה שאליה הוא שייך (בגרסאות קודמות של SNMP, הבקשה מהשרת לאובייקט הניטור השוותה רק "קהילה", טקסט מחרוזת עם "סיסמה" המשודרת בטקסט ברור (טקסט רגיל)).

SNMPv3 מציג את הרעיון של רמות אבטחה - רמות אבטחה מקובלות הקובעות את תצורת הציוד ואת התנהגות סוכן ה-SNMP של אובייקט הניטור. השילוב של מודל אבטחה ורמת אבטחה קובע באיזה מנגנון אבטחה נעשה שימוש בעת עיבוד חבילת SNMP [4].

הטבלה מתארת ​​שילובים של דגמים ורמות אבטחה SNMPv3 (החלטתי להשאיר את שלוש העמודות הראשונות כמו במקור):

ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

בהתאם, נשתמש ב-SNMPv3 במצב אימות באמצעות הצפנה.

הגדרת SNMPv3

ניטור ציוד רשת דורש את אותה תצורה של פרוטוקול SNMPv3 הן בשרת הניטור והן באובייקט המנוטר.

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

snmp-server group snmpv3group v3 priv read snmpv3name 
snmp-server user snmpv3user snmpv3group v3 auth md5 md5v3v3v3 priv des des56v3v3v3
snmp-server view snmpv3name iso included

קבוצת השורה הראשונה snmp-server – מגדירה את קבוצת משתמשי SNMPv3 (snmpv3group), את מצב הקריאה (קריאה), ואת זכות הגישה של קבוצת snmpv3group לצפייה בענפים מסוימים של עץ MIB של אובייקט הניטור (snmpv3name ואז ב- תצורה מציינת לאילו ענפים של עץ MIB הקבוצה יכולה לגשת snmpv3group תוכל לקבל גישה).

השורה השנייה snmp-server user – מגדירה את המשתמש snmpv3user, את החברות שלו בקבוצת snmpv3group, כמו גם את השימוש באימות md5 (הסיסמה ל-md5 היא md5v3v3v3) והצפנת des (הסיסמה ל-des היא des56v3v3v3). כמובן, עדיף להשתמש ב-aes במקום ב-des; אני נותן את זה כאן רק כדוגמה. כמו כן, בעת הגדרת משתמש, ניתן להוסיף רשימת גישה (ACL) המסדירה את כתובות ה-IP של שרתי ניטור בעלי הזכות לנטר את המכשיר הזה – גם זה נוהג מומלץ, אבל לא אסבך את הדוגמה שלנו.

השורה השלישית תצוגת snmp-server מגדירה שם קוד המציין ענפים של עץ snmpv3name MIB כך שניתן יהיה לשאול אותם על ידי קבוצת המשתמשים snmpv3group. ISO, במקום להגדיר בקפדנות ענף בודד, מאפשר לקבוצת המשתמשים snmpv3group לגשת לכל האובייקטים בעץ MIB של אובייקט הניטור.

הגדרה דומה עבור ציוד Huawei (גם ב-CLI) נראית כך:

snmp-agent mib-view included snmpv3name iso
snmp-agent group v3 snmpv3group privacy read-view snmpv3name
snmp-agent usm-user v3 snmpv3user group snmpv3group
snmp-agent usm-user v3 snmpv3user authentication-mode md5 
            md5v3v3v3
snmp-agent usm-user v3 snmpv3user privacy-mode des56
            des56v3v3v3

לאחר הגדרת התקני רשת, עליך לבדוק גישה משרת הניטור באמצעות פרוטוקול SNMPv3, אני אשתמש ב-snmpwalk:

snmpwalk -v 3 -u snmpv3user -l authPriv -A md5v3v3v3 -a md5 -x des -X des56v3v3v3 10.10.10.252

ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

כלי ויזואלי יותר לבקשת אובייקטי OID ספציפיים באמצעות קבצי MIB הוא snmpget:

ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

כעת נעבור להגדרת רכיב נתונים טיפוסי עבור SNMPv3, בתוך תבנית Zabbix. למען הפשטות ועצמאות MIB, אני משתמש ב-OID דיגיטלי:

ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

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

ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

שימו לב שלמערכת הניטור יש רק שם משתמש וסיסמאות לאימות והצפנה. קבוצת המשתמשים וההיקף של אובייקטי MIB שאליהם מותרת גישה מצוינים באובייקט הניטור.
כעת נעבור למילוי התבנית.

תבנית סקר Zabbix

כלל פשוט בעת יצירת תבניות סקר הוא להפוך אותן למפורטות ככל האפשר:

ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

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

ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

כדי להקל על הדמיה של טריגרים, פקודות מאקרו של המערכת {HOST.CONN} נכללות בשמותיהם כך שלא רק שמות מכשירים, אלא גם כתובות IP מוצגות בלוח המחוונים בסעיף ההתראה, אם כי זה יותר עניין של נוחות מאשר צורך . כדי לקבוע אם מכשיר אינו זמין, בנוסף לבקשת ההד הרגילה, אני משתמש בבדיקת אי-זמינות מארח באמצעות פרוטוקול SNMP, כאשר האובייקט נגיש דרך ICMP אך אינו מגיב לבקשות SNMP - מצב זה אפשרי, למשל , כאשר כתובות IP משוכפלות במכשירים שונים, עקב חומות אש שהוגדרו בצורה שגויה, או הגדרות SNMP שגויות באובייקטים ניטור. אם אתה משתמש בבדיקת זמינות מארח רק באמצעות ICMP, בזמן חקירת תקריות ברשת, ייתכן שנתוני ניטור לא יהיו זמינים, ולכן יש לנטר את קבלתם.

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

אני משתמש בפונקציית גילוי SNMP הסטנדרטית, עם פרמטרים ניתנים לגילוי, לסינון גמיש יותר:

discovery[{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7]

ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

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

ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

אם יתגלו, הממשקים הבאים לא ייכללו:

  • מושבת ידנית (adminstatus<>1), הודות ל-IFADMINSTATUS;
  • ללא תיאור טקסט, הודות ל-IFALIAS;
  • בעל הסמל * בתיאור הטקסט, הודות ל-IFALIAS;
  • שהם שירותים או טכניים, הודות ל-IFDESCR (במקרה שלי, בביטויים רגילים IFALIAS ו-IFDESCR נבדקים על ידי כינוי ביטוי רגולרי אחד).

התבנית לאיסוף נתונים באמצעות פרוטוקול SNMPv3 כמעט מוכנה. לא נתעכב ביתר פירוט על אבות הטיפוס של רכיבי נתונים עבור ממשקי רשת; בואו נעבור לתוצאות.

תוצאות ניטור

בתור התחלה, עשה מלאי של רשת קטנה:

ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

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

ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

ועכשיו - פאנל הניטור הראשי, עם טריגרים המופצים לפי רמת חומרה:

ניטור ציוד רשת באמצעות SNMPv3 ב- Zabbix

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

רשימת מקורות בשימוש:1. Hucaby D. CCNP ניתוב ומיתוג SWITCH 300-115 מדריך אישור רשמי. הוצאת סיסקו, 2014. עמ'. 325-329.
2. RFC 3410. tools.ietf.org/html/rfc3410
3. RFC 3415. tools.ietf.org/html/rfc3415
4. מדריך תצורת SNMP, Cisco IOS XE Release 3SE. פרק: SNMP גרסה 3. www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/xe-3se/3850/snmp-xe-3se-3850-book/nm-snmp-snmpv3.html

מקור: www.habr.com

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster