Настройка службы snmpd в операционной системе

25 апреля 2024

ID 222969

Для работы по протоколу SNMP с KSMG используется служба snmpd из состава операционной системы. Служба snmpd выступает в роли мастер-агента, принимая и обрабатывая запросы от систем мониторинга и других внешних потребителей по протоколу SNMP. KSMG подключается к службе snmpd в качестве субагента по протоколу AgentX через UNIX™-сокет.

Установка службы snmpd

Проверьте, что в вашей операционной системе установлена служба snmpd. Если службы нет, установите соответствующие пакеты.

Чтобы установить службу snmpd и вспомогательные утилиты,

выполните следующую команду:

  • В операционных системах Red Hat Enterprise Linux, Rocky Linux:

    yum install net-snmp net-snmp-utils

  • В операционных системах Ubuntu:

    apt install snmp snmpd

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

Перед созданием учетной записи остановите службу snmpd.

Для безопасного доступа к данным по протоколу SNMPv3 с аутентификацией и шифрованием нужно создать учетную запись на стороне службы snmpd со следующими данными:

  • Имя пользователя (чувствительно к регистру).
  • Алгоритм аутентификации (MD5 или SHA, рекомендуется SHA).
  • Пароль для аутентификации.
  • Алгоритм шифрования (DES или AES, рекомендуется AES).
  • Пароль для шифрования.

В целях безопасности рекомендуется использовать отдельные учетные записи на разных узлах кластера KSMG.

Создать учетную запись можно следующими способами:

  • С помощью утилиты net-snmp-create-v3-user, если она есть в операционной системе.
  • Вручную, добавив соответствующую директиву в конфигурационный файл службы snmpd.

Чтобы создать учетную запись пользователя с помощью утилиты net-snmp-create-v3-user, выполните команду:

net-snmp-create-v3-user -ro -a <алгоритм аутентификации> -x <алгоритм шифрования> <имя пользователя>

Пароли для аутентификации и шифрования будут запрошены интерактивно.

Пример:

net-snmp-create-v3-user -ro -a SHA -x AES MonitoringUser

Чтобы создать учетную запись пользователя без утилиты:

  1. Создайте конфигурационный файл /var/lib/snmp/snmpd.conf с помощью команды:

    touch /var/lib/snmp/snmpd.conf

  2. Добавьте в конфигурационный файл строку вида:

    createUser <имя пользователя> <алгоритм аутентификации> "<пароль для аутентификации>" <алгоритм шифрования> "<пароль для шифрования>"

    Пример:

    createUser MonitoringUser SHA "MonitoringAuthSecret" AES "MonitoringPrivSecret"

Создание учетной записи пользователя для приема SNMP-ловушек

Для приема SNMP-ловушек по протоколу SNMPv3 с аутентификацией и шифрованием нужно на стороне системы мониторинга создать учетную запись в контексте соответствующей службы (обычно это служба snmptrapd).

Учетная запись должна содержать следующие данные:

  • Имя пользователя.
  • Алгоритм аутентификации.
  • Пароль для аутентификации.
  • Алгоритм шифрования.
  • Пароль для шифрования.

В целях безопасности нужно использовать разные учетные записи для доступа к данным и для приема SNMP-ловушек.
Рекомендуется создавать отдельные учетные записи для приема SNMP-ловушек с разных узлов кластера KSMG.

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

Настройка службы snmpd

Конфигурация службы snmpd хранится в файле /etc/snmp/snmpd.conf. Вы можете добавить нужные данные в существующий конфигурационный файл или создать новый конфигурационный файл и последовательно добавить в него строки, приведенные ниже.

Чтобы настроить службу snmpd:

  1. Если вы создали новый конфигурационный файл, убедитесь, что доступ к нему имеет только суперпользователь. При необходимости установите разрешения с помощью команд:

    chown root:root /etc/snmp/snmpd.conf

    chmod 600 /etc/snmp/snmpd.conf

  2. Укажите протокол, адрес сетевого интерфейса и номер порта, на котором служба snmpd будет принимать входящие запросы.
    • Если вы хотите принимать запросы на всех сетевых интерфейсах, добавьте в конфигурационный файл следующие строки:

      # Listen for incoming SNMP requests via UDP

      agentAddress udp:161

    • Если вы хотите принимать запросы только на локальном сетевом интерфейсе, например если система мониторинга установлена на этой же машине, добавьте строки:

      # Listen for incoming SNMP requests via UDP

      agentAddress udp:127.0.0.1:161

  3. Укажите путь и разрешения для UNIX-сокета, на котором служба snmpd будет принимать подключения от субагента по протоколу AgentX. Для этого добавьте в конфигурационный файл следующие строки:

    # Listen for subagent connections via UNIX socket

    master agentx

    agentXSocket unix:/var/run/agentx-master.socket

    agentXPerms 770 770 kluser klusers

  4. При необходимости вы можете указать описание системы, расположение системы, контактный адрес администратора. Для этого добавьте в конфигурационный файл следующие строки:

    # Basic system information

    sysDescr <описание системы>

    sysLocation <расположение системы>

    sysContact <контактный адрес администратора>

    sysServices 72

  5. Укажите область OID-дерева, которая будет доступна вашей системе мониторинга по протоколу SNMP. Для доступа к данным приложения KSMG добавьте в конфигурационный файл следующие строки:

    # Kaspersky Secure Mail Gateway SNMP statistics

    view monitoring included .1.3.6.1.4.1.23668.1735

  6. При необходимости дополнительно укажите область OID-дерева с информацией об операционной системе, которую хранит служба snmpd. Эта область будет доступна вашей системе мониторинга.

    Информация об операционной системе включает, например, данные об использовании процессора и оперативной памяти, данные о свободном месте на дисковых разделах, загрузке сетевых интерфейсов, список установленного программного обеспечения, список открытых сетевых соединений, список запущенных процессов. Эта информация может содержать конфиденциальные данные.

    • Если вы хотите разрешить доступ только к общей информации о системе и данным об использовании памяти, процессора, сетевых и дисковых устройств, добавьте в конфигурационный файл следующие строки:

      # SNMPv2-MIB - Basic system information

      view monitoring included .1.3.6.1.2.1.1

      # HOST-RESOURCES-MIB - CPU, Memory, Filesystems

      view monitoring included .1.3.6.1.2.1.25.1

      view monitoring included .1.3.6.1.2.1.25.2

      view monitoring included .1.3.6.1.2.1.25.3

      view monitoring included .1.3.6.1.2.1.25.5

      # UCD-SNMP-MIB - Memory and CPU usage

      view monitoring included .1.3.6.1.4.1.2021.4

      view monitoring included .1.3.6.1.4.1.2021.10

      view monitoring included .1.3.6.1.4.1.2021.11

      # UCD-SNMP-DISKIO-MIB - Block devices I/O statistics

      view monitoring included .1.3.6.1.4.1.2021.13

      # IF-MIB - Network interfaces I/O statistics

      view monitoring included .1.3.6.1.2.1.2

      view monitoring included .1.3.6.1.2.1.31

    • Если вы хотите разрешить доступ ко всей системной информации, добавьте в конфигурационный файл следующие строки:

      # Allow access to the whole OID tree

      view monitoring included .1

  7. Укажите режим доступа и область данных для созданной учетной записи. Для этого добавьте в конфигурационный файл следующие строки:

    # Access control for SNMPv3 monitoring system user

    rouser <имя пользователя> priv -V monitoring

  8. Для отправки SNMP-ловушек укажите IP-адрес системы мониторинга и учетные данные пользователя для приема ловушек. Для этого добавьте в конфигурационный файл следующие строки:

    # Send SNMPv3 traps to the monitoring system

    trapsess -Ci -v3 -t0.1 -r1 -l authPriv -u <имя пользователя для приема ловушек> -a <алгоритм аутентификации> -A "<пароль пользователя для приема ловушек>" -x <алгоритм шифрования> -X "<пароль для шифрования>" udp:<IP-адрес>:162

Служба snmpd будет настроена.

Для интеграции с несколькими системами мониторинга создайте отдельную учетную запись для каждой системы, укажите для учетных записей область доступных данных (директивы view и rouser) и настройте отправку SNMP-ловушек (директива trapsess).

Пример конфигурационного файла службы snmpd

Запуск службы snmpd с новой конфигурацией

Чтобы применить новую конфигурацию:

  1. Перезапустите службу snmpd с помощью команды:

    systemctl restart snmpd

  2. Проверьте статус службы snmpd с помощью команды:

    systemctl status snmpd

    Статус должен быть running.

  3. Разрешите автоматический запуск службы при загрузке операционной системы с помощью команды:

    systemctl enable snmpd

  4. Если у вас используется сетевой экран в операционной системе или на сетевом оборудовании, добавьте соответствующие правила для пропуска пакетов протокола SNMP.

Служба snmpd будет запущена.

Проверка работоспособности службы snmpd

Для проверки работоспособности службы snmpd настройте использование SNMP в веб-интерфейсе KSMG и выполните запрос SNMP-данных с помощью утилиты snmpwalk.

Чтобы получить области SNMP-данных, предоставляемых приложением KSMG, выполните команду:

snmpwalk -v3 -l authPriv -u <имя пользователя> -a <алгоритм аутентификации> -A "<пароль для аутентификации>" -x <алгоритм шифрования> -X "<пароль для шифрования>" <IP-адрес> .1.3.6.1.4.1.23668.1735

Пример:

snmpwalk -v3 -l authPriv -u MonitoringUser -a SHA -A "MonitoringAuthSecret" -x AES -X "MonitoringPrivSecret" 127.0.0.1 .1.3.6.1.4.1.23668.1735

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!