Management a monitoting IP sítí Simple Network Management Protocol (SNMP). Netconf. SPAN. Netflow. Zero-touch provisioning Petr Grygárek 1
Monitoring sítě Dostupnost a aktuální provozní parametry síťových prvků ICMP, SNMP Funkčnost a aktuální propustnost linek a cest ICMP, SLA monitors syntetický aplikační provoz ICMP (router-to.router) není nástroj na měření latence Často užitečná historie Charakteristiky uživatelského provozu z pohledu sítě Netflow, JFlow, IP Flow, analytika (microflows),... Mirroring provozu SPAN, TAPs, Systémy pro měření odezvy aplikací 2
Rozhraní pro management, konfigurace a monitoring síťových prvků Telnet/SSH (Command Line Interface) WWW (+Java, ActiveX, ) Management applications často na bázi Java Mnohdy i klient-server-agent management systémy Management protokol (SNMP) Sjednocení pro různé výrobce Výrobci síťových prvků Výrobci management a návazných systémů Netconf (+ YANG) Hromadná konfigutace a automatizace konfigurace (parametrizovatelná) nástroje typu HP-NA, 3
Protokoly pro monitoring a Realita: TCP/IP management sítí SNMP pro monitoring Postupně zaváděno NetConf/Yang pro konfiguraci Norma (v praxi nepoužíváno) ISO: CMIS: Common Management Information Service CMIP: Common Management Information Protocol CMOT: CMIP Over TCP/IP Na aplikační vrstvě 4
Požadavky na management system (inband) Vzdálený management Pro transport management zpráv používá síťový protokol IP/UDP, základní funkčnost sítě je proto podmínkou funkce managementu Často paralelní OOB management Ethernet / console servers, nezávislá management síť Autentizace, autorizace 5
Filosofie SNMP 6
Agent pro vzdálenou správu software běžící na manažovaném síťovém elementu zná manageovatelnou informaci o síťovém elementu, překládá ji do formy management databáze a zpřístupňuje pomocí SNMP Výhodné je oddělení struktury manageovatelné informace od protokolu 7
Operace managementu čtení stavových proměnných agentů (atomické čtení seznamu proměnných) nastavování stavových proměnných agentů (atomický zápis seznamu proměnných) + postupné čtení po sobě následujících proměnných vhodné např. pro procházení tabulek možnost zachytávání asynchronních hlášení agentů (trap) o významných událostech (překročení mezních hodnot, výpadky,...) V principu REST API 8
Management Information Base (MIB) Hierarchicky organizovaná definice manageovatelných objektů na síťových elementech ( MIB objektů ) Každý objekt na síťovém elementu udržován v jedné či více instancích ( proměnných ) Objekty identifikovány v rámci MIB jednoznačným číselným identifikátorem Object ID (OID) Skalární a tabulkové objekty Definice MIB specifikuje, jaké informace musí jednotlivé typy síťových prvků udržovat a zpřístupňovat management stanici Rozšíření této definice v MIB II (RFC 1213) Možnost proprietárních rozšíření specifických pro výrobce podstromy MIB iso.org.dod.internet.private.enterprises (1.3.5.1.4.1) Výhodou rozšiřitelnost 9
Strom MIB Podstrom obecnějšího stromu pro přidělování globálně jednoznačných číselných identifikátorů (administruje CCITT + ISO) Kořen nepojmenován Větev pro MIB začíná 1.3.6.1.2 10
Structure of Management Information (SMI) for MIB Množina pravidel pro definici objektů MIB Definuje podmnožinu ASN.1 použitelnou pro popis MIB Z ASN.1 přebírá určení jména objektu syntaxe objektu (datový typ) kódování objektu (formou série datových typů) Určuje pravidla pro pojmenovávání objektů, pravidla pro definici datových typů Definice způsobu reprezentace tabulek 11
Datové typy MIB a jejich reprezentace Popis datových typů: podmnožina ASN.1 Abstract Syntax Notation Binární reprezentace podle BER Basic Encoding Rules Explicitně určuje datový typ binární hodnoty Zprávy nejsou bez dalšího dekódování čitelné pro člověka (binární formát) 12
Jednoduché Datové typy v MIB INTEGER (znaménkové, 2,147,483,648-2,147,483,647) OCTET STRING (do 64kB) OBJECT IDENTIFIER Složené: SEQUENCE Aplikační definováno omezení hodnot + příp. chování DisplayString (NVT ASCII) Síťové adresy různých rodin (SNMPv1: IpAddress) PhysAddress Counter (kladné, s max. hodnotou, po přetečení návrat k 0) Gauge (kladné, udržují maximální dosaženou hodnotu) TimeTicks (setiny sekundy od určité události) Opaque (volně kódóvaná neinterpretovaná data) Unsigned integer 13
Object Identifier identifikátor určitého objektu MIB objekty spravovány globálně, identifikátor je sekvencí dekadických číslic např. všechny proměnné MIB začínají 1.3.6.1.2.1. každý takovýto identifikátor má i čitelné textové vyjádření např. 1.3.6.1.2.1 = iso.org.dod.intenet.mgmt.mib. ve zprávách protokolu SNMP se používají číselné identifikátory Numerické hodnoty přiřazeny objektům v jejich definicích v ASN.1 14
Tabulky Proměnné lze uspořádat do tabulek Přistupovat lze současně vždy jen k jedné buňce Jednoznačné ObjectID mají sloupce tabulky, za ně se připojuje index (různého typu konvertovatelné na číslo) Definován mechanismus pro procházení tabulky Řádky indexovány různým datovým typem v indexu Použití get-next-request pro procházení 15
Větve MIB I System (informace o OS síťového prvku/stanice) Interfaces informace o rozhraních Address translation např. ARP tabulky IP informace o protokolu IP ICMP informace o protokolu ICMP EGP informace o směrovacím protokolu EGP předchůdce BGP, dnes již neaktuální 16
Simple Network Management Protocol protokol pro komunikaci mezi management station a síťovými elementy (RFC 1157) nad UDP žádosti a odpovědi na ně na portu 161, trap na port 162 oddělení umožňuje na jednom systému současně provozovat management stanici i agenta. požadavky a odpovědi spárovány pomocí request ID Hodnoty proměnných kódovány podle ASN.1 (explicit typing) binární, pro člověka nečitelné 17
Základní zprávy SNMP get-request - přečtení hodnoty proměnné (resp. atomické čtení skupiny hodnot) get-next-request - postupné čtení všech proměnných procházení stromu v lexikografickém uspořádání podle OID set-request - zapsání hodnoty proměnné (resp. atomický zápis skupiny hodnot) response - zpráva nesoucí výsledek výše uvedených operací (vč. potvrzení set-request) trap - notifikace od agenta na SNMP konzoli 18
SNMP v.1 formát zpráv (1) Hlavička: číslo verze SNMP, jméno komunity PDU (proměnná délka) 19
SNMP v.1 formát zpráv (2) Get, GetNext,Response,Set: PDU type Request ID párování požadavků a odpovědí Error status (použito jen ve zprávě Response) Error Index (v Response, určuje, kterého objektu se týká chyba) Variable bindings asociuje OIDs s hodnotami Trap: Enterprise typ manageovaného objektu který trap způsobil Agent address Generic + Specific trap type Timestamp Variable bindings 20
Bezpečnost SNMP SNMP v.1 postrádá zabezpečení (hlavně autentizaci) Pouze slabý zabezpečovací mechanismus: Komunita RO Komunita RW SET operace často nepoužívány z důvodu bezpečnosti Hodnota řetězce komunity může určovat i úroveň oprávnění Obvykle možnost ikonfigurovat adresu povolených management stanic 21
Remote Monitoring - RMON Pro centrální management několika vzdálených LAN Distribuce systému managementu Vzdálené síťové sondy pro shromažďování lokálních statistik a uchovávání jejich trendů, matic komunikace, zachytávání paketů,... Orientováno na Ethernet a Token Ring (broadcast sítě) Shromažďované informace definovány v RMON MIB (rozšíření MIB) mohou být dotazovány SNMP konzolí, ta nemusí provádět periodické dotazování stavu jednotlivých proměnných umí např. i packet capture 22
Skupiny RMON statistik (RFC 1757) Ethernet Statistics pro jednotlivá rozhraní History Control řízení periodického snímání hodnot Ethernet History zaznamenává periodicky snímané hodnoty Alarm sledování překročení prahových hodnot (podpora hystereze), generování trapů Host statistiky o stanicích na síti (podle procházejících MAC adres) HostTopN tabulka statistik komunikačně nejaktivnějších stanic Matrix matice komunikace mezi stanicemi Filter specifikace filtru pro zachytávání paketů nebo generování trapů. Packet Capture buffer pro zachytávání paketů (podle nastavení filtru) Event nastavení generování trapů + jejich logování 23
RMON 2 RFC 2021, 2034 rozšíření pro vzdálené monitorování i na vyšších vrstvách OSI RM Podobné skupiny jako RMON, ale i pro L3 a L4 protokoly 24
SNMP verze 2 Definice kontextu objektů + přístupových politik Autentizace entit komunikujících přes SNMP Příliš se nerozšířil v realitě SNMPv2c stále použití komunit pro autentizaci Nové zprávy GetBulk alternativa GetNextRequest přenos velkých bloků binárních dat možnost přečtení většího množství objektů současně (kolik se vejde do zprávy s odpovědí) - náhrada vícenásobného iterování GetNextRequest pro efektivní čtení tabulek pokud nelze poskytnou hodnoty všech požadovaných proměnných, agent poskytne alespoň částečné výsledky Inform zasílání potvrzovaných zpráv mezi NMS (používáno i z agenta na NMS) Modifikovaný formát Trap 25
SNMP verze 3 Autentizace a ochrana integrity zpráv jméno+heslo, MD5/SHA1 otisk Možnost šifrování zpráv Modifikovaný formát zpráv Bezpečnostní model orientovaný na uživatele a uživatelské skupiny Autorizace přístupu k MIB objektům (čtení, zápis, vytvoření) MIB pohledy (views) autorizující skupiny uživatelů k přístupu k jednotlivým MIB objektům Přístupové politiky přiděleny skupinám uživatelů Notifikace (TRAPs) přiřazeny ke skupinám uživatelů 26
Pohledy v SNMPv3 Seznamy přístupných OID Přiřazovány skupinám read view, write view notify view 27
Vztah MIB a nových verzí SNMP MIB je na protokolu nezávislá Nezávisle na SNMP se postupně dodefinovávají další rozšíření MIB Standardní i proprietární 28
Sledování toků a zachytávání provozu 29
Monitoring provozu SPAN, RSPAN, VSPAN, ERSPAN Pozor na právní aspekty 30
Netflow Monitoring a sběr statistik datových toků Netflow sondy (exporter) ingress/egress na interface směrovače často HW podpora autonomní sonda připojená přes TAP prvek/span Alternativně samplovaný sběr Netflow collector + návazné aplikace - analýza Netflow export protocol export statistik 31
Netflow Export Protocol Klasické verze Netflow protokolu (v5) Fixní formát záznamů o toků Položky záznamu exportu toku u v5: Verze, Seq# Protokol L4, zdrojové a cílové IP adresy + porty, zdrojové a cílové porty, ToS SNMP index vstupního a výstupního rozhraní čas prvního a posledního paketu toku, počet bajtů a paketů v toku Flexible Netflow (v9) z něj vychází IETF IPFIX Uživatelsky nastavitelné sbírané položky (až do L7) Export templates popisují flexibilní formát záznamů o tocích Číslo template připojeno ke každému zázmanu Široký výběr položek pro export IPv6 adresy, MPLS labels atd. 32
Automatizace instalace a managementu 33
Zero Touch Provisioning plug-and-play instalace síťových prvků bez nutnosti manuální předkonfigurace DHCP a download konfigurace z TFTP DHCP a automatizační nástroje Puppet, Chef, Ansible, Mostly declarative (not imperative) approach Model of required configuration status Agent-based / agentless Also applicable for mass configuration updates 34
Automatizace managementu Distribuce (parametrizovatelných) konfigurčních na sadu zařízení Srovnání konfigurací oproti standardním šablonám Centralizovaný backup konfigurací... 35