Настройка службы 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 <
алгоритм шифрования
> <
имя пользователя
>
Пароли для аутентификации и шифрования будут запрошены интерактивно.
Пример:
|
Чтобы создать учетную запись пользователя без утилиты:
- Создайте конфигурационный файл /var/lib/snmp/snmpd.conf с помощью команды:
touch /var/lib/snmp/snmpd.conf
- Добавьте в конфигурационный файл строку вида:
createUser <
имя пользователя
> <
алгоритм аутентификации
> "<
пароль для аутентификации
>" <
алгоритм шифрования
> "<
пароль для шифрования
>"
Пример:
createUser MonitoringUser SHA "MonitoringAuthSecret" AES "MonitoringPrivSecret"
Создание учетной записи пользователя для приема SNMP-ловушек
Для приема SNMP-ловушек по протоколу SNMPv3 с аутентификацией и шифрованием нужно на стороне системы мониторинга создать учетную запись в контексте соответствующей службы (обычно это служба snmptrapd).
Учетная запись должна содержать следующие данные:
- Имя пользователя.
- Алгоритм аутентификации.
- Пароль для аутентификации.
- Алгоритм шифрования.
- Пароль для шифрования.
В целях безопасности нужно использовать разные учетные записи для доступа к данным и для приема SNMP-ловушек.
Рекомендуется создавать отдельные учетные записи для приема SNMP-ловушек с разных узлов кластера KSMG.
Инструкцию по созданию учетной записи пользователя для приема SNMP-ловушек см. в документации вашей системы мониторинга.
Настройка службы snmpd
Конфигурация службы snmpd хранится в файле /etc/snmp/snmpd.conf. Вы можете добавить нужные данные в существующий конфигурационный файл или создать новый конфигурационный файл и последовательно добавить в него строки, приведенные ниже.
Чтобы настроить службу snmpd:
- Если вы создали новый конфигурационный файл, убедитесь, что доступ к нему имеет только суперпользователь. При необходимости установите разрешения с помощью команд:
chown root:root /etc/snmp/snmpd.conf
chmod 600 /etc/snmp/snmpd.conf
- Укажите протокол, адрес сетевого интерфейса и номер порта, на котором служба 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
- Если вы хотите принимать запросы на всех сетевых интерфейсах, добавьте в конфигурационный файл следующие строки:
- Укажите путь и разрешения для UNIX-сокета, на котором служба snmpd будет принимать подключения от субагента по протоколу AgentX. Для этого добавьте в конфигурационный файл следующие строки:
# 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 <
описание системы
>
sysLocation <
расположение системы
>
sysContact <
контактный адрес администратора
>
sysServices 72
- Укажите область OID-дерева, которая будет доступна вашей системе мониторинга по протоколу SNMP. Для доступа к данным приложения KSMG добавьте в конфигурационный файл следующие строки:
# Kaspersky Secure Mail Gateway SNMP statistics
view monitoring included .1.3.6.1.4.1.23668.1735
- При необходимости дополнительно укажите область 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
- Если вы хотите разрешить доступ только к общей информации о системе и данным об использовании памяти, процессора, сетевых и дисковых устройств, добавьте в конфигурационный файл следующие строки:
- Укажите режим доступа и область данных для созданной учетной записи. Для этого добавьте в конфигурационный файл следующие строки:
# Access control for SNMPv3 monitoring system user
rouser <
имя пользователя
> priv -V monitoring
- Для отправки 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 с новой конфигурацией
Чтобы применить новую конфигурацию:
- Перезапустите службу snmpd с помощью команды:
systemctl restart snmpd
- Проверьте статус службы snmpd с помощью команды:
systemctl status snmpd
Статус должен быть
running
. - Разрешите автоматический запуск службы при загрузке операционной системы с помощью команды:
systemctl enable snmpd
- Если у вас используется сетевой экран в операционной системе или на сетевом оборудовании, добавьте соответствующие правила для пропуска пакетов протокола 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 |