ZiMSK. Syslog, SNMP 1

Podobne dokumenty
Simple Network Management Protocol

SNMP PODSTAWOWE KOMPONENTY. Relacje między trzema głównymi komponentami

Zarządzanie sieciami komputerowymi - wprowadzenie

ZADANIE.09 Syslog, SNMP (Syslog, SNMP) 1,5h

Protokół zarządzania siecią SNMP

Wprowadzenie Management Information Base (MIB) Simple Network Management Protocol (SNMP) Polecenia SNMP Narzędzia na przykładzie MIB Browser (GUI)

OUTSIDE /24. dmz. outside /24. security- level /16 TRUNK 0/1 VLAN2 0/2 VLAN10 0/3-0/10 VLAN20 0/11-0/24

Institute of Telecommunications. koniec wykładu V.

ZiMSK. Routing statyczny, ICMP 1

ZiMSK dr inż. Łukasz Sturgulewski, DHCP

Laboratorium 1. Wprowadzenie do protokołu SNMP i kodowanie BER (ASN.1)

SNMP, wersje 1, 2c i 3

Institute of Telecommunications. koniec wykładu III.

Wybrane Zagadnienia Administrowania Sieciami. Dr inż. Robert Banasiak

Wykład 13. Projektowanie i Realizacja Sieci Komputerowych. Bezpieczeństwo sieci Monitorowanie i zarządzanie węzłami sieci komputerowej

Bezpieczeństwo w zarzadzaniu siecia SNMP

ZiMSK. Konsola, TELNET, SSH 1

ZiMSK NAT, PAT, ACL 1

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Celem ćwiczenia jest zapoznanie się z zarządzaniem urządzeniami sieciowymi za pomocą protokołu SNMP.

ZADANIE.02 Podstawy konfiguracji (interfejsy) Zarządzanie konfiguracjami 1,5h

Bezpieczeństwo w zarzadzaniu siecia SNMP

ZiMSK. Charakterystyka urządzeń sieciowych: Switch, Router, Firewall (v.2012) 1

ZiMSK. Routing dynamiczny 1

Zarządzanie sieciami komputerowymi

INSTRUKCJA OBSŁUGI DLA SIECI

ZiMSK. VLAN, trunk, intervlan-routing 1

ZiMSK. mgr inż. Artur Sierszeń mgr inż. Łukasz Sturgulewski ZiMSK 1

ZADANIE.10 Cisco.&.Juniper DHCP (Router, Firewall)

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Zarządzanie sieciami telekomunikacyjnymi

4. Podstawowa konfiguracja

Adresy w sieciach komputerowych

Protokół wymiany sentencji, wersja 1

Programowanie współbieżne i rozproszone

Protokół IPsec. Patryk Czarnik

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

1.1 Ewolucja systemów zarządzania sieciami IP

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

ZADANIE.10 DHCP (Router, ASA) 1,5h

Remote Quotation Protocol - opis

Systemy sygnalizacji i zarządzania TI

PBS. Wykład Organizacja zajęć. 2. Podstawy obsługi urządzeń wykorzystywanych podczas laboratorium.

ARP Address Resolution Protocol (RFC 826)

DOKUMENTACJA TECHNICZNA SMS API MT

Protokoły sieciowe - TCP/IP

7. zainstalowane oprogramowanie zarządzane stacje robocze

ZADANIE.07. Procesy Bezpieczeństwa Sieciowego v.2011alfa ZADANIE.07. VPN RA Virtual Private Network Remote Access (Router) - 1 -

Systemy sygnalizacji i zarządzania EiT

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

SSL (Secure Socket Layer)

POLITECHNIKA ŁÓDZKA Wydział Elektrotechniki i Elektroniki

Model sieci OSI, protokoły sieciowe, adresy IP

PBS. Wykład Filtrowanie pakietów 2. Translacja adresów 3. authentication-proxy

ZESZYTY ETI ZESPOŁU SZKÓŁ W TARNOBRZEGU Nr 1 Seria: Teleinformatyka 2012

Wykaz zmian w programie SysLoger

Specyfikacja techniczna. mprofi Interfejs API

Sieci komputerowe - Wstęp do intersieci, protokół IPv4

Opracowanie protokołu komunikacyjnego na potrzeby wymiany informacji w organizacji

Gatesms.eu Mobilne Rozwiązania dla biznesu

Stos TCP/IP. Warstwa aplikacji cz.2

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

1. Konfiguracja routera i PC. LABORATORIUM 3 Konfiguracja agenta SNMP. Schemat połączeń do konfiguracji komunikacji SNMP zarządca - agent:

Internet Control Message Protocol (ICMP) Łukasz Trzciałkowski

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Specyfikacja HTTP API. Wersja 1.6

Wykaz zmian w programie SysLoger

Warstwa sieciowa. Model OSI Model TCP/IP. Aplikacji. Aplikacji. Prezentacji. Sesji. Transportowa. Transportowa

Konfiguracja bezpiecznego tunelu IPSec VPN w oparciu o bramę ZyWall35 i klienta ZyXEL RSC (Remote Security Client).

TCP/IP formaty ramek, datagramów, pakietów...

Instrukcja konfiguracji funkcji skanowania

Laboratorium z przedmiotu Sieci Komputerowe - Wirtualne sieci lokalne. Łukasz Wiszniewski

Protokół DHCP. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2010/11. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

MODEL OSI A INTERNET

Zadanie OUTSIDE /24. dmz. outside /24. security- level /16

ZADANIE.07 Różne (tryb tekstowy i graficzny) 2h

Funkcje sterownika CellBOX-UxR ModBUS RTU

Sieci komputerowe i bazy danych

POŁĄCZENIE STEROWNIKÓW ASTRAADA ONE MIĘDZY SOBĄ Z WYKORZYSTANIEM PROTOKOŁU UDP. Sterowniki Astraada One wymieniają między sobą dane po UDP


Zadanie OUTSIDE /24. dmz. outside security- level /24. inside security- level /16 VLAN

Dokumentacja SMPP API

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Plan wykładu. Zarządzanie

Przesyłania danych przez protokół TCP/IP

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Adresowanie grupowe. Bartłomiej Świercz. Katedra Mikroelektroniki i Technik Informatycznych. Łódź, 25 kwietnia 2006

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

ZADANIE.07 Różne (tryb tekstowy i graficzny) 2h

PBS. Wykład Zabezpieczenie przełączników i dostępu do sieci LAN

76.Struktura oprogramowania rozproszonego.

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU BIAŁYSTOK, ul. Ciepła 40 filia w EŁKU, ul. Grunwaldzka

ZiMSK. Monitorowanie i Zarzadzanie SK 1

Interfejs DXI dostępu do sieci szerokopasmowej opartej na technice ATM

ZADANIE.08 RADIUS (authentication-proxy, IEEE 802.1x) 2h

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Transkrypt:

ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl Syslog, SNMP 1

Wykład Syslog SNMP Syslog, SNMP 2

Syslog Monitorowanie pracy urządzeń sieciowych z wykorzystaniem systemu SYSLOG. Syslog, SNMP 3

Wprowadzenie Bezpieczeństwo systemu informatycznego to nie tylko maksymalna ochrona przed intruzami. Syslog, SNMP 4

Obszary zastosowania systemów zarządzania sieciami Kluczowe obszary zastosowania systemów zarządzania sieciami określone przez OSI: Zarządzanie wydajnością. Zarządzanie uszkodzeniami, nieprawidłowościami. Zarządzanie kosztami. Zarządzanie konfiguracją i oznaczeniami. Zarządzanie bezpieczeństwem. Syslog, SNMP 5

Zarządzanie bezpieczeństwem Zadania zarządzania bezpieczeństwem: Przechowywanie informacji bezpieczeństwa: Przykłady obiektów wykorzystywanych przy zarządzaniu bezpieczeństwem: klucze, informacje o uprawnieniach i prawach dostępu, parametry operacyjne oraz usługi i mechanizmy bezpieczeństwa. Informacje, które należy gromadzić, aby ułatwić wykrycie nieuprawnionego dostępu: Logowanie zdarzeń; Monitorowanie bezpieczeństwa linii komunikacyjnych; Monitorowanie użycia zasobów związanych z bezpieczeństwem; Raportowanie o naruszeniu bezpieczeństwa; Odbieranie zawiadomień o naruszeniu bezpieczeństwa; Utrzymywanie kopii bezpieczeństwa danych związanych z bezpieczeństwem; Utrzymywanie profili użytkowników i ich użycia przy dostępie do określonych zasobów. Kontrola usług dostępu do zasobów. Kontrola procesów kodowania. Syslog, SNMP 6

Logowanie zdarzeń Z logów pracy serwera korzystać należy w przypadku, gdy administrator zauważy wadliwe funkcjonowanie jakiejś, skonfigurowanej na serwerze, usługi i będzie chciał określić przyczynę błędu. Korzysta się z nich również wtedy, gdy będziemy mieli do czynienia z działalnością intruza i chcemy sprawdzić jakie zmiany zostały przez niego poczynione. Syslog, SNMP 7

Syslog Jedną z podstawowych metod monitorowania pracy urządzeń sieciowych jest przeglądanie i kontrolowanie logów systemowych. Program Syslog jest jednym z najważniejszych narzędzi systemowych: Umożliwia rejestrowanie zdarzeń zachodzących w systemie przy pomocy zcentralizowanego mechanizmu. Są w nich zapisane informacje generowane przez każdy serwer czy też inne urządzenie sieciowe. Zapoznanie się z komunikatami systemowymi, które jesteśmy w stanie przeglądać dzięki systemowi SYSLOG, pozwala nam na uzyskanie wiedzy o tym co dzieje się w naszej sieci, jakie zachodzą w niej zdarzenia, a także na administrowaniu nią w bezpieczniejszy i bardziej niezawodny sposób. Syslog, SNMP 8

Zdarzenia i generowanie komunikatów Administratorzy systemów operacyjnych, procesów i innych aplikacji mają pełną kontrolę nad ich pracą, ponieważ programy te generują wiadomości, o tym, co się w nich dzieje. Wiadomości te są generowane co pewien określony czas lub też w innych dowolnych momentach, jak np. przy wejściu lub wyjściu z programu. W przypadku wystąpienia dowolnego zdarzenia, również zostanie wygenerowana o tym informacja. Wiadomości te mogą zawierać informacje o stanie, bądź też nieprawidłowościach zachodzących w programie. Syslog, SNMP 9

Syslog, SNMP 10

Syslog, SNMP 11

Rodzaje zdarzeń i komunikatów Autorzy systemów operacyjnych, procesów i aplikacji podzielili generowane wiadomości na kategorie z uwzględnieniem takich czynników jak: źródło z którego pochodzą, rodzaj zdarzenia, priorytet zaistniałego zdarzenia. Syslog, SNMP 12

Co zrobić z komunikatem Komunikat może zostać: Wyświetlony na konsoli administracyjnej, Przesłany do serwera lub serwerów. W przypadku przesłania do serwera, aplikacja może podjąć dodatkowe działania. Syslog, SNMP 13

Zawartość komunikatu Treść komunikatu jaki zostanie wygenerowany jest: dowolna; ustalana przez autora. Syslog, SNMP 14

Syslog Protokół warstwy aplikacji (7). W transporcie używa UDP. Port 514 (serwer). Zalecany port 514 (klient). RFC 3164 Syslog, SNMP 15

Architektura połączeń Syslog, SNMP 16

Format komunikatu Syslog Komunikat Syslog jest podzielony na trzy części: PRI, HEADER, MSG. Cała długość pakietu nie może być większa niż 1024 bajtów. Syslog, SNMP 17

PRI Część PRI składa się z od 3 do 5 znaków. Pierwszy znak to <. Ostatni znak to >. Liczba zawarta w nawiasach przedstawia priorytet wiadomości (reprezentując źródło) oraz poziom zagrożenia. Syslog, SNMP 18

priorytet wiadomości (źródło) Syslog, SNMP 19

Poziom zagrożenia Syslog, SNMP 20

Obliczanie PRI Priorytet każdej wiadomości obliczany jest poprzez pomnożenie kodu źródła przez 8 a następnie dodania do niego kodu poziomu zagrożenia. W przypadku, gdy źródłem wiadomości będzie Local use 4 (20) i poziom zagrożenia Notice (5) to priorytet będzie wynosił 165. Syslog, SNMP 21

HEADER Część HEADER składa się z dwóch pól o nazwach: TIMESTAMP, HOSTNAME. Syslog, SNMP 22

TIMESTAMP TIMESTAMP jest to pole, które zawiera czas lokalny podany w formacie: Mmm dd hh:mm:ss Syslog, SNMP 23

TIMESTAMP Mmm dd hh:mm:ss Skrót miesiąca w języku angielskim, gdzie pierwszy znak jest dużą literą a dwa pozostałe małą: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec Syslog, SNMP 24

TIMESTAMP Mmm dd hh:mm:ss Dzień miesiąca. Jeśli miesiąca jest mniejszy od 10 wtedy musi być przedstawiony jako spacja i numer dnia. Syslog, SNMP 25

TIMESTAMP Mmm dd hh:mm:ss Godzina. Przyjmowane wartości: (hh) 0-23. (mm) i (ss) 0-59. Pojedyncza spacja musi pojawić się po polu TIMESTAMP. Syslog, SNMP 26

HOSTNAME Pole HOSTNAME zawiera: nazwę hosta, IPv4, IPv6 oryginalnej wiadomości. Pojedyncza spacja musi pojawić się po polu HOSTNAME. Syslog, SNMP 27

MSG Część MSG zbudowana jest z dwóch pół: TAG; CONTENT. Syslog, SNMP 28

TAG Wartość w polu TAG jest nazwą programu lub procesu, który wygenerował wiadomość. Pole TAG jest to ciąg znaków, których nie może być więcej niż 32. Zazwyczaj koniec sygnalizowany jest znakiem [, : lub spacją. Syslog, SNMP 29

CONTENT Pole CONTENT zawiera szczegóły komunikatu czyli opis zdarzenia zgodnie z założeniami autora aplikacji czy procesu. Syslog, SNMP 30

Przykład Syslog, SNMP 31

Konfiguracja Syslog na sprzęcie Cisco Urządzenia Cisco generują komunikaty zgodnie ze standardem Syslog. Sposoby logowania komunikatów: Console Komunikaty będą pojawiać się na konsoli podłączonej do urządzenia. Buffered Komunikaty będą przechowywane w pamięci urządzenia. Monitor Komunikaty będą przesyłane do sesji Telnet/SSH. Host Komunikaty będą przesyłane do zewnętrznego serwera. SNMP Komunikaty będą przesyłane jako pułapki za pomocą protokołu SNMP. Syslog, SNMP 32

Konfiguracja Syslog na sprzęcie Cisco Poziomy zagrożenia: Syslog, SNMP 33

Logowanie komunikatów na zewnętrznym serwerze Syslog, SNMP 34

Logowanie komunikatów lokalnie na urządzeniu Syslog, SNMP 35

Sprawdzenie konfiguracji Syslog, SNMP 36

Zadanie laboratoryjne: Syslog Urządzenie Serwer: OUTSIDE Parametry Syslog Wysyłane poziomy ważności: 0 6 Znacznik czasowy: czas pracy urządzenia Kod źródła: local2 Serwer: inside_admin Wysyłane poziomy ważności: 0 4 Znacznik czasowy: czas pracy urządzenia Kod źródła: local1 Serwer: inside_admin Wysyłane poziomy ważności: 0 6 Znacznik czasowy: czas bieżący Kod źródła: local0 Syslog, SNMP 37

Zadanie laboratoryjne: Syslog Syslog, SNMP 38

Zadanie laboratoryjne: Syslog Syslog, SNMP 39

Protokóły monitorowania i zarządzania sieciami komputerowymi Protokoły zarządzania (koniec lat 80-tych): HEMS (High-Level Entity Management System) uogólnienie prawdopodobnie pierwszego protokołu zarządzanie siecią HMP (Host Monitoring Protocol), SNMP (Simple Network Management Protocol) rozbudowana wersja protokołu SGMP (Simple Gateway Monitoring Protocol), CMIP over TCP/IP (Common Management Information Protocol over TCP/IP - CMOT) próba przeniesienia protokołu zarządzania opracowanego przez ISO/OSI na platformę TCP/IP. Syslog, SNMP 40

Dokumentacja protokołu SNMPv1 Numer RFC Tytuł 1155 Structure and Identification of Management Information for TCP/IPbased Internets 1157 A Simple Network Management Protocol (SNMP) Data publikac ji Maj 1990 Maj 1990 1212 Concise MIB Definitions Marzec 1991 1213 Management Information Base for Network Management of TCP/IP-based internets: MIB-II Marzec 1991 Syslog, SNMP 41

Bazy danych MIB ccitt (0) iso (1) iso-ccitt (2) standard (0) registrationauthority (1) memberbody (2) identifiedorganization (3) dod (6) internet (1) directory (1) mgmt (2) experimental (3) private (4) security (5) snmpv2 (6) mib-2 (1) enterprise (1) cisco (9) temporary variables (3) DECnet (1) XNS (2) Apple Talk (3) Novell (3) VINES (4) Chassis (5) atinput (1) atlocal (2) atbcastin (3) atforward (4) Rysunek 2.11 Drzewo MIB II. Syslog, SNMP 42

Podstawowe typy danych w bazie MIB Typ danych INTEGER (UNIVERSAL 2) liczba całkowita OCTET STRING (UNIVERSAL 4) oktetowy ciąg znaków NULL (UNIVERSAL 5) zero OBJECT IDENTIFIER (UNIVERSAL 6) identyfikator obiektu SEQUENCE (UNIVERSAL 16) kolejność SEQUENCE OF (UNIVERSAL 16) kolejność Opis Typ danych reprezentujący liczebniki główne. Typ danych reprezentujący ciąg oktetów, gdzie każdy z nich może przyjmować wartość od 0 do 255. Typ danych traktowany jako znak-wypełniacz, ale obecnie nie używany. Typ danych reprezentujący identyfikator (nazwę) obiektu, która składają się z sekwencji wartości określających węzeł w drzewie MIB. Typ danych wykorzystywany do tworzenia list w skład, których wchodzą obiekty o typach prostych ASN.1. Typ danych wykorzystywany do tworzenia tabel, budowanych w oparciu o wcześniej zdefiniowane listy. Syslog, SNMP 43

System zarządzania SNMP Jednostka zarządzająca Network Management System NMS Agent Agent Agent Baza danych MIB Baza danych MIB Baza danych MIB Zarządzane urządzenia Rysunek 2.14 Elementy systemu zarządzania stosującego protokół SNMP. Syslog, SNMP 44

Operacje protokołu Jednym z powodów, dla których SNMP jest uważany za prosty, jest fakt, że udostępnia on tylko trzy podstawowe czynności, które mogą być wykonywane na obiektach: Set: System zarządzania może zaktualizować lub zmienić wartość skalarnego obiektu MIB. Operacja ustawiania jest uprzywilejowanym poleceniem, ponieważ może być wykorzystywana do poprawiania konfiguracji urządzenia lub do kontrolowania jego stanu użytkowego. Get: System zarządzania może odczytywać wartość skalarnego obiektu MIB. Polecenie pobierania wartości jest najpopularniejszą czynnością protokołu SNMP, ponieważ jest to główny mechanizm wykorzystywany do zbierania informacji o urządzeniu sieciowym. Trap: Agent może samodzielnie wysyłać wiadomości do programu zarządzania siecią. Celem tej usługi jest zawiadomienie systemu zarządzania o zmianie warunków pracy urządzenia lub wykrytych problemach. Syslog, SNMP 45

Społeczność Specyfikacja SNMP (RFC 1157) dostarcza bardzo prostego mechanizmu ochrony opartego na koncepcji społeczności. Nazwa społeczności jest definiowana lokalnie w agencie, dlatego te same nazwy mogą być używane przez różnych agentów. Każda wiadomość przesyłana ze stacji zarządzającej do agenta zawiera nazwę społeczności. Głównym powodem problemów z bezpieczeństwem jest to, że SNMP nie zapewnia żadnych funkcji kodowania lub innych mechanizmów, dzięki którym można upewnić się, że informacje o społeczności nie są kopiowane z sieci podczas wymiany pakietów SNMP. Syslog, SNMP 46

Kontrola dostępu do zmiennych MIB access SNMP access mode READ-ONLY READ-WRITE read-only Dostępne dla operacji get i trap Dostępne dla operacji get i trap read-write Dostępne dla operacji get i trap Dostępne dla operacji get, trap oraz set write-only Dostępne dla operacji get i trap, lecz wartość zależy od specyfiki implementacji Dostępne dla operacji get, trap oraz set, lecz wartość zależy od specyfiki implementacji not accessible niedostępny Syslog, SNMP 47

Format wiadomości SNMPv1 a.) Schemat blokowy. Version Community b.) Definicja zgodna z notacją ASN.1. Rysunek 2.15 Format wiadomości protokołu SNMP. PDU Message ::= SEQUENCE { version -- version-1 for RFC 1157 INTEGER { version-1(0) }, community -- community name OCTET STRING, data ANY } -- e.g., PDUs if trivial -- authentication is being used Informacje, pomiędzy stacją zarządzającą a agentem, są wymieniane w formie komunikatów SNMP. Urządzenie odbiera wiadomości wykorzystując bezpołączeniowy protokół UDP na porcie 161. Jedynie wiadomości zawierające pułapki odbierane są na porcie 162. Syslog, SNMP 48

Format wiadomości SNMPv1 W SNMPv1 zdefiniowano pięć typów PDU: GetRequest; GetNextRequest; SetRequest; GetResponse; Trap; PDU GetRequest, GetNextRequest, SetRequest, GetResponse mają taki sam format.dzięki temu uniknięto zbytecznej komplikacji protokołu. Jedynie Trap-PDU, ze względu na swoją specyfikę, ma inną strukturę. Syslog, SNMP 49

Format wiadomości SNMPv1 PDU Type Request ID Error Status Error Index Object 1 Value 1 Object 2 Value 2 Object x Value x a.) Schemat blokowy. Variable Bindings PDU ::= SEQUENCE { request-id INTEGER, error-status -- sometimes ignored INTEGER { noerror(0), toobig(1), nosuchname(2), badvalue(3), readonly(4), generr(5) }, error-index INTEGER, -- sometimes ignored b.) Definicja zgodna z notacją ASN.1. } variable-bindings -- values are sometimes ignored VarBindList Rysunek 2.16 Format PDU: GetRequest, GetNextRequest, SetRequest, GetResponse. Syslog, SNMP 50

Format wiadomości SNMPv1 Enterprise Agent Address Generic Trap Type Specific Trap Code Time Stamp Object 1 Value 1 Object 2 Value 2 Object x Value x a.) Schemat blokowy. Trap-PDU ::= IMPLICIT SEQUENCE { enterprise -- type of object generating -- trap, see sysobjectid OBJECT IDENTIFIER, agent-addr -- address of object generating NetworkAddress, -- trap generic-trap -- generic trap type INTEGER { coldstart(0), warmstart(1), linkdown(2), linkup(3), authenticationfailure(4), egpneighborloss(5), enterprisespecific(6) }, specific-trap -- specific code, present even INTEGER, -- if generic-trap is not -- enterprisespecific time-stamp -- time elapsed between the last TimeTicks, -- (re)initialization of the network -- entity and the generation of the trap Variable Bindings b.) Definicja zgodna z notacją ASN.1. Rysunek 2.17 Format Trap-PDU. } variable-bindings -- "interesting" information VarBindList Syslog, SNMP 51

SNMP v2 Głównym celem opracowania drugiej wersji protokołu zarządzania w sieciach TCP/IP było wyeliminowanie błędów i braków poprzednika: SNMPv2 Classic opublikowany w dokumentach RFC od 1441 do 1452 community-based SNMPv2 (SNMPv2c) specyfikacja została zawarta w dokumentach RFC od 1901 do 1908 (styczeń 1996). SNMPv2 usec SNMPv2* Syslog, SNMP 52

SNMP v2 Wprowadzone zmiany dotyczą pięciu głównych obszarów: Typy danych; Definiowanie obiektów; Tabele; Definicje zawiadomień; Moduły informacyjne. Syslog, SNMP 53

SNMP v2 PDU Type Request ID Non Repeaters Max Repetitions Object 1 Value 1 Object 2 Value 2 Object x Value x a.) Schemat blokowy. Variable Bindings BulkPDU ::= SEQUENCE { request-id Integer32, -- MUST be identical in -- structure to PDU non-repeaters INTEGER (0..max-bindings), max-repetitions INTEGER (0..max-bindings), variable-bindings VarBindList } b.) Definicja zgodna z notacją ASN.1. Rysunek 2.24 Format PDU: GetBulkRequest. -- values are ignored Syslog, SNMP 54

SNMP v2 PDU Type Request ID Error Status Error Index Object 1 Value 1 Object 2 Value 2 Object x Value x a.) Schemat blokowy. PDU ::= SEQUENCE { request-id Integer32, Variable Bindings b.) Definicja zgodna z notacją ASN.1. } error-status -- sometimes ignored INTEGER { noerror(0), toobig(1), nosuchname(2), -- for proxy compatibility badvalue(3), -- for proxy compatibility readonly(4), -- for proxy compatibility generr(5), noaccess(6), wrongtype(7), wronglength(8), wrongencoding(9), wrongvalue(10), nocreation(11), inconsistentvalue(12), resourceunavailable(13), commitfailed(14), undofailed(15), authorizationerror(16), notwritable(17), inconsistentname(18) }, error-index -- sometimes ignored INTEGER (0..max-bindings), variable-bindings -- values are sometimes ignored VarBindList Rysunek 2.25 Format PDU: GetRequest, GetNextRequest, SetRequest, GetResponse, SNMPv2-Trap, InformRequest. Syslog, SNMP 55

SNMP v3 Numer RFC Tytuł Data publikacji 2271 An Architecture for Describing SNMP Managment Frameworks Styczeń 1998 2272 Message Processing and Dispatching for SNMP Styczeń 1998 2273 SNMPv3 Applications Styczeń 1998 2274 User-Based Security Model for SNMPv3 Styczeń 1998 2275 View-Based Access Control Model (VACM) for SNMP Styczeń 1998 Syslog, SNMP 56

SNMP v3 msgversion msgid msgmaxsize msgflags msgsecuritymodel msgsecurityparameters contextengineid contextname PDU SNMPv3MessageSyntax DEFINITIONS IMPLICIT TAGS ::= BEGIN SNMPv3Message ::= SEQUENCE { -- identify the layout of the SNMPv3Message -- this element is in same position as in SNMPv1 -- and SNMPv2c, allowing recognition msgversion INTEGER { snmpv3 (3) }, -- administrative parameters msgglobaldata HeaderData, -- security model-specific parameters -- format defined by Security Model msgsecurityparameters OCTET STRING, msgdata ScopedPduData } HeaderData ::= SEQUENCE { msgid INTEGER (0..2147483647), msgmaxsize INTEGER (484..2147483647), msgflags OCTET STRING (SIZE(1)), --......1 authflag --.....1. privflag --....1.. reportableflag -- Please observe: --.....00 is OK, means noauthnopriv --.....01 is OK, means authnopriv --.....10 reserved, must NOT be used. --.....11 is OK, means authpriv } msgsecuritymodel INTEGER (0..2147483647) a.) Schemat blokowy. msgglobaldata = HeaderData Definiowane i używane przez model bezpieczeństwa msgdata = ScopedPdu ScopedPduData ::= CHOICE { plaintext ScopedPDU, encryptedpdu OCTET STRING -- encrypted scopedpdu value } ScopedPDU ::= SEQUENCE { contextengineid OCTET STRING, contextname OCTET STRING, data ANY -- e.g., PDUs as defined in RFC1905 } END b.) Definicja według notacji ASN.1 Rysunek 2.45 Format wiadomości SNMPv3. Syslog, SNMP 57

SNMP v3 msgversion: Wersja protokołu (dla SNMPv3 pole przyjmuje wartość 3). msgid: Unikalny identyfikator używany w komunikacji pomiędzy dwoma jednostkami SNMP w celu koordynacji przesyłanych par wiadomości żądanie - odpowiedź. Jest to liczba całkowita z przedziału <0; 2 31-1>. msgmaxsize: Określa maksymalny rozmiar wiadomości w oktetach obsługiwany przez nadawcę wiadomości. Jest to liczba całkowita z przedziału <484; 2 31-1 >. msgflags: Ciąg oktetów zawiera trzy możliwe flagi, umieszczone w ostatnich trzech znaczących bitach, nazwane odpowiednio reportableflag, privflag, authflag. Jeśli reportableflag = 1 wtedy odbiorca wiadomości musi zwrócić report PDU do nadawcy. Ogólnie nadawca ustawia tą flagę dla wiadomości zawierających request PDU, zaś kasuje ją dla response, trap lub report PDU. Pozostałe dwie flagi służą do określania zastosowanego w konkretnej wiadomości poziomu bezpieczeństwa: privflag = 1 oznacza, że wiadomość jest zaszyfrowana zaś authflag = 1 oznacza, że dodano uwierzytelnianie. msgsecuritymodel: Określa który model bezpieczeństwa został użyty przez nadawcę podczas przygotowywania wiadomości. Jest to liczba całkowita z przedziału <0; 2 31-1>. Zarezerwowane wartości: 1 SNMPv1; 2 SNMPv2c; 3 USM. msgsecurityparameters: Ciąg oktetów, który zawiera parametry generowane przez Security Subsystem w jednostce wysyłającej i przetwarzane przez Security Subsystem w jednostce odbierającej. contextengineid: Ciąg oktetów, który jednoznacznie identyfikuje jednostkę SNMP. Dla przychodzących wiadomości to pole określa, której aplikacji zostanie przesłane, do przetworzenia, scopedpdu. contextname: Ciąg oktetów, który jednoznacznie identyfikuje określony kontekst ze zbioru kontekstów. data: Jest to właściwa część wiadomości czyli PDU. W dokumentacji RFC zostało określone, że jest ono dokładnie takie same jak w SNMPv2. Syslog, SNMP 58

Uwierzytelnianie w SNMPv3 Dla potrzeb uwierzytelniania SNMPv3 umożliwia korzystanie z dwóch alternatywnych protokołów: HMAC-MD5-96 Dla HMAC-MD5-96 używany jest kod identyfikacji wiadomości HMAC z funkcją mieszającą MD5. 16-oktetowy authkey jest podawany na wejściu algorytmu HMAC. Algorytm zwraca 128-bitowy ciąg redukowany następnie do 96 bitów. Otrzymana wartość jest umieszczana w polu msgauthenticationparameters wiadomości SNMPv3. HMAC-SHA-96. Dla HMAC-SHA-96 używany jest kod identyfikacji wiadomości HMAC z funkcją mieszającą SHA-1. W tym przypadku na wejściu do funkcji podajemy 20-oktetowy authkey, zaś na wyjściu otrzymujemy 20-oktetowy rezultat, redukowany do 12 oktetów. Syslog, SNMP 59

Szyfrowanie w SNMPv3 SNMPv3 używa trybu CBS algorytmu kodowania DES. Na wejściu do algorytmu kodowania podawany jest 16-oktetowy privkey. Pierwsze 8 oktetów używane jest jako klucz w algorytmie DES (dokładnie następuje odrzucenie najmniej znaczących bitów tak, aby klucz miał długość 56-bitów). Dla CBS potrzebny jest unikalny wektor początkowy IV (Initial Vector). Tworzony jest on kilkuetapowo: Ostatnie 8 oktetów, 16-oktetowego privkey, jest użytych jako pre-iv; W celu upewnienia się, że dla różnych tekstów jawnych kodowanych tym samym kluczem otrzymamy różne IV tworzona jest 8-oktetowa pomocnicza wartość, zbudowana z 4-oktetowej bieżącej wartości snmpengineboots oraz również 4-oktetowej liczby całkowitej przechowywanej przez lokalny protokół kodowania (po każdym użyciu następuje jej modyfikacja); Wyznaczona wartość pomocnicza jest następnie XOR owana bit po bicie z pre-iv. W wyniku tej operacji otrzymujemy potrzeby wektor początkowy IV. Wartość pomocnicza jest umieszczana w wiadomości SNMPv3 w polu msgprivacyparameters, aby odbiorca był wstanie obliczyć IV. Dzięki temu przez niebezpieczne medium przesyłamy jedynie nieistotną dla jednostek atakujących wartość pomocniczą. Syslog, SNMP 60

Zadanie laboratoryjne: SNMP OUTSIDE 200. 200.200.0/24 Parametry agenta SNMP Serwer: inside_admin Wersja: 3 outside security-level 0 inside security-level 100 192. 168.1.0/24 dmz security-level 50 176.16.0.0/16 Poziom bezpieczeństwa: auth Protokół uwierzytelniania: HMAC-MD5-96 Grupa: dowolna Użytkownik: dowolny 10.0.0.0/8 10.10.0.0/16 VLAN10 sec.lev.85 VLAN2 sec.lev.95 10.2.0.0/16 10.20.0.0/16 VLAN 20 sec.lev.80 Hasło: dowolne Pułapki: interfejs up, interfejs down Serwer: inside_admin Wersja: 2c Hasło: dowolne Pułapki: interfejs up, interfejs down Syslog, SNMP 61

Zadanie laboratoryjne: SNMP Syslog, SNMP 62

Zadanie laboratoryjne: SNMP Syslog, SNMP 63

ZiMSK KONIEC Syslog, SNMP 64