Настройка шифрования SNMP-соединений

Сторонние программы могут получать доступ к данным, отправляемым по протоколу SNMP, или заменять эти данные своими данными. Для безопасной передачи данных по протоколу SNMP рекомендуется настроить шифрование SNMP-соединений.

Чтобы настроить шифрование SNMP-соединений:

  1. Добавьте в файл /etc/snmp/snmpd.conf следующую строку:

    view systemview included .1

  2. Получите 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 запущена.

  3. На каждом сервере входящем в кластер, настройте службу snmpd. Для этого выполните следующие действия:
    1. Остановите службу snmpd. Для этого выполните команду:

      systemctl stop snmpd

    2. Создайте нового пользователя. Для этого выполните команду:

      net-snmp-create-v3-user -ro -a SHA -A <password> -x <password> -X AES <username>

    3. Добавьте в конфигурационный файл /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.

    4. Добавьте в конфигурационный файл /etc/snmp/snmp.conf следующие строки:

      mibdirs +/opt/kaspersky/ksmg/share/snmp-mibs/

      mibs all

      Если в указанной директории нет конфигурационного файла snmp.conf, вам необходимо его создать.

    5. Запустите службу snmpd. Для этого выполните команду:

      systemctl start snmpd

    6. Проверьте 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

  4. На сервере, на котором вы хотите получать SNMP-ловушки, настройте службу snmptrapd. Для этого выполните следующие действия:
    1. Остановите службу snmptrapd с помощью команды:

      systemctl stop snmptrapd

    2. Добавьте следующую строку в конфигурационный файл /var/lib/net-snmp/snmptrapd.conf:

      createUser -e <EngineID> <username> SHA "<password>" AES "<password>"

      Если в указанной директории нет конфигурационного файла snmptrapd.conf, вам необходимо его создать.

      Учетные данные пользователя (<username> и <password>) для служб snmpd и snmptrapd должны совпадать.

    3. Добавьте в конфигурационный файл /etc/snmp/snmptrapd.conf следующие строки:

      snmpTrapdAddr udp:<IP address>:162

      authUser log <username> priv

      disableAuthorization no

      Если в указанной директории нет конфигурационного файла snmptrapd.conf, вам необходимо его создать.

    4. Запустите службу snmptrapd. Для этого выполните команду:

      systemctl start snmptrapd

      Убедитесь, что пароль, указанный в файле /var/lib/net-snmp/snmptrapd.conf в открытом виде, заменен на обфусцированную последовательность символов. Для этого может потребоваться несколько раз перезапустить службу snmptrapd с помощью команды systemctl restart snmptrapd.

    5. Добавьте службу snmptrapd в автозагрузку. Для этого выполните команду:

      systemctl enable snmptrapd

    6. Проверьте 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.

Шифрование SNMP-соединений будет настроено.

В начало