| Version 5 (modified by , 2 days ago) ( diff ) |
|---|
Примеры настройки аппаратуры MC04-DSL-3U
Общая информация
Содержание:
SNMP (Simple Network Management Protocol) - протокол для мониторинга и управления сетевым оборудованием. Он позволяет получать данные о состоянии устройства - метрики, аварии и статусы - и передавать их в систему мониторинга.
В этой инструкции мы рассмотрим настройку SNMP на блоке MC04-DSL-3U с использованием версии протокола SNMPv3, обеспечивающей аутентификацию и шифрование передаваемых данных в отличие от SNMPv1/v2c, где для доступа используется только community string, передаваемая в открытом виде.
В инструкции описаны:
- настройка SNMP trapsink для отправки аварийных уведомлений (трапов) на SNMP-менеджер;
- настройка SNMP-агента на блоке для приёма запросов от SNMP-менеджера;
- настройка SNMP-менеджера на примере SnmpB для мониторинга блока через SNMP;
- блокировка старых версий протокола SNMPv1 и SNMPv2c.
Настройка SNMP trapsink
Откройте веб-интерфейс блока и перейдите на вкладку Мониторинг. Нажмите Добавить, в появившемся окне выберите SNMP trapsink и нажмите ОК.
В окне конфигурации SNMP trapsink укажите следующие параметры:
- Имя - произвольное имя для идентификации трапсинка.
- Хост - домен или IP-адрес, на который
snmpdбудет отправлять трапы. В примере указан IP-адрес ПК. - Версия - версия 3, наиболее защищённая благодаря поддержке шифрования и аутентификации.
- Security level - authPriv для аутентификации и полного шифрования отправляемых данных.
- Auth protocol - используемая хеш-функция. Чем выше её криптографическая стойкость, тем лучше. В примере выбран SHA1, поскольку используемый SNMP-менеджер не поддерживает другие версии SHA. Вам рекомендуется выбирать максимальную версию SHA, которую поддерживает SNMP-менеджер, и избегать устаревшего и менее безопасного алгоритма MD5, учитывая при этом производительность системы.
- Auth name - произвольное имя: уникальный идентификатор учётной записи, передаваемый в открытом виде.
- Auth password - пароль аутентификации из 8 и более символов. В примере указан
12345678. - Priv protocol - метод шифрования. Рекомендуется использовать AES как более стойкий алгоритм. (Используется AES128).
- Priv password - пароль шифрования из 8 и более символов. В примере указан
qwertyui.
После заполнения параметров нажмите ОК.
Параметр Security level имеет три опции:
- noAuthNoPriv - нет ни аутентификации, ни шифрования нет. Аналог SNMPv2c: пакеты передаются в открытом виде, аутентификация происходит только по имени пользователя, без пароля.
- authNoPriv - есть аутентификация, нет шифрования. Отправитель проверяется по хэш-функции и паролю (ключу аутентификации), но данные (метрики) внутри пакета передаются в открытом виде.
- authPriv - есть аутентификация и шифрование. Пакет подписывается паролем аутентификации, а всё его содержимое шифруется вторым паролем (ключом приватности).
После сохранения настроек появится строка с созданным SNMP trapsink. Чтобы активировать трапсинк, установите чекбокс в столбце Активен.
Настройка SNMP-агента
Подключитесь по SSH к плате SW-01. Данные по умолчанию:
- логин -
root; - пароль -
<пусто>.
В ответ на запрос login as: введите root и нажмите Enter. После появления строки root@[IP-адрес]'s password: нажмите Enter.
Остановите SNMP-агент командой
/etc/init.d/snmpd stop
Для открытия файла в текстовом редакторе введите команду:
vi /var/net-snmp/snmpd.conf
Добавьте в файл строку вида:
createUser [имя пользователя] [протокол аутентификации] [пароль аутентификации] [протокол шифрования] [пароль шифрования]
Используйте данные из настроек SNMP-trapsink.
В данном примере для простоты настройки использован один USM-профиль для SNMP-trapsink и SNMP-агента. Но это необязательно USM-профиль (User-based Security Model) состоит из имени пользователя, протокола и пароля аутентификации, протокола и пароля шифрования.
Почему профили могут различаться Для SNMP-trapsink и SNMP-агента можно использовать разные USM-профили:
- Trapsink - учётные данные, с которыми агент отправляет трапы менеджеру. Они определяют, как трап будет подписан и зашифрован на исходящей стороне.
- createUser + rwuser/rouser на агенте - учётные данные, с которыми менеджер опрашивает агента с помощью запросов GET/SET. Это входящее направление, не зависящее от отправки трапов.
Таким образом, можно создать двух разных пользователей: одного - только для трапов, другого - только для опроса. У них могут быть разные пароли и протоколы. Технически это два отдельных USM-пользователя, каждый из которых создаётся своей строкой
createUser.Единственное, что должно совпадать, параметры USM-профиля для агента и для менеджера.
- Для trapsink: параметры (имя, протоколы, пароли), заданные в конфиге блока, должны совпадать с тем, что настроено в SNMP-менеджере для приёма трапов от этого пользователя, иначе менеджер не сможет проверить подпись/расшифровать трап.
- Для опроса: параметры пользователя в
createUser/rwuserна агенте должны совпадать с тем, что менеджер использует при отправке GET/SET-запросов, иначе агент отклонит запрос.
Для перехода в vi в режим ввода нажмите клавишу i.
Для примера напишем:
createUser grs2_snmp SHA 12345678 AES qwertyui
Для возврата в обычный режим нажмите ESC, затем введите :wq (с двоеточием), чтобы сохранить файл и выйти.
Небольшая справка по vi:
- Обычный режим - перемещение по файлу, стирание текста и другие редактирующие функции.
- Клавиша
Esc.- Режим ввода - ввод текста.
- Для перехода из обычного режима нажать клавишу
iилиInsert.:q- набрать на клавиатуре в обычном режиме для выхода из редактора.:q!- набрать на клавиатуре в обычном режиме для выхода из редактора без сохранения изменений.:wq- набрать на клавиатуре в обычном режиме для выхода из редактора c сохранением файла.-в левом нижнем углу означает обычный режим.Iв левом нижнем углу означает режим ввода.
Касательно предупреждения "Do not edit this file". Единственное изменение, которое можно вносить в этот файл, это создание юзера, о чем написано в предпоследней строчке самого предупреждения. Чтобы
snmpdне стёр внесенные изменения, мы и остановилиsnmpd. Если открыть этот файл заново после запускаsnmpd, то строкаcreatUser <...>закодируется для безопасности.
Новому пользователю необходимо назначить права. Введите команду:
vi /etc/snmp/snmpd.conf
Добавьте в файл строку вида:
[rw/ro]user [имя пользователя] [noauth|auth|priv]
где:
rwuser- пользователь с правами на чтение и запись;rouser- пользователь с правами только на чтение;[noauth|auth|priv]- минимальный уровень безопасности:noauth- разрешает запросы уровнейnoauth,authиpriv;auth- разрешаетauthиpriv, но отклоняетnoauth;priv- разрешает толькоpriv.
Для примера добавим строку:
rwuser grs2_snmp priv
Без указания дополнительных параметров директива rwuser (rouser) по умолчанию обеспечивает пользователю доступ к полному дереву OID с использованием контекста по умолчанию. Дополнительная информация: Manpage of SNMPD.CONF.
После создания пользователя и назначения прав запустите snmpd командой:
/etc/init.d/snmpd start
Другие уровни безопасности:
- authPriv - проверка подлинности источника сообщения и целостности данных и шифрование данных
- в файле
/var/net-snmp/snmpd.confнаписатьcreateUser [имя пользователя] [протокол аутентификации] [пароль аутентификации] [протокол шифрования] [пароль шифрования]. - в файле
/etc/snmp/snmpd.confнаписать[rw/ro]user [имя пользователя] priv
- в файле
- authNoPriv - проверка подлинности источника сообщения и целостности данных, данные в открытом виде
- в файле
/var/net-snmp/snmpd.confнаписать строкуcreateUser [имя пользователя] [протокол аутентификации] [пароль аутентификации]. - в файле
/etc/snmp/snmpd.confнаписать[rw/ro]user [имя пользователя] auth
- в файле
- noAuthNoPriv - нет шифрования
- в файле
/var/net-snmp/snmpd.confнаписатьcreateUser [имя пользователя]. - в файле
/etc/snmp/snmpd.confнаписать[rw/ro]user [имя пользователя] noauth
- в файле
Настройка SNMP-менеджера
на примере программы SnmpB v0.8
Настройка графических SNMP-менеджеров в целом однотипна и включает три шага:
- добавление собственных MIB-файлов;
- настройку данных аутентификации и шифрования (добавление USM-профиля);
- сопоставление конкретного хоста с USM-профилем.
Добавление MIB-файлов
Вернитесь в веб-интерфейс блока, откройте вкладку Мониторинг и скачайте MIB-файлы.
Нажмите Скачать MIB блока. Откроется файл mib.txt. Выделите весь текст с помощью Ctrl-A, вставьте его в текстовый файл и переименуйте файл в ADC-MIB. Расширение зависит от формата, используемого SNMP-менеджером, но обычно MIB-файлы хранятся без расширения.
При нажатии Скачать ADC-MIB откроется файл adc-mib.txt. Таким же способом скопируйте его содержимое в текстовый файл и переименуйте полученный файл в M3U9999-MIB.
Полученные файлы переместите в папку SNMP-менеджера, где хранятся его MIB-файлы. Для SnmpB путь выглядит так: C:\Program Files (x86)\SnmpB\mibs
На вкладке Modules в SnmpB слева отображаются MIB-файлы, обнаруженные в каталоге по умолчанию, а справа - загруженные файлы, доступные на вкладке Tree. Перенесите ADC-MIB и M3U9999-MIB из списка доступных файлов в список загруженных.
Каждый блок MC04-DSL-3U формирует собственный MIB-файл в зависимости от установленных плат, однако все переменные находятся в одном корневом OID. Поэтому при загрузке MIB нескольких блоков возможен конфликт: один и тот же OID, например
.1.3.6.1.4.1.32109.9999.4.5.6.0, в разных блоках может соответствовать переменным разных типов. В таком случае менеджер откажется работать с этими MIB.Чтобы избежать конфликта, назначьте блоку отдельный корневой OID. На вкладке Мониторинг можно изменить последний элемент корневого OID: значение по умолчанию - 9999, допустимый диапазон - 1–65535. Например, при значении 8888 получится уникальный OID
.1.3.6.1.4.1.32109.8888.4.5.6.0, который не пересекается с OID других блоков.
Добавление USM-профиля
Выберите пункт меню Options -> Manage SNMPv3 USM Profiles..., чтобы открыть окно USM Profiles. Щёлкните правой кнопкой мыши в левой области окна и выберите New USM Profile. Заполните поля в соответствии с настройками SNMP-trapsink и SNMP-агента.
На вкладке Discovery измените Discovery range на IP network, в поле From address укажите IP-адрес SW-01 (если в вашей сети много блоков, то так же следует указать и To address). Справа снимите чекбоксы SNMPv1 и SNMPv2c, после чего нажмите кнопку Discover.
В нижней части окна должен появиться IP-адрес SW-01. Щёлкните по нему правой кнопкой мыши, выберите Add agent(s) to profile list, а затем нажмите кнопку настроек в разделе Use settings from SNMP Agent profile.
В окне Agent Profiles раскройте список под IP-адресом SW-01 или его именем, например sw01. В подменю SnmpV3 выберите Security name, созданный на предыдущем этапе в USM Profiles, и нужный Security Level.
На этом настройка SNMP-менеджера завершена.
В SnmpB настройки иногда не применяются «на лету» и требуют перезапуска приложения. После перезапуска SnmpB или блока MC04-DSL-3U может потребоваться повторная процедура Discover для синхронизации EngineID между SNMP-менеджером и SNMP-агентом. На вкладке Discovery заполните поле IP networks - From address и нажмите Discover.
Проверка работы SNMP
SNMP-агент
Перейдем на вкладку Tree и попробуем выполнить команду Get.
Как видно в окне Query Results, запрос успешно выполнен, данные OID отобразились.
SNMP trapsink
SNMP-агент отправляет trapsink, когда есть авария либо она завершилась. Для проверки в блоке MC04-DSL-3U вызовем аварию, например, активировав поток E1 на плате E1-08 и сняв чекбокс "маска". На вкладке Traps видны пришедшие трапсинки.
Блокировка SNMP v1 и v2c
Для дополнительной защиты вам может понадобиться полностью отключить возможность подключения по устаревшим версиям протокола - SNMP v1 и SNMPv2c, поскольку аутентификация в них ограничивается community string, передаваемой в открытом виде.
В net-snmp доступ по v1/v2c включается директивой com2sec (и com2sec6 для IPv6) в файле /etc/snmp/snmpd.conf, которая сопоставляет community string с внутренним именем пользователя. Если такой записи нет, агент отклоняет запросы по v1/v2c ещё на этапе аутентификации, до обращения к группам и правам доступа. Директивы group и access, использующие модели v1/v2c, при этом становятся неиспользуемыми и не влияют на работу SNMPv3, для которого имена пользователей приходят из createUser, а не через com2sec.
Перед изменением конфига можно сделать резервную копию файла командой:
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
Откройте файл командой:
vi /etc/snmp/snmpd.conf
В конфигурации по умолчанию за доступ по v1/v2c отвечают строки вида:
com2sec local 127.0.0.1 private com2sec readonly default public com2sec6 readwrite default public
Закомментируйте эти строки, добавив символ # в начало каждой из них:
Строки group <...> и связанные с ними записи access можно оставить без изменений, так как без соответствующих записей com2sec они не задействуются.
Сохраните изменения в файле (Esc -> :wq) и перезапустите snmpd командой:
/etc/init.d/snmpd restart
После перезапуска доступ по SNMPv1 и SNMPv2c будет заблокирован.
Проверим это, попытавшись выполнить команду snmpget с параметрами -v:1 и -v:2c:
Как видно на скриншоте, после изменения файла ответы на SNMP-запросы v1 и v2c действительно перестали приходить.
Результат настройки
Теперь блок MC04-DSL-3U готов к работе с системой мониторинга по SNMPv3. SNMP-агент принимает защищённые запросы, а SNMP-trapsink передаёт в SnmpB уведомления о возникновении и завершении аварий. Загруженные MIB-файлы позволяют просматривать параметры оборудования в понятном виде и обращаться к нужным OID.
Использование USM-профиля с аутентификацией и шифрованием защищает данные во время обмена между блоком и SNMP-менеджером. Отключение SNMPv1 и SNMPv2c при этом исключает подключение по устаревшим версиям протокола, в которых community string передаётся в открытом виде.
Attachments (15)
- 01.png (15.2 KB ) - added by 2 days ago.
- 02.png (17.2 KB ) - added by 2 days ago.
- 03.png (16.6 KB ) - added by 2 days ago.
- 04.png (14.6 KB ) - added by 2 days ago.
- 05.png (15.3 KB ) - added by 2 days ago.
- 06.png (7.1 KB ) - added by 2 days ago.
- 07.png (16.5 KB ) - added by 2 days ago.
- 08.png (39.8 KB ) - added by 2 days ago.
- 09.png (13.2 KB ) - added by 2 days ago.
- 010.png (12.5 KB ) - added by 2 days ago.
- 011.png (7.6 KB ) - added by 2 days ago.
- 012.png (65.8 KB ) - added by 2 days ago.
- 013.png (15.1 KB ) - added by 2 days ago.
- 014.png (21.8 KB ) - added by 2 days ago.
- 015.png (29.5 KB ) - added by 2 days ago.
Download all attachments as: .zip
![[MC-04 logo]](/mc-04/chrome/site/logo.png)














