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