Создание пользователей в SNMPv3
В этом сценарии продемонстрировано создание пользователей в SNMPv3 путем редактирования файлов /etc/snmpdv3.conf и /etc/clsnmp.conf.
В этом сценарии создается пользователь u1.
Пользователь
u1 получит идентификационные ключи, но не получит ключей защиты
данных (которые можно создать только при наличии установленного набора файлов
snmp.crypto). Идентификационные ключи пользователя будут
созданы с применением протокола HMAC-MD5. Когда пользователь u1 будет настроен,
он будет помещен в группу, после чего для этой группы будут заданы
представление и права доступа. И, наконец, для пользователя u1 будут заданы
записи прерываний.
Размер каждого из значений в файлах /etc/snmpdv3.conf и /etc/clsnmp.conf ограничен 32 байтами.
- Описанная ниже процедура была протестирована в отдельных версиях AIX. Результаты, которые вы можете получить, в значительной степени зависят от конкретных версии и уровня AIX.
Шаг 1. Создание пользователя
- Выберите необходимый протокол защиты: HMAC-MD5 или HMAC-SHA. В данном сценарии применяется протокол HMAC-MD5.
- Создайте идентификационные ключи с помощью команды
pwtokey.
Вывод команды зависит от применяемого протокола
идентификации и наличия ключей защиты данных. Эти ключи будут применяться в
файлах /etc/snmpdv3.conf и
/etc/clsnmp.conf.
Ниже приведена команда, введенная для
пользователя
u1:
В команде указан IP-адрес системы, в которой работает агент. Здесь можно указать любой пароль, но его следует обязательно сохранить в надежном месте, так как он вам понадобится в будущем. Вывод этой команды выглядит примерно следующим образом:pwtokey -p HMAC-MD5 -u auth любой-пароль 9.3.230.119Display of 16 byte HMAC-MD5 authKey: 63960c12520dc8829d27f7fbaf5a0470 Display of 16 byte HMAC-MD5 localized authKey: b3b6c6306d67e9c6f8e7e664a47ef9a0 - Войдите в систему как пользователь root и откройте файл /etc/snmpdv3.conf в текстовом редакторе.
- Создайте пользователя, добавив запись
USM_USERв формате, указанном в этом файле. Вместо значенияauthKeyнеобходимо указать локальный идентификационный ключ, созданный с помощью команды pwtokey. Запись для пользователяu1выглядит следующим образом:#--------------------------------------------------------------------------- # записи USM_USER # Определяет пользователя в Модели защиты на основе пользователей (USM). # Формат записи: # имя-пользователя ИД-сервера протокол-идентификации идентификационный-ключ # протокол-защиты-данных ключ-защиты-данных тип-ключа тип-памяти # USM_USER u1 - HMAC-MD5 b3b6c6306d67e9c6f8e7e664a47ef9a0 - - L - #----------------------------------------------------------------------------имя-пользователя- имя определяемого пользователя. В данном сценарии имя пользователя -u1.протокол-идентификацииуказывает протокол, с помощью которого были созданы ключи. В данном случае это протоколHMAC-MD5.идентификационный-ключ- локальный идентификационный ключ, который был создан с помощью команды pwtokey.протокол-защиты-данныхиключ-защиты-данныхне указаны, так как в данном сценарии ключи защиты данных не использованы.тип-ключа-L, так как применяется локальный идентификационный ключ.
- Сохраните и закройте файл /etc/snmpdv3.conf.
- Откройте в текстовом редакторе файл /etc/clsnmp.conf в системе диспетчера SNMP.
- Добавьте нового пользователя в соответствии с указанным в файле форматом. Запись для пользователя
u1выглядит следующим образом:#---------------------------------------------------------------------------------------------------- # # Формат записей: # имя-winSnmp целевой-агент администрация имя пароль контекст уровень-защиты # протокол-идентификации идентификационный-ключ протокол-защиты-данных # ключ-защиты-данных # user1 9.3.230.119 SNMPv3 u1 - - AuthNoPriv HMAC-MD5 63960c12520dc8829d27f7fbaf5a0470 - - #----------------------------------------------------------------------------------------------------имя-winSnmpможет быть любым значением. Это значение применяется при создании запросов SNMP с помощью команды clsnmp.целевой-агент- IP-адрес системы, в которой работает агент. Это тот же адрес, который был указан при создании идентификационный ключей.администрация-SNMPv3, так как будут отправляться запросы SNMPv3.имя- имя создаваемого пользователя. В данном сценарии имя пользователя -u1.уровень-защиты-AuthNoPriv, так как для пользователя создаются идентификационные ключи, но не создаются ключи защиты данных (в этой связи значенияпротокол-защиты-данныхиключ-защиты-данныхотсутствуют).протокол-идентификации- протокол идентификации, который был указан при создании идентификационных ключей.идентификационный-ключ- нелокальный ключ, созданный командой pwtokey.
- Сохраните и закройте файл /etc/clsnmp.conf.
Шаг 2. Настрйка группы
Теперь этого пользователя необходимо поместить в группу. Если группа с представлением и всеми необходимыми правами доступа для этого пользователя уже существует, то можно включить пользователя в эту группу. Если представление и права доступа этого пользователя должны отличаться от соответствующих параметров других групп, или группы не настроены, то создайте группу и добавьте в нее пользователя.
VACM_GROUP в файл /etc/snmpdv3.conf. Запись
группы для пользователя u1 выглядит следующим образом: #--------------------------------------------------------------
# записи VACM_GROUP
# Задает группу защиты (состоящую из пользователей и подгрупп)
# для Модели управления доступом на основе представлений (VACM).
# Формат записи:
# имя-группы модель-защиты имя тип-памяти
VACM_GROUP group1 USM u1 -
#-------------------------------------------------------------- имя-группыможет быть любым именем. Это имя группы. В данном случае применяется имяgroup1.модель-защиты-USM. Эта модель применяет функции защиты SNMPv3.имя- имя пользователя. В данном сценарии имя пользователя -u1.
Шаг 3. Настройка представления и прав доступа
Для созданной группы необходимо задать представление и права доступа. Эти
права доступа задаются путем добавления в файл /etc/snmpdv3.conf записей VACM_VIEW и VACM_ACCESS.
- Выберите представление и права доступа для новой группы.
- Добавьте записи
VACM_VIEW, определяющие доступные этой группе объекты MIB, в файл /etc/snmpdv3.conf. В этом сценарии группеgroup1будут доступны ветви MIBinterfaces,tcp,icmpиsystem. Однако в поддереве MIB system группеgroup1будет недоступна переменная MIBsysObjectID.#---------------------------------------------------------------- # записи VACM_VIEW # Задает набор данных MIB, называемый представлением, для # модели управления доступом на основе представлений. # Формат записи: # имя-представления поддерево-представления маска-представления # тип-представления тип-памяти VACM_VIEW group1View interfaces - included - VACM_VIEW group1View tcp - included - VACM_VIEW group1View icmp - included - VACM_VIEW group1View system - included - VACM_VIEW group1View sysObjectID - excluded - #----------------------------------------------------------------имя-представления- имя данного представления. В этом сценарии применяется имя представления -group1View.поддерево-представления- поддерево MIB, к которому необходимо предоставить доступ.тип-представленияопределяет, включены ли заданные ветви MIB в определяемое представление. В данном примере все ветви включены в представление, а переменная MIBsysObjectID, входящая в поддеревоsystem, исключена.
- Добавьте запись
VACM_ACCESSв файл /etc/snmpdv3.conf, чтобы определить права доступа группы к указанным выше объектам MIB. Группеgroup1предоставляются только права на чтение.#----------------------------------------------------------------------------------------------------------- # записи VACM_ACCESS # Определяет права доступа к различным группам защиты # в модели управления доступом на основе представлений. # Формат записи: # имя-группы префикс-контекста учет-контекста уровень-защиты модель-защиты # представление-чтения представление-записи представление-уведомления тип-памяти VACM_ACCESS group1 - - AuthNoPriv USM group1View - group1View - #-----------------------------------------------------------------------------------------------------------имя-группы- имя группы. В данном случае применяется имяgroup1.уровень-защиты- применяемый уровень защиты. В этом сценарии применяются только идентификационные ключи, ключи защиты данных не применяются. В связи с этим задано значениеAuthNoPriv.модель-защиты- применяемая модель защиты (SNMPv1, SNMPv2c или USM). В этом сценарии указано значениеUSMдля применения функций защиты SNMPv3.представление-чтенияопределяет, для каких представлений VACM_VIEW у группы есть права на чтение. В этом сценарии задано представлениеgroup1Viewи группаgroup1получает права на чтение для записейgroup1View VACM_VIEW.представление-записиопределяет, для каких представлений VACM_VIEW у группы есть права на запись. В этом сценарии группаgroup1не получает прав на запись.представление-уведомленияуказывает имя представления, применяемого при выполнении прерывания под управлением записи таблицы доступа.
Прим.: В некоторых случаях для одной группы приходится задавать несколько записей VACM_ACCESS. Если группа состоит из пользователей с разными параметрами идентификации и защиты данных (noAuthNoPriv,AuthNoPrivилиAuthPriv), то необходимо задать несколько записей VACM_ACCESS с соответствующими значениями параметрауровень-защиты.
Шаг 4. Задание записей прерываний для созданного пользователя
Записи прерываний в SNMPv3 задаются записями NOTIFY,
TARGET_ADDRESS и TARGET_PARAMETERS в файле
/etc/snmpdv3.conf. Запись TARGET_ADDRESS
указывает целевой адрес для отправки уведомлений, а запись
TARGET_PARAMETERS - связывает информацию TARGET_ADDRESS с
группой group1.
NOTIFY настроена по умолчанию. Ниже приведена запись
NOTIFY: NOTIFY notify1 traptag trap -В этом сценарии применяется
значение, указанное в записи по умолчанию, - traptag.- Добавьте запись
TARGET_ADDRESS, чтобы задать целевой адрес для отправки уведомлений.#------------------------------------------------------------------------------------- # TARGET_ADDRESS # Определяет адрес и параметры управляющего приложения, # применяемые при отправке уведомлений. # Формат записи: # имя-целевого-адреса целевой-домен целевой-адрес список параметры тайм-аут # число-повторов тип-памяти #------------------------------------------------------------------------------------- TARGET_ADDRESS Target1 UDP 9.3.207.107 traptag trapparms1 - - -имя-целевого-адресаможет быть любым именем. В этом сценарии применяется имяTarget1.целевой-адрес- IP-адрес системы, в которую следует отправлять уведомления для данной группы.список- имя, заданное в записиNOTIFY. В этом сценарии применяется имяtraptag.параметры- может быть любым значением. Здесь указано значениеtrapparms1, которое будут задано в записиTARGET_PARAMETERS.
- Добавьте запись
TARGET_PARAMETERS.#------------------------------------------------------------------------- # TARGET_PARAMETERS # Задает параметры обработки сообщений и защиты, применяемые при # отправке уведомлений в целевое управляющее приложение. # Формат записи: # имя-параметров модель-протокола модель-защиты имя уровень-защиты тип-памяти #------------------------------------------------------------------------- TARGET_PARAMETERS trapparms1 SNMPv3 USM u1 AuthNoPriv -имя-параметра- имя, указанное в значениипараметрыв записиTARGET_ADDRESS; в данном случае -trapparms1.модель-протокола- применяемая версия SNMP.модель-защиты- применяемая модель защиты (SNMPv1, SNMPv3 или USM). В этом сценарии указано значениеUSMдля применения функций защиты SNMPv3.имя- имя пользователя, указанное в записиUSM_USER; в данном случае -u1.уровень-защиты-AuthNoPriv, так как применяются только идентификационные ключи.
Шаг 5. Перезапуск демона snmpd
После внесения изменений в файл /etc/snmpdv3.conf остановите и снова запустите демон snmpd.
- Введите следующую команду, чтобы остановить работу демона
snmpd:
stopsrc -s snmpd - Введите следующую команду, чтобы запустить демон
snmpd:
startsrc -s snmpd
После этого новые параметры вступят в силу.
refresh -s snmpd не действует, в отличие от SNMPv1. После внесения изменений в файле
/etc/snmpdv3.conf необходимо перезапустить демон, как
показано выше. Функция динамического изменения конфигурации SNMPv3 не позволяет
выполнять обновление.Шаг 6. Проверка конфигурации
clsnmp -h user1 walk
mibгде mib - поддерево
MIB, для которого у пользователя есть прав доступа. В этом сценарии, можно было
бы указать interfaces, tcp, icmp или
system. Если конфигурация задана правильно, то будет показана
информация из указанного поддерева.Если необходимый вывод получить не удалось, то просмотрите все шаги в этом документе и убедитесь в том, что все параметры были заданы верно.