SNMPv3: различия между версиями

Материал из Juniper Exam Wiki
Перейти к навигации Перейти к поиску
Строка 74: Строка 74:
===Traps notifications===
===Traps notifications===
  [edit snmp v3]
  [edit snmp v3]
  notify name {
  notify ''<name>'' {
   tag tag-name;
   tag ''<tag-name>'';
   type trap;
   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;
}

Версия 17:16, 12 мая 2018

Описание

В отличие от 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;
}