Sledování sítě

Lukáš Bezdička, 255993@mail.muni.cz

Obsah

Úvod

Rozsiahle siete, kritické stroje alebo služby treba neustále sledovať. Komplexné riešenie je napríklad použitie SNMP na zber dát MRTG na vykreslenie štatistík a Nagios na monitoring, prípadne aj hlásenie problémov.

Snmp

Začiatkom 1988 začal vývoj na protokole pre vzdialenú administráciu na TCP/IP sietiach a obzvlášť Internetu. IAB stanovila základne požiadavky:

# Byť čo najväčší
# Mať čo najväčšiu diverzitu implementácií
# Mať čo najväčšiu diverzitu administrácie/manažmentu
# Pokrývať čo najviac vrstiev protokolu 
[2]

SNMPv1 - prvá verzia protokolu ktorá vznikla na základe vedomostí z SGMP.
SNMPv2 - druhá verzia, nekompatibilná s v1 priniesla autentifikáciu (1993)
SNMPv3 - momentálne posledná verzia, od roku 2004 sa predošlé verzie považujú za zastarané

Sieť spravovaná SNMP pozostáva z troch kľúčových komponentov: * Managed device = podriadený stroj * Agent = software ktorý beží na MD * Network management system (NMS) = software ktorý beží na nadriadenom stroji MD je sieťová nóda, ktorá implementuje SNMP rozhranie, ktoré umožňuje jednosmerný alebo obojsmerný prístup k informáciám špecifickým pre danú nódu. MD si vymieňajú nešpecifické informácie s NMS. MD môžu byť akékoľvek zariadenia router, access servere, switche, bridge, huby, IP telefóny, hosty a tlačiarne. Agent je network-management software modul na MD. Agent má lokálne riadiace informácie, ktoré prekladá na informácie v špecifickej SNMP forme. Network management system (NMS) spúšťa aplikácie ktoré monitorujú a kontrolujú MD. NMS poskytuje základné zdroje potrebné na sieťový management. [3]

Väčšina serverov, routerov a firewallov ukladá svoje operačné štatistiky v objektových identifikátoroch (OIDs), ktoré sa dajú vzdialene získať skrz Simple Network Management Protocol (SNMP). Pre zjednodušenie dodávatelia hardvéru poskytujú Management Information Base (MIB) súbory pre ich zariadenia, ktoré definujú ich OID funkcie. [1]

OID sú usporiadané SMI (structure of management information) v strome definovanom v SNMP štandarde. Strom začína z bezmennej root nody, z ktorej zostupujú vetvy a listy, každý pridávajúci vlastnú referenčnú hodnotu k ceste oddelenej bodkou. Management Information Bases (MIBs) sú textové definície každej OID vetvy.

OID MIB
1.3 org
1.3.6 dod
1.3.6.1 internet
1.3.6.1.1 directory
1.3.6.1.2 mgmt
1.3.6.1.3 experimental
1.3.6.1.4 private
1.3.6.1.4.1 enterprises

    |-- itu-t (0)
    |-- itu-t/iso (2)
    `-- iso (1)
        |-- org (3)
        :   |-- ibm (18)
            |-- dod (6)
            :   `-- internet (1)
                    |-- directory (1)
                    |-- mgmt (2)
                    :   |-- mib-2 (1)
                        :   |-- system (1)
                            :   |-- sysUpTime (3)
                                :

snmpd.conf - snmpconf -g basic_setup
snmpwalk - získava podstrom MIB hodnôt pomocou SNMP GETNEXT napr: snmpwalk -v 1 -c public localhost
snmpget - používa SNMP GET na komunikáciu so sieťou na získavanie jednotlivých OID

SNMPv3 konfigurácia:
net-snmp-config --create-snmpv3-user -ro -a MD5 -A rootsrockreggae username4snmpv3
net-snmp-config --create-snmpv3-user -ro -a MD5 -A mandeville -x DES -X savlamar securev3user

SNMPv3 snmpget:
snmpget -v 3 -u username4snmpv3 -l authNoPriv -a MD5 -A rootsrockreggae 192.168.1.100 SNMPv2-MIB::sysORDescr.8
snmpget -v 3 -u securev3user -l authPriv -a MD5 -A mandeville -x DES -X savlamar 192.168.1.100 SNMPv2-MIB::sysORDescr.8

Ak je nutné mať snmp daemon na systéme, mali by sa dodržiavať niektoré bezpečnostné praktiky:

     * používať len SNMP verzie 3 a zapnúť autentifikáciu a kryptografie
     * write access do MIB (Management Information Base) by mal byť povolený len keď je to nevyhnutné
     * veškerý prístup k MIB by mal byť obmedzený podľa princípu minimálnych privilégií
     * sieťový prístup k vybraným strojom by mal byť čo najviac limitovaný jak v iptables tak v konfigurácii
     * zaistiť, že SNMP agent posiela TRAP a prijíma SNMP dotazy len z autorizovaných management staníc
     * zaistiť aby práva na snmpd.conf boli 640 abo ešte reštriktívnejšie
     * zaistiť aby MIB súbory mali rovnako tak 640...
[4]

* SNMP versions 1 and 2c are subject to packet sniffing of the clear text community string from the network traffic, because they do not implement encryption.
* All versions of SNMP are subject to brute force and dictionary attacks for guessing the community strings/authentication strings/authentication keys/encryption strings/encryption keys, because they do not implement a challenge-response handshake. Entropy is an important consideration when selecting keys, passwords and/or algorithms.
* Although SNMP works over TCP and other protocols, it is most commonly used over UDP that is connectionless and vulnerable to IP spoofing attacks. Thus, all versions are subject to bypassing device access lists that might have been implemented to restrict SNMP access, though SNMPv3's other security mechanisms should prevent a successful attack.
* SNMP's powerful configuration (write) capabilities are not being fully utilized by many vendors, partly due to lack of security in SNMP versions before SNMPv3 and partly due to the fact that many devices simply are not capable of being configured via individual mib object changes.
* SNMP tops the list of the SANS Institute's Common Default Configuration Issues with the issue of default SNMP community strings set to public and private and was number ten on the SANS Top 10 Most Critical Internet Security Threats for the year 2000.
[6]

MRTG - Multi Router Traffic Grapher

The Multi Router Traffic Grapher (MRTG) je nástroj na monitoring trafficu a záťaže. MRTG generuje HTML stránky s živou reprezentáciou dát na v PNG obázkoch. Napríklad https://kyberia.sk/stats/ ktorej grafy sú vygenerované pomocou rrdtool.

Nagios

V podstate je Nagios (http://www.nagios.org) open source monitorovací nástroj služieb a sietí. Umožňuje spravovať rôzne druhy služieb a počítače bažiaci na rôznych operačných systémoch ako je Linux, NetWare, Windows, AIX ....

Jednoducho definujete hosta podľa jeho mena, ip adresy, ostatných parametrov a pridelíte ho službám. Za službami nieje nič iné ako kontrolní program nastavený tak, že beží v určitom intervale nejaké testy. Napríklad u ftp služieb sa používa check_ftp program, ktorý urobí nejaké ftp spojenia na server. Oznámi výsledok späť Nagiosu. Exit kód 0, ak je test v poriadku = zelená, kód ukončenia 1 znamená varovanie = žltá, návratový kód 2 znamená kritický stav = červená a kód ukončenia = 3 znamená neznámy stav = oranžová. V závislosti na nastavení vás upozorní na problém. [5]

Literatúra