Konfiguracja SNMPv3 w Linuksie

Konrad Kowalski
  • Konrad Kowalski
  • 26/03/2018
  • Debian
  • 0 komentarzy
Debian

W jednym z poprzednich artykułów przedstawiona została konfiguracja protokołu SNMPv3 w przełącznikach HP ProCurve / Aruba, tym razem przyszedł czas na Linuksa. Cały proces jest dość prosty i ogranicza się do instalacji pakietu z repozytorium oraz wprowadzeniu kilku zmian w pliku konfiguracyjnym.

Pierwszym krokiem, który należy wykonać w celu aktywacji SNMPv3 w Linuksie jest instalacja pakietu SNMPD.

aptitude install snmpd

Po instalacji, przed dokonaniem zmian w konfiguracji należy wyłączyć usługę snmpd.

service snmpd stop

Do działania SNMPv3 wymaga skonfigurowania autoryzacji oraz protokołów szyfrujących. Aby dodać użytkownika należy zmodyfikować plik /etc/snmp/snmpd.conf. Na końcu pliku należy dodać komendę createUser z nazwą nowego użytkownika SNMPv3, wybranymi mechanizmami autoryzacji oraz szyfrowania.

createUser naszUser SHA naszAuthPass AES naszPrivPass
rouser naszUser priv .1

gdzie:
naszsUser – to nazwa utworzonego użytkownika SNMPv3
SHA – mechanizm uwierzytelniania
naszAuthPass – hasło authentication
AES – algorytm szyfrowania
naszPrivPass – hasło privacy

Linia rouser naszUser priv .1 ustawia poziom uprawnień. W przykładzie użytkownik ma dostęp do odczytu całego drzewa SNMP.

Po dokonaniu zmian należy włączyć usługę snmpd

service snmpd start

W celu przetestowania poprawności działania snmpd, można skorzystać z polecenia snmpwalk.

snmpwalk -v 3 -l authPriv -u naszsUser -a sha -A naszAuthPass -x aes -X naszPrivPass localhost .1

Jeśli wszystko przebiegło pomyślnie snmpwalk rozpocznie wyświetlanie informacji przez protokół SNMP.

iso.3.6.1.2.1.1.1.0 = STRING: "Linux kowalsiodeb 3.2.0-5-amd64 #1 SMP Debian 3.2.96-3
 x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (68328958) 7 days, 21:48:09.58
iso.3.6.1.2.1.1.4.0 = STRING: "Konrad Kowalski "
iso.3.6.1.2.1.1.5.0 = STRING: "kowalsiodeb"
iso.3.6.1.2.1.1.6.0 = STRING: "Serwerowania 89"
iso.3.6.1.2.1.1.7.0 = INTEGER: 72
iso.3.6.1.2.1.1.8.0 = Timeticks: (10) 0:00:00.10
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.11.3.1.1

Kolejnym elementem konfiguracji jest zmiana ustawień sieciowych snmpd, domyślnie nasłuchuje tylko na localhoscie.

netstat -natup | grep "snmp"
udp        0      0 127.0.0.1:161           0.0.0.0:*                           18878/snmpd     
udp        0      0 0.0.0.0:49627           0.0.0.0:*                           18878/snmpd    

W celu umożliwienia odczytywania wartości snmp ze zdalnych hostów, należy zmodyfikować plik /etc/snmp/snmpd.conf.
Należy odnaleźć linie:

#  Listen for connections from the local system only
# agentAddress  udp:127.0.0.1:161
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)
# agentAddress udp:161,udp6:[::1]:161

A następnie dokonać następujących zmian:

#  Listen for connections from the local system only
# agentAddress  udp:127.0.0.1:161
#  Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161

Po wprowadzeniu zmian należy zrestartować usługę snmpd.

service snmpd restart
netstat -natup | grep "snmp"
udp        0      0 0.0.0.0:161             0.0.0.0:*                           19039/snmpd     
udp        0      0 0.0.0.0:37908           0.0.0.0:*                           19039/snmpd 

Od tej chwili zdalne połączenia SNMPv3 powinny być możliwe.

Dodaj komentarz