Konfiguracja protokołu SNMPv3 w przełącznikach HP ProCurve / Aruba

Konrad Kowalski
hpe procurve aruba networks

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