SNMPv3

Протокол SNMPv3 — это следующая стадия развития протокола SNMP. Он полностью совместим с предыдущими версиями. Отличие от предыдущих версий:

  • понятия “менеджер” и “агент” заменены на “сущность” (entity), понятия “агент” и “менеджер” остались в качестве ролей;
  • стали доступны службы ограничения доступа, защиты данных и аутентификации пользователя (см. стандарты RFC 3411-3415).

В версии SNMPv3 предусмотрено три уровня безопасности:

  • noAuthNoPriv — аутентификация не производится, конфиденциальность данных отсутствует;
  • authNoPriv — аутентификация без конфиденциальности;
  • authPriv — аутентификация и шифрование, максимальный уровень защиты.

Операции с пользователем

Создание пользователя производится в режиме конфигурации при помощи команды snmp-server user <USERNAME> [group <GROUPNAME>] [encrypted] [auth (md5 | sha ) <AUTH-PASSWORD> [priv (des | aes) <PRIV-PASSWORD>]] . Описание параметров вызова команды приведено в таблице ниже.

Таблица — Параметры команды snmp-server user

ПараметрОписание
USERNAMEИмя пользователя
GROUPNAMEИмя группы
encryptedУказание этого параметра означает, что далее введен уже зашифрованный пароль (пароли), и к нему (к ним) хэширование применять уже не нужно
auth (md5 │ sha)Выбор алгоритма хэширования аутентификационного пароля. Если будет задан параметр priv (des | aes), то пароль для шифрования сообщений в сессии также будет хэширован по выбранному алгоритму (md5 или sha)
AUTH-PASSWORDАутентификационный пароль
priv (des │ aes)Выбор алгоритма шифрования на основе . Выбор возможен, только если задействован параметр auth
PRIV-PASSWORDПароль для шифрования сообщений в сессии

Пользователь может входить только в одну группу или не входить ни в одну.

Удаление пользователя производится при помощи команды no snmp-server user <USERNAME> [group <GROUPNAME>] [auth (md5 | sha ) <AUTH-PASSWORD> [priv (des | aes) <PRIV-PASSWORD>]] .

Операции с группой

Создание группы производится в режиме конфигурации при помощи команды snmp-server group <GROUPNAME> (v1 | v2c | (v3 (auth | noauth | priv))) (read VIEW-NAME | ) (write VIEW-NAME | ).

Таблица — Параметры команды snmp-server group

ПараметрОписание
GROUPNAMEИмя группы
v1 │ v2c │ v3Версии протокола SNMP
auth │ noauth │ privВ зависимости от параметра в сессиях, соответствующих выбранной модели безопасности, пользователям будет предоставлен определённый доступ. При указании auth доступ к представлению этой группы будет предоставлен аутентифицированному пользователю, при указании noauth неаутентифицированному, при указании priv пользователю, использующему аутентификацию и шифрование
VIEW-NAMEИмя представления, определяющего поддерево MIB, доступное данной группе для чтения или записи соответственно. Представление должно быть предварительно создано командой snmp-server view

Редактирование группы выполняется той же командой, что и создание.

Каждая группа может быть настроена по-разному для работы с каждой версией SNMP. Для SNMPv3 возможны различные настройки для одной и той же группы для разных уровней безопасности.

ecorouter(config)#snmp-server group test v1 read view1 write view2
ecorouter(config)#snmp-server group test v2c read view3
ecorouter(config)#snmp-server group test v3 auth read view4 write view5
ecorouter(config)#snmp-server group test v3 priv write view6

Присутствует возможность включить строгий режим работы SNMP агента — при котором обрабатываются сообщения только третьей версии протокола SNMP.

ecorouter(config)#snmp-server v3-strict

Удаление группы производится при помощи команды no snmp-server group <GROUPNAME> ((v1 | v2c | v3 (auth | noauth | priv)) (read VIEW-NAME | ) (write VIEW-NAME |) |).

Команды просмотра

Просмотр информации о SNMP-пользователях производится в режиме администрирования при помощи команды show snmp user [<USERNAME>]. Если указать параметр USERNAME, то будет выведена информация о выбранном пользователе.

ecorouter#show snmp user MyUsEr
User name: MyUsEr
Group name: Gr1
Authentication: md5
Privacy: DES

В результате выполнения команды show snmp user будет выведена информация обо всех пользователях SNMP. Пример выполнения такой команды:

ecorouter#show snmp user
User name: MYSNMPUSER
Authentication: No
Privacy: No
User name: MyUsEr
Group name: Gr1
Authentication: md5
Privacy: DES

Просмотр информации о SNMP-группах производится в режиме администрирования при помощи команды show snmp group [<GROUPNAME>]. Если указать параметр GROUPNAME, то будет выведена информация о выбранной группе.

ecorouter#show snmp group 2
Group name: 2
Authentication: No

В результате выполнения команды show snmp group будет выведена информация обо всех группах SNMP. Если группа имеет отдельные настройки для разных версий протокола, то они будут показаны отдельно. Пример выполнения такой команды:

ecorouter#show snmp group
Group name: test
Security level: no Authentication
Snmp version: 1
Read view: view1
Write view: view2
Group name: test
Security level: no Authentication
Snmp version: 2c
Read view: view3
Group name: test
Security level: Authentication
Snmp version: 3
Read view: view4
Write view: view5
Group name: test
Security level: Authentication and Privacy
Snmp version: 3
Write view: view6