Tento článok sa zaoberá charakteristikami monitorovania sieťového zariadenia pomocou protokolu SNMPv3. Povieme si o SNMPv3, podelím sa o svoje skúsenosti s vytváraním plnohodnotných šablón v Zabbixe a ukážem, čo všetko je možné dosiahnuť pri organizovaní distribuovaného upozorňovania vo veľkej sieti. Protokol SNMP je hlavným prostriedkom na monitorovanie sieťových zariadení a Zabbix je skvelý na sledovanie veľkého počtu objektov a zhrnutie významných objemov prichádzajúcich metrík.
Niekoľko slov o SNMPv3
Začneme určením protokolu SNMPv3 a vlastnosťami jeho použitia. Ciele SNMP - monitorovanie sieťových zariadení a základné riadenie pomocou zasielania jednoduchých príkazov (napríklad zapínanie a vypínanie sieťových rozhraní alebo reštartovanie zariadenia).
Hlavným rozdielom protokolu SNMPv3 od jeho predchádzajúcich verzií sú klasické bezpečnostné funkcie [1-3], a to:
- autentifikácia (Authentication), zabezpečujúca, že požiadavka prišla od dôveryhodného zdroja;
- šifrovanie (Encryption), na zabránenie odhaleniu prenášaných údajov pri ich zachytení tretími stranami;
- integrita (Integrity), teda záruka, že balík nebol počas prenosu falšovaný.
SNMPv3 predpokladá využitie bezpečnostného modelu, pri ktorom sa autentifikačná stratégia nastavuje pre stanoveného používateľa a skupinu, ktorej patrí (v predchádzajúcich verziách SNMP sa v požiadavke zo servera na sledovaný objekt porovnávala len „community“, textový reťazec s „heslom“, odosielaný v otvorenej forme (plain text)).
SNMPv3 zavádza koncept bezpečnostných úrovní - akceptovaných úrovní bezpečnosti, ktoré určujú konfiguráciu zariadenia a správanie SNMP agenta sledovaného objektu. Kombinácia bezpečnostného modelu a úrovne bezpečnosti určuje, ktorý bezpečnostný mechanizmus sa používa pri spracovaní SNMP balíka [4].
V tabuľke sú popísané kombinácie modelov a úrovní bezpečnosti SNMPv3 (prvé tri stĺpce som sa rozhodol ponechať tak, ako sú v origináli):

Zodpovedajúco, použijeme SNMPv3 v režime autentifikácie s využitím šifrovania.
Nastavenie SNMPv3
Monitorovanie sieťových zariadení predpokladá rovnaké nastavenie protokolu SNMPv3 ako na serveri monitorovania, tak na sledovanom objekte.
Začneme s nastavením sieťového zariadenia Cisco, jeho minimálne potrebná konfigurácia vyzerá nasledovne (na konfiguráciu používame CLI, na názvy a heslá som zjednodušil, aby som predišiel zmätku):
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 includedPrvý riadok snmp-server group – definuje skupinu SNMPv3 používateľov (snmpv3group), režim čítania (read) a právo prístupu skupiny snmpv3group na prezeranie konkrétnych vetiev MIB stromu objektu monitorovania (snmpv3name ďalej v konfigurácii určuje, ku ktorým vetvám MIB stromu bude mať skupina snmpv3group prístup).
Druhý riadok snmp-server user – definuje používateľa snmpv3user, jeho patričnosť k skupine snmpv3group, ako aj použitie autentifikácie md5 (heslo pre md5 — md5v3v3v3) a šifrovania des (heslo pre des — des56v3v3v3). Samozrejme, namiesto des je lepšie použiť aes, toto tu uvádzam len pre príklad. Taktiež pri definovaní používateľa je možné pridať zoznam prístupu (ACL), ktorý reguluje IP adresy monitorovacích serverov, ktoré majú právo monitorovať toto zariadenie – to je tiež najlepšia prax, ale nebudem naši príklad zbytočne komplikovať.
Tretí riadok snmp-server view definuje kódové meno, ktoré určuje vetvy MIB stromu snmpv3name, aby ich mohla požadovať skupina používateľov snmpv3group. ISO, namiesto prísneho určenia nejakej jedinej vetvy, umožňuje skupine používateľov snmpv3group pristupovať k všetkým objektom MIB stromu objektu monitorovania.
Podobná konfigurácia zariadenia Huawei (tiež v CLI) vyzerá nasledovne:
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
des56v3v3v3Po nastavení sieťových zariadení je potrebné skontrolovať prístup zo servera monitorovania cez protokol SNMPv3, využijem snmpwalk:
snmpwalk -v 3 -u snmpv3user -l authPriv -A md5v3v3v3 -a md5 -x des -X des56v3v3v3 10.10.10.252 
Prehľadnejší nástroj na požadovanie konkrétnych OID objektov, s použitím MIB súborov – snmpget:
![]()
Teraz prejdeme k nastaveniu typového prvku dát pre SNMPv3 v rámci Zabbix šablóny. Pre jednoduchosť a nezávislosť od MIB používam číselné OID:

Používam v kľúčových poliach používateľské makrá, pretože budú rovnaké pre všetky prvky údajov v šablóne. Môžete ich nastaviť v rámci šablóny, ak majú všetky sieťové zariadenia vo vašej sieti rovnaké parametre SNMPv3, alebo v rámci uzla siete, ak sa parametre SNMPv3 pre rôzne objekty monitorovania líšia:

Všimnite si, že monitorovací systém disponuje iba menom používateľa a heslami na autentifikáciu a šifrovanie. Skupina používateľov a oblasť MIB-objektov, ku ktorým je povolený prístup, sú nastavené na objekte monitorovania.
Teraz prejdeme k naplneniu šablóny.
Šablóna prieskumu v Zabbix
Jednoduché pravidlo pri vytváraní akýchkoľvek šablón prieskumu – robiť ich čo najpodrobnejšie:

Venujem veľkú pozornosť inventarizácii, aby sa s veľkou sieťou pracovalo pohodlnejšie. O tom trochu neskôr, a zatiaľ – tričká:

Pre pohodlnú vizualizáciu tričiek sú v ich názvoch zakomponované systémové makrá {HOST.CONN}, aby sa na dashboarde v sekcii alertovania zobrazovali nielen názvy zariadení, ale aj IP adresy, hoci to je viac otázka pohodlia ako nevyhnutnosti. Na určenie nedostupnosti zariadenia, okrem bežného echo-dotazu, používam kontrolu nedostupnosti uzla cez protokol SNMP, keď je objekt dostupný cez ICMP, ale neodpovedá na SNMP-dotazy – taká situácia môže nastať napríklad pri duplikovaní IP adries na rôznych zariadeniach, kvôli nesprávne nakonfigurovaným firewallom alebo nesprávnym nastaveniam SNMP na monitorovacích objektoch. Ak sa používa kontrola dostupnosti uzlov iba cez ICMP, v čase vyšetrovania incidentov v sieti nemusia byť monitorovacie údaje k dispozícii, a preto je potrebné sledovať ich prichádzanie.
Prejdime k objavovaniu sieťových rozhraní – pre sieťové zariadenia je to najdôležitejšia funkcia monitorovania. Keďže na sieťovom zariadení môže byť stovky rozhraní, je potrebné filtrovať nepotrebné, aby sme nepreplnili vizualizáciu a nezaťažovali databázu.
Používam štandardnú funkciu objavovania pre SNMP, s množstvom objaviteľských parametrov, pre flexibilnejšie filtrovanie:
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] 
Pri takom zistení je možné filtrovať sieťové rozhrania podľa ich typov, používateľských popisov „description“ a administratívnych stavov portov. Filtre a regulárne výrazy na filtrovanie v mojom prípade vyzerajú nasledovne:


Pri zistení budú vylúčené nasledujúce rozhrania:
- manuálne vypnuté (adminstatus<>1), vďaka IFADMINSTATUS;
- bez textového opisu, vďaka IFALIAS;
- majúce v textovom opise znak *, vďaka IFALIAS;
- súce servisné alebo technické, vďaka IFDESCR (v mojom prípade sa v regulárnych výrazoch IFALIAS a IFDESCR kontrolujú jedným regulárnym výrazom alias).
Šablóna na zber údajov cez protokol SNMPv3 je takmer hotová. Nebudeme sa podrobne zaoberať prototypmi prvkov údajov pre sieťové rozhrania, prejdeme k výsledkom.
Výsledky monitorovania
Na začiatok – inventarizácia malej siete:

Ak pripravíme šablóny pre každú sériu sieťových zariadení – môžeme dosiahnuť prehľadné usporiadanie súhrnných údajov o aktuálnom softvéri, sériových číslach a upozornení na príchod upratovačky do serverovne (z dôvodu nízkeho Uptime). Úryvok môjho zoznamu šablón nižšie:

A teraz – hlavný monitorovací panel, s rozdelenými podľa úrovní dôležitosti spúšťačmi:

Vďaka komplexnému prístupu k šablónam pre každý model zariadení v sieti môžeme dosiahnuť, že v rámci jedného monitorovacieho systému bude organizovaný nástroj na predpovedanie porúch a havárií (pri prítomnosti príslušných senzorov a metrik). Zabbix je veľmi vhodný na monitorovanie sieťových, serverových a servisných infraštruktúr, a úloha údržby sieťového vybavenia názorne demonštruje jeho možnosti.
Zoznam použitých zdrojov:1. Hucaby D. CCNP Routing and Switching SWITCH 300-115 Official Cert Guide. Cisco Press, 2014. s. 325-329.
2. RFC 3410.
3. RFC 3415.
4. SNMP Configuration Guide, Cisco IOS XE Release 3SE. Kapitola: SNMP verzia 3.
Zdroj: habr.com
