#266 closed баг (fixed)
Настройки SNMP TRAP'ов применяются только после рестарта swd
Reported by: | alx | Owned by: | alx |
---|---|---|---|
Priority: | средний | Milestone: | 1 очередь |
Component: | swd | Keywords: | |
Cc: |
Description (last modified by )
Замечено что, как минимум, при установке уровня защиты AuthPriv (вероятно также при смене уровня защиты вообще), при изменении алгоритма шифрования и/или аутентификации, изменения вступают в действие только после рестарта swd.
В настоящий момент коммит r1555 откачен для веб-интерфейса. Надо разобраться с причиной и по возможности устранить.
Предположительно тут следует не создавать сессию заново при каждой отправке TRAP'а, а создавать ее один раз при создании трапсинка, и затем только модифицировать.
Change History (5)
comment:1 by , 7 years ago
Description: | modified (diff) |
---|
comment:2 by , 3 years ago
comment:3 by , 3 years ago
Кроме сказанного выше, запись пользователя в базе данных идентифицируется именем пользователя и securityEngineID. Учитывая это, получается, что у всех тапсинков блока securityEngineID должны быть разные, иначе если в разных трапсинках будет использовано одно и то же имя пользователя, возникнет та же проблема - у таких трапсинков нельзя будет установить разные настройка аутентификации и шифрования, все они будут использовать одни настройки.
Чтобы этого не происходило, принято решение генерировать securityEngineID трапсинка, добавляя к MAC адресу платы имя трапсинка (так нельзя создать несколько трапсинков с одинаковым именем).
Причина проблемы прояснилась.
Оказывается, при отправке TRAP с аутентификацией (а, возможно, даже любого SNMPv3 TRAP'а) библиотека создает пользователя в своей внутренней базе данных и копирует туда настройки аутентификации и шифрования из текущей сессии. Если позже эти данные в сессии меняются (например алгоритм аутентификации), то библиотека находит существующую запись о пользователе, видит, что данные аутентификации у него есть, и продолжает использовать старые данные, не проверяя, что в сессии их изменили.
Проблема решилась следующими мерами: