Simple Network Management Protocol (SNMP) to rodzina protokołów sieciowych szeroko wykorzystywana do zarządzania oraz monitorowania urządzeń sieciowych tj. routery, przełączniki czy serwery. Istnieją trzy wersje protokołu SNMP. Pierwsza wersja SNMPv1 zaprezentowana została w 1988 roku. Nowsze wersje SNMPv2c i SNMPv3 wprowadziły wiele ulepszeń w kwestii wydajności oraz bezpieczeństwa. Ze względu na obsługę uwierzytelniania oraz szyfrowania transmisji, wersja SNMPv3, wydaje się jedynym rozsądnym rozwiązaniem. Konfiguracji SNMPv3 na przełącznikach HP ProCurve / Aruba można dokonać z poziomu CLI.
Wersja 3 protokołu SNMP posiada trzy opcje związane z bezpieczeństwem oraz prywatnością:
- noAuthNoPriv (bez uwierzytelniania, bez prywatności)
- authNoPriv (uwierzytelnianie bez prywatności)
- authPriv (uwierzytelnianie i prywatność)
SNMPv3 udostępnia dwa różne mechanizmy uwierzytelniania:
- md5 – jest obecnie obsługiwany głównie w celu zapewnienia kompatybilności wstecznej
- sha1 – jest znacznie silniejszym algorytmem kryptograficznym, który jest również szybszy do obliczenia, nie ma powodu, aby używać md5.
SNMPv3 udostępnia również dwa różne algorytmy szyfrowania:
- DES – ma znane problemy bezpieczeństwa i zapewnia słabe szyfrowanie, dlatego należy go unikać
- AES – używać, gdy tylko jest to możliwe
Uruchomienie SNMPv3 na przełącznikach HP ProCurve / Aruba można podzielić na trzy etapy. Pierwszym z nich jest włączenie obsługi protokołu SNMPv3 na switchu. W tym celu należy zalogować się na wybrany przełącznik, przejść w tryb konfiguracji a następnie wydać polecenie snmpv3 enable.
HP-Switch-5406Rzl2#configure HP-Switch-5406Rzl2(config)# snmpv3 enable
Podczas włączania SNMPv3 przełącznik rozpocznie tworzenie użytkownika initial. Podczas tworzenia użytkownika należy podać dwa hasła: authentication password i privacy password. W tej chwili nie ma znaczenia jakie hasła zostaną ustawione (na kolejnym etapie utworzony stanie właściwy użytkownik a initial zostanie skasowany). Ważne aby hasło miało co najmniej 6 znaków, gdyż w innym wypadku proces tworzenia użytkownika zakończy się niepowodzeniem.
HP-Switch-5406Rzl2(config)# snmpv3 enable SNMPv3 Initialization process. Creating user 'initial' Authentication Protocol: MD5 Enter authentication password: ***** Authentication password must be 6-32 characters long. Cannot create user 'initial'.
HP-Switch-5406Rzl2(config)# snmpv3 enable SNMPv3 Initialization process. Creating user 'initial' Authentication Protocol: MD5 Enter authentication password: ****** Privacy protocol is DES Enter privacy password: ******
Po utworzeniu użytkownika initial kreator zapyta nas czy chcemy utworzyć kolejnego. W tym momencie należy odpowiedzieć przecząco.
User 'initial' has been created Would you like to create a user that uses SHA? [y/n] n User creation is done. SNMPv3 is now functional.
W kolejnym kroku warto ograniczyć funkcjonalność protokołów SNMP w starszych wersjach
Would you like to restrict SNMPv1 and SNMPv2c messages to have read only access (you can set this later by the command 'snmpv3 restricted-access')? [y/n] y
Jeśli istnieje taka potrzeba można je całkowicie wyłączyć
HP-Switch-5406Rzl2(config)# snmpv3 only
W kolejnym kroku należy utworzyć nowego użytkownika z odpowiednim loginem i hasłami.
W przykładzenie zostanie stworzony użytkownik cacti, używający SHA i AES z hasłami authentication password: cactiauthpass1234 i privacy password: cactiprivpass1234.
HP-Switch-5406Rzl2(config)# snmpv3 user cacti auth sha cactiauthpass1234 priv aes cactiprivpass1234
W ostatnim etapie należy przypisać nowo utworzonego użytkownika do odpowiedniej grupy dostępu. Przełącznik oferuje następujące poziomy dostępu przez SNMPv3:
snmpv3 group managerpriv Require privacy and authentication, can access all objects. managerauth Require authentication, can access all objects. operatorauth Requires authentication, limited access to objects. operatornoauth No authentication required, limited access to objects. commanagerrw Community with manager and unrestricted write access. commanagerr Community with manager and restricted write access. comoperatorrw Community with operator and unrestricted write access. comoperatorr Community with operator and restricted write access.
Utworzony w przykładzie użytkownik cacti powinien mieć tylko prawo do odczytu wybranych informacji poprzez protokół SNMPv3 dlatego też zostanie przypisany do grupy operatorauth
snmpv3 group operatorauth user cacti sec-model ver3
Po przypisaniu użytkownika należy usunąć konto initial
no snmpv3 user initial
Aby sprawdzić czy wszystko działa poprawnie, można skorzystać np. z linuksowego polecenia snmpwalk, który powinien wyświetlić wszelkie informacje jakie jest w stanie uzyskać przez protokół SNMP.
snmpwalk -v3 -l authPriv -u cacti -a SHA -A "cactiauthpass1234" -x AES -X "cactiprivpass1234" IP-URZĄDZENIA iso.3.6.1.2.1.1.1.0 = STRING: "HP J9850A Switch 5406Rzl2, revision KB.16.04.0010, ROM KB.16.01.0006 (/ws/swbuildm/rel_ukiah_qt1_qaoff/code/build/bom(swbuildm_rel_ukiah_qt1_qaoff_rel_uki ah_qt1))" iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.11.2.3.7.11.160 iso.3.6.1.2.1.1.3.0 = Timeticks: (519036812) 60 days, 1:46:08.12 ... ... [itd .. itd ..] ...
Dodaj komentarz