ตรวจสอบอุปกรณ์เครือข่ายผ่าน SNMPv3 ใน Zabbix

บทความนี้เกี่ยวข้องกับคุณสมบัติของการตรวจสอบอุปกรณ์เครือข่ายโดยใช้โปรโตคอล SNMPv3 เราจะพูดถึง SNMPv3 ฉันจะแบ่งปันประสบการณ์ของฉันในการสร้างเทมเพลตเต็มรูปแบบใน Zabbix และฉันจะแสดงสิ่งที่สามารถทำได้เมื่อจัดระเบียบการแจ้งเตือนแบบกระจายในเครือข่ายขนาดใหญ่ โปรโตคอล SNMP เป็นโปรโตคอลหลักในการตรวจสอบอุปกรณ์เครือข่ายและ Zabbix ​​เหมาะอย่างยิ่งสำหรับการตรวจสอบอ็อบเจ็กต์จำนวนมากและสรุปเมตริกขาเข้าจำนวนมาก

คำไม่กี่คำเกี่ยวกับ SNMPv3

เริ่มจากวัตถุประสงค์ของโปรโตคอล SNMPv3 และคุณสมบัติการใช้งานกันก่อน งานของ SNMP คือการตรวจสอบอุปกรณ์เครือข่ายและการจัดการขั้นพื้นฐานโดยการส่งคำสั่งง่ายๆ ไปให้พวกเขา (เช่น การเปิดใช้งานและปิดใช้งานอินเทอร์เฟซเครือข่าย หรือการรีบูตอุปกรณ์)

ข้อแตกต่างที่สำคัญระหว่างโปรโตคอล SNMPv3 และเวอร์ชันก่อนหน้าคือฟังก์ชันความปลอดภัยแบบคลาสสิก [1-3] กล่าวคือ:

  • การรับรองความถูกต้องซึ่งกำหนดว่าได้รับคำขอจากแหล่งที่เชื่อถือได้
  • การเข้ารหัส (Encryption) เพื่อป้องกันการเปิดเผยข้อมูลที่ส่งเมื่อถูกดักจับโดยบุคคลที่สาม
  • ความสมบูรณ์ นั่นคือการรับประกันว่าแพ็กเก็ตจะไม่ถูกดัดแปลงระหว่างการส่ง

SNMPv3 หมายถึงการใช้โมเดลความปลอดภัยซึ่งมีการตั้งค่ากลยุทธ์การตรวจสอบสิทธิ์สำหรับผู้ใช้ที่กำหนดและกลุ่มที่เขาเป็นสมาชิก (ใน SNMP เวอร์ชันก่อนหน้า คำขอจากเซิร์ฟเวอร์ไปยังออบเจ็กต์การตรวจสอบจะเปรียบเทียบเฉพาะ "ชุมชน" ซึ่งเป็นข้อความ สตริงที่มี "รหัสผ่าน" ส่งเป็นข้อความที่ชัดเจน (ข้อความธรรมดา)

SNMPv3 แนะนำแนวคิดของระดับความปลอดภัย - ระดับความปลอดภัยที่ยอมรับได้ซึ่งกำหนดการกำหนดค่าของอุปกรณ์และลักษณะการทำงานของเอเจนต์ SNMP ของอ็อบเจ็กต์การตรวจสอบ การรวมกันของโมเดลความปลอดภัยและระดับความปลอดภัยจะกำหนดกลไกความปลอดภัยที่จะใช้เมื่อประมวลผลแพ็กเก็ต SNMP [4]

ตารางอธิบายการรวมกันของรุ่นและระดับความปลอดภัย SNMPv3 (ฉันตัดสินใจทิ้งสามคอลัมน์แรกไว้เหมือนต้นฉบับ):

ตรวจสอบอุปกรณ์เครือข่ายผ่าน SNMPv3 ใน Zabbix

ดังนั้น เราจะใช้ SNMPv3 ในโหมดการรับรองความถูกต้องโดยใช้การเข้ารหัส

การกำหนดค่า SNMPv3

การมอนิเตอร์อุปกรณ์เครือข่ายจำเป็นต้องมีการกำหนดค่าโปรโตคอล SNMPv3 เหมือนกันทั้งบนเซิร์ฟเวอร์การมอนิเตอร์และอ็อบเจ็กต์ที่ถูกมอนิเตอร์

เริ่มต้นด้วยการตั้งค่าอุปกรณ์เครือข่าย Cisco การกำหนดค่าขั้นต่ำที่จำเป็นมีดังนี้ (สำหรับการกำหนดค่าที่เราใช้ 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 บรรทัดแรก - กำหนดกลุ่มของผู้ใช้ SNMPv3 (snmpv3group), โหมดการอ่าน (อ่าน) และสิทธิ์การเข้าถึงของกลุ่ม snmpv3group เพื่อดูสาขาบางสาขาของแผนผัง MIB ของอ็อบเจ็กต์การตรวจสอบ (snmpv3name จากนั้นใน การกำหนดค่าระบุว่าสาขาใดของแผนผัง MIB ที่กลุ่มสามารถเข้าถึง snmpv3group จะสามารถเข้าถึงได้)

ผู้ใช้เซิร์ฟเวอร์ snmp บรรทัดที่สอง - กำหนดผู้ใช้ snmpv3user ความเป็นสมาชิกของเขาในกลุ่ม snmpv3group รวมถึงการใช้การตรวจสอบสิทธิ์ md5 (รหัสผ่านสำหรับ md5 คือ md5v3v3v3) และการเข้ารหัส des (รหัสผ่านสำหรับ des คือ des56v3v3v3) แน่นอนว่า ควรใช้ aes แทน des จะดีกว่า ฉันยกตัวอย่างไว้ที่นี่เท่านั้น นอกจากนี้ เมื่อกำหนดผู้ใช้ คุณสามารถเพิ่มรายการเข้าถึง (ACL) ที่ควบคุมที่อยู่ IP ของเซิร์ฟเวอร์การตรวจสอบที่มีสิทธิ์ในการตรวจสอบอุปกรณ์นี้ - นี่เป็นแนวทางปฏิบัติที่ดีที่สุดเช่นกัน แต่ฉันจะไม่ทำให้ตัวอย่างของเราซับซ้อน

มุมมองเซิร์ฟเวอร์ snmp บรรทัดที่สามกำหนดชื่อโค้ดที่ระบุสาขาของแผนผัง MIB ของ snmpv3name เพื่อให้สามารถสอบถามโดยกลุ่มผู้ใช้ 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 ที่แสดงบนแดชบอร์ดในส่วนการแจ้งเตือน แม้ว่านี่จะเป็นเรื่องของความสะดวกมากกว่าความจำเป็นก็ตาม . เพื่อตรวจสอบว่าอุปกรณ์ไม่พร้อมใช้งาน นอกเหนือจากคำขอ echo ปกติแล้ว ฉันใช้การตรวจสอบความไม่พร้อมใช้งานของโฮสต์โดยใช้โปรโตคอล 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

หากตรวจพบ อินเทอร์เฟซต่อไปนี้จะถูกแยกออก:

  • ปิดการใช้งานด้วยตนเอง (สถานะผู้ดูแลระบบ<>1) ขอบคุณ IFADMINSTATUS;
  • ไม่มีคำอธิบายข้อความขอบคุณ IFALIAS
  • มีสัญลักษณ์ * ในคำอธิบายข้อความ ขอบคุณ IFALIAS
  • ที่เป็นบริการหรือด้านเทคนิค ต้องขอบคุณ IFDESCR (ในกรณีของฉัน ในนิพจน์ทั่วไป IFALIAS และ IFDESCR จะถูกตรวจสอบโดยนามแฝงนิพจน์ทั่วไปหนึ่งรายการ)

เทมเพลตสำหรับการรวบรวมข้อมูลโดยใช้โปรโตคอล SNMPv3 ใกล้จะพร้อมแล้ว เราจะไม่ลงรายละเอียดเพิ่มเติมเกี่ยวกับต้นแบบขององค์ประกอบข้อมูลสำหรับอินเทอร์เฟซเครือข่าย มาดูผลลัพธ์กันดีกว่า

ผลการตรวจติดตาม

ขั้นแรก ให้พิจารณารายการเครือข่ายขนาดเล็ก:

ตรวจสอบอุปกรณ์เครือข่ายผ่าน SNMPv3 ใน Zabbix

หากคุณเตรียมเทมเพลตสำหรับอุปกรณ์เครือข่ายแต่ละซีรีส์ คุณสามารถจัดวางข้อมูลสรุปที่วิเคราะห์ได้ง่ายเกี่ยวกับซอฟต์แวร์ปัจจุบัน หมายเลขซีเรียล และการแจ้งเตือนว่ามีตัวล้างข้อมูลมาที่เซิร์ฟเวอร์ (เนื่องจากเวลาทำงานต่ำ) ข้อความที่ตัดตอนมาจากรายการเทมเพลตของฉันอยู่ด้านล่าง:

ตรวจสอบอุปกรณ์เครือข่ายผ่าน SNMPv3 ใน Zabbix

และตอนนี้ - แผงตรวจสอบหลักพร้อมทริกเกอร์ที่กระจายตามระดับความรุนแรง:

ตรวจสอบอุปกรณ์เครือข่ายผ่าน SNMPv3 ใน Zabbix

ด้วยแนวทางแบบบูรณาการสำหรับเทมเพลตสำหรับอุปกรณ์แต่ละรุ่นในเครือข่าย จึงเป็นไปได้ที่จะมั่นใจได้ว่าภายในกรอบของระบบการตรวจสอบเดียว จะมีการจัดระเบียบเครื่องมือสำหรับการทำนายข้อผิดพลาดและอุบัติเหตุ (หากมีเซ็นเซอร์และหน่วยวัดที่เหมาะสม) Zabbix ​​เหมาะอย่างยิ่งสำหรับการตรวจสอบเครือข่าย เซิร์ฟเวอร์ และโครงสร้างพื้นฐานการบริการ และงานบำรุงรักษาอุปกรณ์เครือข่ายแสดงให้เห็นอย่างชัดเจนถึงความสามารถของมัน

รายการแหล่งที่มาที่ใช้:1. การกำหนดเส้นทาง Hucaby D. CCNP และการสลับสวิตช์ 300-115 คู่มือใบรับรองอย่างเป็นทางการ Cisco Press, 2014. หน้า. 325-329.
2. อาร์เอฟซี 3410. tools.ietf.org/html/rfc3410
3. อาร์เอฟซี 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

ที่มา: will.com

เพิ่มความคิดเห็น