Перейти к содержанию
IPS Invision Community 🇷🇺
  • Протокол управления SNMP

    Протокол управления SNMP

    SNMP — протокол управления прикладного уровня. С его помощью сетевые устройства обмениваются данными. По сути, SNMP-протокол — это свод соглашений, который входит в состав модели TCP/IP.

    Архитектура

    SNMP состоит из:

    • управляющей станции с менеджером;
    • агентов;
    • управляемых компонентов.

    Станция с менеджером следит за удаленными устройствами, собирает данные от агентов, контролирует производительность и рисует графики для наглядного представления состояния.

    Агенты делятся на мастеров и субагентов. Мастер следит за запросами сетевого менеджера и пересылает их субагентам. После этого он собирает ответы субагентов и отправляет их сетевому менеджеру. Если данные недоступны или произошла ошибка, присылает соответствующее уведомление менеджеру.

    Субагенты — программы, которые вендор поставляет вместе с устройством. Ими оснащены все управляемые компоненты.

    Управляемый компонент — устройство или программное обеспечение с субагентом, подсоединенное к сети. Коммутаторы, маршрутизаторы, серверы, антивирусы — все они могут быть управляемыми компонентами.

    Сведения обо всех устройствах собраны в базе — SNMP MIB. У каждого из них своя таблица, из которой сетевой менеджер узнает, какую информацию можно запросить: например, состояние картриджей от принтера или объем трафика от маршрутизатора.

    Все объекты внутри MIB оснащены SNMP OID — уникальным идентификационным номером. Он есть у каждой таблицы, столбца, значения. Часть данных в OID рассказывает о производителе устройства.

    Принцип работы

    SNMP предназначался для управления сетью. Но гибкая структура сделала его удобным инструментом для мониторинга устройств и настройки сети через единую консоль.

    Работа протокола строится на взаимодействии менеджеров с агентами. Они связываются по протоколу UDP, также может быть использован TCP или протокол MAC-уровня.

    Юнит информации (PDU) включает несколько полей. Среди них:

    • Версия протокола.
    • Community — последовательность, по которой определяется групповая принадлежность.
    • Статус-код — описывает состояние. Если ошибок нет, приходит ноль, а если есть — цифра, которая относится к соответствующей ошибке.
    • Индекс переменной, в работе которой зафиксирована ошибка.

    Дефолтно специальный SNMP PORT — 161 и 162.

    Запросы приходят на 161 порт. Отсюда менеджеру уходят ответы. Для идентификации указывается ID. Это помогает быстро связать ответы менеджера и запросы агента.

    Порт 162 принимает ловушки (SNMP Trap) — это такой способ общения. Агент применяет ловушки, чтобы проинформировать менеджера о событии. 

    Благодаря этому с менеджера снимается дополнительная нагрузка. Он и так следит за несколькими устройствами и управляет несколькими компонентами одновременно. Из-за этого менеджер не всегда ловит ошибки. Механизм ловушек устраняет этот недостаток. После получения ловушки менеджер решает, что нужно сделать.

    Версии

    Существует три версии протокола.

    • SNMP v1 — появилась 40 лет назад, до сих пор успешно применяется. Предлагает самые простые настройки — своеобразный SNMP для чайников.
    • SNMP v2с — появилась в начале 90-х годов. В этой версии добавился запрос GetBulk. Также разработчики реализовали второй тип ловушки — Inform. В отличие от Trap, здесь отправляется подтверждение о получении.
    • SNMP v3 — появилась в конце 90-х годов. В этой версии протокол защитили криптографически. 

    Безопасность

    Когда появилась первая версия SNMP, риск неавторизованного доступа оставался крайне низким. Поэтому разработчики не сильно переживали о защите соединения. Это привело к тому, что у злоумышленников оставалось много возможностей для несанкционированного доступа к сетевой инфраструктуре.

    Самые продвинутые механизмы защиты реализовали в третьей версии. Здесь применяется модель защиты на основе пользователей (User-based Security Model). И для агента, и для менеджера можно изменить параметры аутентификации, безопасности, конфиденциальности. 

    В v3 также используется модель VACM (View-based Access Control Model). В ней для разных групп менеджеров можно установить разные права доступа.

    В первой и второй версиях протокола используется модель безопасности Community-based Security. По сути, это идентификатор пользователя и пароль, которые посылаются вместе с запросом в строке сообщества. Если строка Community неверна, агент отвергает запрос.

    Применение

    Вот лишь несколько сценариев, в которых SNMP приносит пользу администраторам:

    • Удаленный сброс паролей.
    • Мониторинг пропускной способности сети.
    • Перенастройка IP-адресов.
    • Отправка запроса для проверки сетевых устройств.
    • Получение оповещений о нехватке свободного пространства на диске.
    • Контроль нагрузки на процессор, получение уведомлений о превышении допустимых значений.
    • Получение оповещений о неисправностях в работе сетевого устройства.
    • Логирование ошибок.

    Стороннее ПО также помогает добавлять сведения через кастомные SNMP OID и администрировать облачные сервисы, заказанные на  Amazon Web Services, Microsoft Azure и других платформах.

    Установка и настройка на примере CentOS 7

    Обновите систему:

    yum update

    Установите SNMP, используя snmp net:

    yum install net-snmp net-snmp-utils

    Сделайте копию файла конфигурации:

    mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig

    Отредактируйте настройки. Откройте snmpd.conf в редакторе nano:

    nano /etc/snmp/snmpd.conf

    Добавьте строки:

    community public
    
    syslocation MyLocation
    
    syscontact admin@example.com

    Укажите реальную локацию и контакт.

    Включите автозапуск и перезапустите сервис:

    systemctl enable snmpd.service
    
    systemctl start snmpd

    Убедитесь, что сервис запустился:

    systemctl status snmpd

    Опросите агент локально, используя утилиту snmpwalk:

    snmpwalk -v 2c -c public -O e 127.0.0.1

    Опросите сервер:

    snmpwalk -v2c -c public localhost system

    Ненамного сложнее SNMP настраивается на Windows. Подробная инструкция есть в документации Microsoft.

    Заключение

    SNMP — простой протокол для обмена информацией между устройствами. Он помогает настроить связь между оборудованием, которое выпущено различными вендорами и использует различное ПО. SNMP-мониторинг даже спустя несколько десятилетий после появления протокола остается одним из лучших решений для контроля сети.

    Было ли это полезно?

    qwert
    • Нравится 1

    Обратная связь

    Рекомендуемые комментарии

    Комментариев нет



    Создайте учетную запись или войдите, чтобы комментировать

    Вы должны быть пользователем, чтобы оставить комментарий

    Создать аккаунт

    Зарегистрируйтесь для получения аккаунта. Это просто!

    Зарегистрировать аккаунт

    Войти

    Уже зарегистрированы? Войдите здесь.

    Войти
×
×
  • Создать...

Важная информация

Мы используем файлы cookie и другие средства сохранения предпочтений и анализа действий посетителей сайта. Нажмите «Принять», если даете согласие на это. Политика конфиденциальности - Условия использования

Вверх
Вверх