Настройка шифрования SNMP-соединений
03 июля 2024
ID 222536
Сторонние программы могут получать доступ к данным, отправляемым по протоколу SNMP, или заменять эти данные своими данными. Для безопасной передачи данных по протоколу SNMP рекомендуется настроить шифрование SNMP-соединений.
Чтобы настроить шифрование SNMP-соединений:
- Добавьте в файл /etc/snmp/snmpd.conf следующую строку:
view systemview included .1
- Получите EngineID, необходимый для обработки SNMP-ловушек. Для этого на каждом сервере, входящем в кластер, выполните команду:
snmpget -v2c -c<community name> 127.0.0.1 SNMP-FRAMEWORK-MIB::snmpEngineID.0 2>/dev/null | sed -ne 's/ //g; s/.*:/0x/p'
Укажите имя сообщества (community name), которое используется в вашей организации. При необходимости создайте новое сообщество. В целях безопасности передачи данных не рекомендуется использовать сообщество public, заданное по умолчанию.
Перед выполнением команды убедитесь, что служба snmpd запущена.
- На каждом сервере входящем в кластер, настройте службу snmpd. Для этого выполните следующие действия:
- Остановите службу snmpd. Для этого выполните команду:
systemctl stop snmpd
- Создайте нового пользователя. Для этого выполните команду:
net-snmp-create-v3-user -ro -a SHA -A <password> -x <password> -X AES <username>
- Добавьте в конфигурационный файл /etc/snmp/snmpd.conf следующие строки:
# accept KSMG statistics over unix socket
master agentx
agentXSocket unix:/var/
run/agentx-master.socket
agentXPerms 770 770 kluser klusers
# accept incoming SNMP requests over UDP
agentAddress udp:127.0.0.1:161
rouser <username> priv .1.3.6.1
# comment the following line if you don't need to forward SNMP traps over an SNMPv3 connection
trapsess -e <EngineID> -v3 -l authPriv -u <username> -a SHA -A <password> -x AES -X <password> udp:<IP address>:162
В качестве
<IP address>
укажите IP-адрес, по которому сервис snmptrapd будет принимать сетевые соединения. Если вы хотите сохранять SNMP-ловушки локально на сервере, укажите127.0.0.1
. - Добавьте в конфигурационный файл /etc/snmp/snmp.conf следующие строки:
mibdirs +/opt/kaspersky/ksmg/share/snmp-mibs/
mibs all
Если в указанной директории нет конфигурационного файла snmp.conf, вам необходимо его создать.
- Запустите службу snmpd. Для этого выполните команду:
systemctl start snmpd
- Проверьте SNMP-соединение. Для этого выполните следующие команды:
snmpwalk -mALL -v3 -l authPriv -u <username> -a SHA -A <password> -x AES -X <password> udp:127.0.0.1:161 .1.3.6.1.4.1.23668
snmpget -v3 -l authPriv -u <username> -a SHA -A <password> -x AES -X <password> udp:127.0.0.1:161 KSMG-PRODUCTINFO-STATISTICS::applicationName.0
- Остановите службу snmpd. Для этого выполните команду:
- На сервере, на котором вы хотите получать SNMP-ловушки, настройте службу snmptrapd. Для этого выполните следующие действия:
- Остановите службу snmptrapd с помощью команды:
systemctl stop snmptrapd
- Добавьте следующую строку в конфигурационный файл /var/lib/net-snmp/snmptrapd.conf:
createUser -e <EngineID> <username> SHA "<password>" AES "<password>"
Если в указанной директории нет конфигурационного файла snmptrapd.conf, вам необходимо его создать.
Учетные данные пользователя (
<username>
и<password>
) для служб snmpd и snmptrapd должны совпадать. - Добавьте в конфигурационный файл /etc/snmp/snmptrapd.conf следующие строки:
snmpTrapdAddr udp:<IP address>:162
authUser log <username> priv
disableAuthorization no
Если в указанной директории нет конфигурационного файла snmptrapd.conf, вам необходимо его создать.
- Запустите службу snmptrapd. Для этого выполните команду:
systemctl start snmptrapd
Убедитесь, что пароль, указанный в файле /var/lib/net-snmp/snmptrapd.conf в открытом виде, заменен на обфусцированную последовательность символов. Для этого может потребоваться несколько раз перезапустить службу snmptrapd с помощью команды
systemctl restart snmptrapd
. - Добавьте службу snmptrapd в автозагрузку. Для этого выполните команду:
systemctl enable snmptrapd
- Проверьте SNMP-соединение с помощью команды:
snmptrap -e <EngineID> -v3 -l authPriv -u <username> -a SHA -A <password> -x AES -X <password> udp:<IP address>:162 0 KSMG-EVENTS-MIB::restartedBinary
Убедитесь, что в файле /var/log/messages появляется следующая строка:
<date and time> <hostname> snmptrapd[7503]: <date and time> localhost [UDP: [127.0.0.1]:26325->[<IP address>]:162]:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (0) 0:00:00.00#011SNMPv2-MIB::snmpTrapOID.0 = OID: KSMG-EVENTS-MIB::restartedBinary
В качестве
<IP address>
укажите IP-адрес, по которому сервис snmptrapd будет принимать сетевые соединения. Если вы хотите сохранять SNMP-ловушки локально на сервере, укажите127.0.0.1
. - Остановите службу snmptrapd с помощью команды:
Шифрование SNMP-соединений будет настроено.