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

23 ноября 2023

ID 222969

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

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

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

Чтобы установить службу snmpd и вспомогательные утилиты в операционной системе Astra Linux Special Edition, используйте команду:

apt install snmp snmpd

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

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

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

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

В целях безопасности рекомендуется использовать отдельные учетные записи на разных узлах кластера Kaspersky Security 10 для Linux Mail Server.

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

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

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

net-snmp-create-v3-user -ro -a <snmp_auth_algo> -x <snmp_priv_algo> <snmp_username>

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

Пример:

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 <snmp_username> <snmp_auth_algo> "<snmp_auth_pass>" <snmp_priv_algo> "<snmp_priv_pass>"

    Пример:

    createUser MonitoringUser SHA "MonitoringAuthSecret" AES "MonitoringPrivSecret"

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

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

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

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

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

Инструкцию по созданию учетной записи пользователя для приема 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 <system_description>

    sysLocation <system_location>

    sysContact <contact_address>

    sysServices 72

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

    # Kaspersky Security for Linux Mail Server SNMP statistics

    view monitoring included .1.3.6.1.4.1.23668.1463

  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 <snmp_username> priv -V monitoring

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

    # Send SNMPv3 traps to the monitoring system

    trapsess -Ci -v3 -t0.1 -r1 -l authPriv -u <trap_username> -a <trap_auth_algo> -A "<trap_auth_pass>" -x <trap_priv_algo> -X "<trap_priv_pass>" udp:<IP-address>:162

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

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

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

# Listen for incoming SNMP requests via UDP

agentAddress udp:161

 

# Listen for subagent connections via UNIX socket

master agentx

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

agentXPerms 770 770 kluser klusers

 

# Basic system information

sysDescr Example Mail Gateway Server, Node 05

sysLocation Example Datacenter, Ground floor, B23-U45

sysContact Mail system administrator <admin@example.com>

sysServices 72

 

# Kaspersky Security for Linux Mail Server SNMP statistics

view monitoring included .1.3.6.1.4.1.23668.1463

 

# 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

 

# Access control for SNMPv3 monitoring system user

rouser MonitoringUser priv -V monitoring

 

# Send SNMPv3 traps to the monitoring system

trapsess -Ci -v3 -t0.1 -r1 -l authPriv -u TrapUser -a SHA -A "TrapAuthSecret" -x AES -X "TrapPrivSecret" udp:10.16.32.64:162

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

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

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

    systemctl restart snmpd

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

    systemctl status snmpd

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

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

    systemctl enable snmpd

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

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

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

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

Чтобы получить области SNMP-данных, предоставляемых приложением Kaspersky Security 10 для Linux Mail Server, выполните команду:

snmpwalk -v3 -l authPriv -u <snmp_username> -a <snmp_auth_algo> -A "<snmp_auth_pass>" -x <snmp_priv_algo> -X "<snmp_priv_pass>" <IP-адрес> .1.3.6.1.4.1.23668.1463

Пример:

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.1463

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