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) | Выбор алгоритма шифрования на основе |
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