Простой протокол сетевого управления (SNMP) широко используется для управления и мониторинга IP сетей. SNMP может быть использован не только для мониторинга сетевого оборудования, но также серверов, компьютеров, принтеров и т.д.
Как же работает SNMP?
Один или более административных компьютеров выполняют отслеживание или управление группой хостов или устройств в компьютерной сети. На каждой управляемой системе есть постоянно запущенная программа, так называемый агент, которая через SNMPпередает информацию менеджеру.
· NetworkManagement Station(NMS) – система, отвечающая за управление сетью (или ее частью). NMSработает с управляющими агентами, размещающимися на управляемых узлах через протокол управления сетью.
· Agent – часть системы, выполняющая подготовку информации и обмен ею между клиентской и серверной чстью.
· Manageddevice – сетевое устройство, на котором запущен Agent.
Протоколы SNMPv1 и SNMPv2cдля осуществления связи между NMS и управляемым устройством используют community string, так называемый пароль, который передается в открытом виде. Из-за чего злоумышленник может легко проанализировать передаваемый пакет и узнать необходимую ему информацию - в этом и заключается большая слабость этих двух протоколов. Что же делать, если нам необходимо использовать SNMP в общедоступной сети?
Для этого можно использовать SNMPv3. Он предоставляет недоступные в SNMPv1 и v2c важные особенности безопасности,:
· Конфиденциальность – шифрование пакетов для защиты от перехвата.
· Целостность – предотвращение изменений сообщений в пути, включая дополнительный механизм защиты от повторной трансляции перехваченного пакета.
· Аутентификация – определение источника сообщения.
В SNMPv3 появились новые понятия: security level, user и group. Существуют следующие уровни безопасности (security level):
· Аутентификация без шифрования.
· Аутентификация с шифрованием.
· Без аутентификации и без шифрования.
Группа (group) определяет политику доступа для пользователя. Политика доступа определяет к каким SNMP объектам можно получить доступ или какие SNMP объекты могут рассылать уведомления для членов группы. Если не был указан режим аутентификации и шифрования, то пользователь сможет получить доступ к просмотру информации не требующей аутентификации и шифрования.
При использовании SNMPv3, система сначала идентифицирует пользователя в зависимости от настроенного режима аутентификации и шифрования. После того, как пользователь был аутентифицирован, в зависимости от присвоенной группы, система проверяет к какой информации данный пользователь может получить доступ.
Группа настраивается при помощи следующей команды:
snmp-agent group v3 <group-name> { authentication | noauth | privacy } [ read-view <read-view> | write-view <write-view> | notify-view <notify-view> | acl <acl-number> ]
SNMPv3 пользователя можно добавить при помощи следующей команды:
snmp-agent usm-user v3 <user-name> <group-name> [ authentication-mode { md5 | sha } <authkey> [ privacy-mode { aes128 | des56 } <privacy-key> | plain-text ] ] [ acl <acl-number> ]
После настройки SNMPv3 группы, система сможет эффективно контролировать права доступа всех пользователей в группе, используя групповые настройки. Если уровень доступа пользователя ниже уровня безопасности определенной группы, то он не получит доступ.
Давайте перейдем к настройке SNMPv3. Дадим права на чтение для пользователя NMS с IP: 192.168.2.1. Для этого, создадим пользователя и добавим его в группу ICT. Будет использоваться sha в качестве метода хэширования, “ICTPASS1” в качестве ключа аутентификации, а также aes128 ключ “ICTENCRYPTKEY” для шифрования. Доступ к группе ICT будет только у пользователя NMS. Также для ограничения доступа будет настроен acl 2010.
[R1] acl 2010
[R1-acl-basic-2010] rule 10 permit source 192.168.2.1 0.0.0.0
[R1] snmp-agent sys-info version v3
[R1] snmp-agent group v3 ICT privacy acl 2010
[R1] snmp-agent usm-user v3 NMS ICT authentication-mode sha ICTPASS1 privacy-mode aes128 ICTENCRYPTKEY
Следующим шагом настроим отправку trap сообщений с нашего маршрутизатора R1 на NMS:
[R1] snmp-agent trap enable
[R1] snmp-agent target-host trap-hostname NMS address 192.168.2.1 trap-paramsname NMSTRAPS
Сообщения будут аутентифицированы на принимающей стороне и зашифрованы на передающей стороне при помощи приватного ключа.
[R1] snmp-agent target-host trap-paramsname NMSTRAPS v3 securityname NMS privacy
В качестве IP источника генерирующего trap сообщения укажем loopback0 адрес:
[R1] snmp-agent trap source LoopBack0
Также укажем контактную информацию администратора оборудования:
[R1] snmp-agent sys-info contact ICT CLUB
Проверим конфигурацию при помощи следующих команд:
[R1] display snmp-agent group ICT
Group name: ICT
Security model: v3 AuthPriv
Readview: ViewDefault
Writeview: <no specified>
Notifyview: <no specified>
Storage type: nonVolatile
Acl: 2010
[R1] display snmp-agent usm-user
User name: NMS
Engine ID: 800007DB03000000000000
Group name: ICT
Authentication mode: sha, Privacy mode: aes128
Storage type: nonVolatile
User status: active
Total number is 1
[R1] display snmp-agent target-host
Traphost list:
Target host name: NMS
Traphost address: 192.168.2.1
Traphost portnumber: 162
Target host parameter: NMSTRAPS
Total number is 1
Parameter list trap target host:
Parameter name of the target host: NMSTRAPS
Message mode of the target host: SNMPV3
Trap version of the target host: v3
Security name of the target host: NMS
Security level of the target host: privacy
Total number is 1
[R1] display snmp-agent sys-info contact
The contact person for this managed node:
ICT CLUB