SNMPv3
Описание
В отличие от v1 и v2, snmpv3 поддерживает аутентификацию и шифрование.
USM - определяет аутентификацию и шифрование,
VACM - определяет правила доступа и управления.
Users
Для каждого snmpv3 юзера можно задавать:
- username
- authentication type
- authentication password
- privacy type
- privacy password
После того, как user вводит пароль, генерируется ключ, на основании engine-id и password, далее ключ записывается в конфигурационный файл.
После генерации ключа, пароль удаляется из конфигурационного файла.
По дефолту аутентификация не используется. Руками можно задать:
- authentication-md5
- authentication-sha
- authentication-none
Ключ генерируется на основании пароля. Пароль состоит из 8 символов. Цифры/числа/знаки.
По дефолту шифрование тоже не используется. Руками можно задать:
- privacy-aes128
- privacy-des
- privacy-3des
- privacy-none
Ключ генерируется на основании пароля. Пароль состоит из 8 символов. Цифры/числа/знаки.
Правила доступа
Настраиваются через VACM (view-based access control model). Группы определяют набор snmp пользователей с одинаковыми правами. Группе задается ограничение доступа. Привелегии доступа определяются View. Конфигурируем группу с ограничениями доступа.
- Называем как-нибудь группу:
[edit snmp v3 vacm access] group <group-name>;
- Указываем security-model:
- -any—Any
- -usm—SNMPv3
- -v1—SNMPV1
- -v2c—SNMPv2c
[edit snmp v3 vacm access group group-name (default-context-prefix | context-prefix context-prefix)] security-model <(any | usm | v1 | v2c)>
- Задаем security-level:
- none—Provides no authentication and no encryption.
- authentication—Provides authentication but no encryption.
- privacy—Provides authentication and encryption.
[edit snmp v3 vacm access group group-name default-context-prefix security-model (any | usm | v1 | v2c)] security-level <(authentication | none | privacy)>
- Настраиваем вьюхи, доступные для группы.
- notify-view <view-name>;
- read-view <view-name>;
- write-view <view-name>;
Причем для одной группы можно задавать несколько разных видов view. Сами view настраиваются в
[edit snmp] view <view-name>;
Привязка security-model к группе
По сути это обозначение какие юзеры к какой группе будут принадлежать. И как следствие какие права будут у каждого юзера.
[edit snmp v3 vacm security-to-group security-model (usm | v1 | v2c)] security-name security-name;
Так как мы рассматриваем snmpv3, то security-name здесь = user, который мы задали тут: <[edit snmp v3 usm local-engine user username]>.
Для v1, v2 - security-name = snmp community <[edit snmp v3 snmp-community community-index]>.
Если мы использует v3 + v1/v2, то нужно сконфигурировать разные security-name для разных версий.
Traps
В snmpv3 используются traps and informs.
- traps - не гарантированные оповещения (без подтверждения),
- inform - гарантированные оповещения (с подтверждением).
Traps notifications
[edit snmp v3] notify <name> { tag <tag-name>; type trap;
tag-name - это адрес удаленного устройства, которому будет отправлен трап.
Trap Notification Filter
Для фильтрации трапов используются фильтры, все логично.
Фильтруется по MIB-дереву с указанием include/exclude OID.
[edit snmp v3 notify-filter <profile-name>] oid <oid> (include | exclude);
Target address
[edit snmp v3 target-address <target-address-name>] address <address>; address-mask <address-mask>; - можно задать пул target-адресов logical-system <logical-system>; port <port-number>; routing-instance <instance>; tag-list <tag-list>; target-parameters <target-parameters-name>;
Ну тут по каждому параметру понятно что он из себя представляет. target-parameters - конфигурируются в [edit snmp v3 target-parameters target-parameters-name] В target-parameters указываются опции секурности, которые используются для отправки сообщений.
Target Parameters
[edit snmp v3 target-parameters target-parameter-name parameters] message-processing-model <(v1 | v2c | v3)>; security-level <(authentication | none | privacy)>; security-model <(usm | v1 | v2c)>; security-name <security-name>;
security-name для snmpv3 = user, для v1/v2 = snmp community.
Configuration
[edit snmp v3] notify n1 { tag router1; # Identifies a set of target addresses type trap; # Defines the type of notification } target-address ta1 { address 10.1.1.1; address-mask 255.255.255.0; port 162; tag-list router1; target-parameters tp1; }
© Наталия Бобкова 2014—2022