Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Блок кода
languagebash
$sudo service snmp restart

Посомтреть статус менеджера snmp:

Блок кода
languagebash
$sudo service snmp status

Image Removed

б) агента snmpd:

Откройте файл /etc/snmp/snmpd.conf

...

Блок кода
languagebash
#  Listen for connections from the local system only

#agentAddress  udp:127.0.0.1:161

#  Listen for connections on all interfaces (both IPv4 *and* IPv6)

agentAddress udp:161,udp6:[::1]:161

Далее в конфиге нужно создать пользователя %Имя_вашего_пользователя, который,  который будет использоваться в качестве шаблона для создания обычных пользователей. Пакеты SNMP делают это путём клонирования параметров пользователей.

Создавая нового пользователя, укажите тип аутентификации (MD5 или SHA) и пароль (минимум 8 символов). Если вы планируете использовать шифрование для передачи данных, вы также должны указать протокол шифрования (DES или AES) и пароль для него (по желанию). Если вы не выберете пароль для протокола шифрования, вместо него будет использоваться пароль аутентификации.

Для примера создадим пользователя "usertest", с паролем "temp_password", с MD5 типом аутентификации и DES протоколом шифрования. Для этого в конфигурационном файле snmpd.cfg запишем:

Блок кода
languagebash
createUser usertest MD5 temp_password DES

 Далее в конфигурационном файле, пользователю "usertest" следует указать уровень доступа:

rwuser - даёт право на чтение и запись.

rouser - даёт право только на чтение.

Для обязательного шифрования используется параметр priv .

Чтобы ограничить пользователя определённой частью MIB, нужно указать OID высшего уровня, к которому пользователь должен иметь доступ.

Блок кода
languagebash
rwuser usertest priv

Сохраните и закройте файл /etc/snmp/snmpd.cfg.

Перезапустите сервис snmpd:

Блок кода
languagebash
sudo service snmpd restart

Посомтреть статус менеджера snmpd:

Блок кода
languagebash
$sudo service snmpd status

Image Added


3. Общая структура команд SNMP:

Утилита snmpusm применяется для управления пользователями SNMPv3.Три базовых операций SNMP - это snmpget, snmpset и snmpwalk. Их назначение понятно из названия: snmpget считывает значение оценки с помощью устройства, snmpset устанавливает значение параметра на устройство, snmpwalk считывает с устройства часть дерева MIB.


При работе с набором net-snmp используется несколько шаблонов для вызова команд.

Сначала нужно пройти аутентификацию и подключиться к демону SNMP. Для этого могут понадобиться следующие флаги:

  • -v (version): задаёт версию SNMP-протокола.

  • -c (community): определяет версию строки доступа .

  • -u (user-name): указывает имя пользователя, которого нужно авторизовать. Чтобы пользователь имел право на чтение и изменение, он должен быть зарегистрирован в SNMP.

  • -l (level): задаёт уровень безопасности для подключения. Можно использовать такие значения: noAuthNoPriv (без аутентификации), authNoPriv (аутентификация без шифрования) и authPriv (аутентификация и шифрование). Кроме того, указанный пользователь должен иметь доступ к выбранному уровню безопасности, иначе он не сможет подключиться.

  • -a (protocol): определяет протокол аутентификации, MD5 или SHA. Это значение должно совпадать с информацией пользователя, указанной при его создании.

  • -x (protocol): определяет протокол шифрования, DES или AES. Это значение должно совпадать с информацией пользователя, указанной при его создании. Протокол шифрования обязательно нужно указывать, если в настройках пользователя есть параметр priv.

  • -A (passphrase): пароль для аутентификации пользователя.

  • -X (passphrase): пароль шифрования. Если вы не указали этот пароль, вместо него будет использоваться пароль для аутентификации. Это пароль обязательно нужно указывать, если в настройках пользователя есть параметр priv.

Теперь вы можете написать команду. Ваша команда может отличаться в зависимости от параметров пользователя. Общий синтаксис:

Блок кода
languagebash
snmp_command -u имя_пользователя -l authPriv -a MD5 -x DES -A пароль_аутентификации -X пароль_шифрования ip_хоста дополнительные_команды_и_опции


3а) Утилита snmpget - получение информации с удалённого хоста

К примеру, чтобы убедиться, что пользователь usertest доступен, нужно запустить на менеджере:

Блок кода
languagebash
snmpget -u usertest -l authPriv -a MD5 -x DES -A temp_password -X temp_password 192.168.1.112 1.3.6.1.2.1.1.1.0

SNMPv2-MIB::sysDescr.0 = STRING: Linux snmpdtest 4.15.3-1-generic #astra14 SMP Tue Aug 7 13:57:30 UTC 2018 x86_64 GNU/Linux

Строка 1.3.6.1.2.1.1.1.0 – это OID, который отвечает за отображение данных системы. В удаленной системе он выведет результат команды uname –a.

Image Added


3б) Утилита snmpusm - для управления пользователями SNMPv3

на менеджер сервереследует создать пользователя по шаблону с помощью инструмента snmpusm. Общий синтаксис имеет такой вид:

snmpusm информация_об_уч_записиудаленный_хост create новый_пользовательсуществующий_пользователь

С помощью шаблона (usertest) и флагов вы можете создать пользователя с необходимым уровнем привилегий.

Блок кода
languagebash
snmpusm -u usertest -l authPriv -a MD5 -x DES -A temp_password -X temp_password 192.168.1.112 create newuser usertest

User successfully created.


Теперь на удалённом сервере есть полностью готовый к работе пользователь newuser. Однако пока что он использует те же учётные данные, что и usertest. Для того, чтобы изменить пароль пользователя, следует выполнить аутентификацию как newuser и установить новый пароль (8 символов минимум).

Блок кода
languagebash
snmpusm -u newuser -l authPriv -a MD5 -x DES -A temp_password -X temp_password 192.168.1.112 passwd temp_password my_new_password

SNMPv3 Key(s) successfully changed.

Теперь у пользователя newuser установлен новый пароль «my_new_password».