Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

Šis straipsnis skirtas tinklo įrangos stebėjimo funkcijoms naudojant SNMPv3 protokolą. Pakalbėsime apie SNMPv3, pasidalinsiu savo patirtimi kuriant pilnaverčius šablonus Zabbix, parodysiu, ką galima pasiekti organizuojant paskirstytą įspėjimą dideliame tinkle. SNMP protokolas yra pagrindinis stebint tinklo įrangą, o „Zabbix“ puikiai tinka stebėti daugybę objektų ir apibendrinti didelius gaunamų rodiklių kiekius.

Keletas žodžių apie SNMPv3

Pradėkime nuo SNMPv3 protokolo paskirties ir jo naudojimo ypatybių. SNMP užduotys yra tinklo įrenginių stebėjimas ir pagrindinis valdymas siunčiant jiems paprastas komandas (pavyzdžiui, įjungti ir išjungti tinklo sąsajas arba perkrauti įrenginį).

Pagrindinis skirtumas tarp SNMPv3 protokolo ir ankstesnių jo versijų yra klasikinės saugos funkcijos [1-3], būtent:

  • Autentifikavimas, kuris nustato, kad užklausa gauta iš patikimo šaltinio;
  • šifravimas (šifravimas), kad būtų išvengta perduotų duomenų atskleidimo, kai juos perima trečiosios šalys;
  • vientisumas, tai yra garantija, kad siuntimo metu paketas nebuvo sugadintas.

SNMPv3 reiškia saugos modelio naudojimą, kuriame autentifikavimo strategija yra nustatyta tam tikram vartotojui ir grupei, kuriai jis priklauso (ankstesnėse SNMP versijose serverio užklausa stebėjimo objektui lygino tik „bendruomenę“, tekstą eilutė su „slaptažodžiu“, perduodama aiškiu tekstu (paprastu tekstu)).

SNMPv3 pristato saugumo lygių sąvoką – priimtinus saugumo lygius, kurie lemia įrangos konfigūraciją ir stebėjimo objekto SNMP agento elgesį. Apsaugos modelio ir saugumo lygio derinys lemia, kuris apsaugos mechanizmas naudojamas apdorojant SNMP paketą [4].

Lentelėje aprašomi modelių ir SNMPv3 saugos lygių deriniai (nusprendžiau pirmus tris stulpelius palikti kaip originale):

Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

Atitinkamai, mes naudosime SNMPv3 autentifikavimo režimu, naudodami šifravimą.

SNMPv3 konfigūravimas

Tinklo įrangai stebėti reikalinga ta pati SNMPv3 protokolo konfigūracija ir stebėjimo serveryje, ir stebimame objekte.

Pradėkime nuo Cisco tinklo įrenginio nustatymo, jo minimali reikalinga konfigūracija yra tokia (konfigūravimui naudojame CLI, pavadinimus ir slaptažodžius supaprastinau, kad nebūtų painiavos):

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

Pirmoji eilutė snmp-server group – apibrėžia SNMPv3 vartotojų grupę (snmpv3group), skaitymo režimą (skaityti) ir snmpv3group grupės prieigos teisę peržiūrėti tam tikras stebėjimo objekto MIB medžio šakas (snmpv3name tada konfigūracija nurodo, kurias MIB medžio šakas grupė gali pasiekti, snmpv3group galės pasiekti).

Antroji eilutė snmp-server user – apibrėžia vartotoją snmpv3user, jo narystę snmpv3group grupėje, taip pat md5 autentifikavimo (md5 slaptažodis yra md5v3v3v3) ir des šifravimo (des slaptažodis des56v3v3v3) naudojimą. Žinoma, geriau naudoti aes, o ne des; aš tai pateikiu kaip pavyzdį. Taip pat, apibrėždami vartotoją, galite pridėti prieigos sąrašą (ACL), kuris reguliuoja stebėjimo serverių, turinčių teisę stebėti šį įrenginį, IP adresus – tai taip pat yra geriausia praktika, tačiau mūsų pavyzdžio neapsunkinsiu.

Trečios eilutės snmp-serverio rodinys apibrėžia kodo pavadinimą, nurodantį snmpv3name MIB medžio šakas, kad jų užklausą galėtų pateikti snmpv3group vartotojų grupė. ISO, užuot griežtai apibrėžęs vieną šaką, leidžia snmpv3group vartotojų grupei pasiekti visus stebėjimo objekto MIB medžio objektus.

Panaši „Huawei“ įrangos sąranka (taip pat CLI) atrodo taip:

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

Nustačius tinklo įrenginius, reikia patikrinti prieigą iš stebėjimo serverio per SNMPv3 protokolą, aš naudosiu snmpwalk:

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

Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

Vizualesnis įrankis konkrečių OID objektų užklausai naudojant MIB failus yra snmpget:

Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

Dabar pereikime prie tipinio SNMPv3 duomenų elemento nustatymo Zabbix šablone. Dėl paprastumo ir MIB nepriklausomumo naudoju skaitmeninius OID:

Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

Pagrindiniuose laukuose naudoju pasirinktines makrokomandas, nes jos bus vienodos visiems šablono duomenų elementams. Galite nustatyti juos šablone, jei visi jūsų tinklo tinklo įrenginiai turi tuos pačius SNMPv3 parametrus, arba tinklo mazge, jei skirtingų stebėjimo objektų SNMPv3 parametrai skiriasi:

Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

Atkreipkite dėmesį, kad stebėjimo sistema turi tik autentifikavimo ir šifravimo naudotojo vardą ir slaptažodžius. Stebėjimo objekte nurodoma vartotojų grupė ir MIB objektų, prie kurių leidžiama prieiga, apimtis.
Dabar pereikime prie šablono užpildymo.

Zabbix apklausos šablonas

Paprasta taisyklė kuriant bet kokius apklausos šablonus yra padaryti juos kuo išsamesnius:

Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

Didelį dėmesį skiriu inventoriui, kad būtų lengviau dirbti su dideliu tinklu. Daugiau apie tai šiek tiek vėliau, bet kol kas – paleidikliai:

Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

Kad būtų lengviau vizualizuoti paleidiklius, sistemos makrokomandos {HOST.CONN} įtraukiamos į jų pavadinimus, kad ne tik įrenginių pavadinimai, bet ir IP adresai būtų rodomi prietaisų skydelyje įspėjimų skiltyje, nors tai labiau patogumo, o ne būtinybės reikalas. . Kad nustatyčiau, ar įrenginys nepasiekiamas, be įprastos aido užklausos, naudoju pagrindinio kompiuterio nepasiekiamumo patikrinimą naudodamas SNMP protokolą, kai objektas pasiekiamas per ICMP, bet nereaguoja į SNMP užklausas – tokia situacija yra įmanoma, pvz. , kai IP adresai dubliuojami skirtinguose įrenginiuose dėl neteisingai sukonfigūruotų ugniasienių arba neteisingų stebėjimo objektų SNMP nustatymų. Jei naudojate pagrindinio kompiuterio pasiekiamumo tikrinimą tik per ICMP, tiriant incidentus tinkle, stebėjimo duomenų gali nebūti, todėl jų gavimas turi būti stebimas.

Pereikime prie tinklo sąsajų aptikimo – tinklo įrangai tai yra svarbiausia stebėjimo funkcija. Kadangi tinklo įrenginyje gali būti šimtai sąsajų, būtina išfiltruoti nereikalingas, kad netrukdytų vizualizacijai ar neužgriozdintų duomenų bazės.

Lankstesniam filtravimui naudoju standartinę SNMP aptikimo funkciją su labiau aptinkamais parametrais:

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]

Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

Naudodami šį atradimą galite filtruoti tinklo sąsajas pagal jų tipus, pasirinktinius aprašymus ir administracinio prievado būsenas. Mano atveju filtrai ir reguliarios filtravimo išraiškos atrodo taip:

Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

Jei bus aptiktos, šios sąsajos bus pašalintos:

  • rankiniu būdu išjungtas (adminstatus<>1), dėka IFADMINSTATUS;
  • be teksto aprašymo, IFALIAS dėka;
  • IFALIAS dėka teksto aprašyme turintis simbolį *;
  • kurie yra paslaugų arba techniniai, dėka IFDESCR (mano atveju reguliariosiose išraiškose IFALIAS ir IFDESCR tikrinami vienu reguliariosios išraiškos slapyvardžiu).

Šablonas duomenų rinkimui naudojant SNMPv3 protokolą beveik paruoštas. Mes nesigilinsime į tinklo sąsajų duomenų elementų prototipus, pereikime prie rezultatų.

Stebėsenos rezultatai

Pirmiausia apžiūrėkite nedidelį tinklą:

Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

Jei paruošite šablonus kiekvienai tinklo įrenginių serijai, galėsite lengvai analizuoti esamos programinės įrangos suvestinių duomenų išdėstymą, serijos numerius ir pranešimą apie į serverį ateinantį valiklį (dėl mažo veikimo laiko). Žemiau yra mano šablonų sąrašo ištrauka:

Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

O dabar – pagrindinis stebėjimo skydelis su trigeriais, paskirstytais pagal sunkumo lygius:

Tinklo įrangos stebėjimas per SNMPv3 „Zabbix“.

Dėl integruoto požiūrio į kiekvieno įrenginio modelio šablonus tinkle galima užtikrinti, kad vienos stebėjimo sistemos rėmuose bus sukurtas gedimų ir avarijų numatymo įrankis (jei yra tinkami jutikliai ir metrika). „Zabbix“ puikiai tinka stebėti tinklo, serverių ir paslaugų infrastruktūrą, o tinklo įrangos priežiūros užduotis aiškiai parodo jos galimybes.

Naudotų šaltinių sąrašas:1. Hucaby D. CCNP maršruto parinkimo ir perjungimo SWITCH 300-115 oficialus sertifikavimo vadovas. Cisco Press, 2014. p. 325-329.
2. RFC 3410. tools.ietf.org/html/rfc3410
3. RFC 3415. tools.ietf.org/html/rfc3415
4. SNMP konfigūracijos vadovas, Cisco IOS XE Release 3SE. Skyrius: SNMP 3 versija. 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

Šaltinis: www.habr.com

Добавить комментарий