В одной из прошлых заметок мы рассматривали процедуру обновления экземпляра HPE B-series SAN Network Advisor 12.4.1 до более новой версии 12.4.2 методом in-place upgrade. Принципиальных отличий процедура обновлений не претерпела и до текущих релизов 14 версии продукта. Однако между под-версиями 14.2 и 14.3 произошли некоторые изменения уровня безопасности, в результате которых процесс обновления может завершиться ошибкой.
В частности, когда мы попытались произвести обновление имеющейся у нас версии 14.2.2 на версию 14.4.1 или 14.4.2, на заключительном этапе работы мастера конфигурации новой версии в момент, когда фактически уже миграция данных выполнена и производится попытка запуска службы HPE B-series SAN Network Advisor (dcm-service), возникла ошибка "Server failed to start. HPE B-series SAN Network Advisor will be rolled back to previous version"
В результате эта ошибка приводит к полному откату процедуры обновления с автоматическим восстановлением старой версии и удалением новой версии продукта.
По окончании процедуры отката будет выведено сообщение с информацией о размещении диагностического пакета, в который завёрнуты логи старой и новой версии продукта. Например, в нашем случае сообщение говорит о том, что архив с логами сохранён в каталоге текущей старой версии C:\Program Files\HPE B-series SAN Network Advisor 14.2.2\support
Распакуем этот архив и в структуре каталогов перейдём в подкаталог новой версии и найдём там лог сервера Network Advisor. В нашем случае путь к файлу лога будет таким: ..\Migration_Failure_Logs\HPE B-series SAN Network Advisor 14.4.2\server\server.log
Если изучить содержимое лога, то можно обнаружить то, что есть проблема с шифрованием, так как фигурируют ошибки вида "…javax.net.ssl.SSLHandshakeException: General SSLEngine problem"
Если повнимательней посмотреть документ Release Notes к новой версии, то сможем обнаружить, что начиная с версии 14.3.1 в Network Advisor выключены устаревший алгоритм хеширования SHA1 и поддержка ключей RSA менее 2048 бит. Соответственно, если ранее мы заменили само-подписанный цифровой сертификат Network Advisor на собственный, например, выпущенный доменным Центром Сертификации (ЦС), и этот сертификат не соответствует требованиям новых версий Network Advisor, то при запуске основной службы Network Advisor может возникнуть выше обозначенная проблема.
Можно попытаться решить эту проблему разными путями. Например, как сказано в документе документ Release Notes, включить обратно поддержку старых стандартов в конфигурации исполняемой среды Java, поставляемой в составе Network Advisor:
If users wish to continue using certificates with weaker algorithms, they need to remove SHA1
and RSA keySize < 2048 from the disabled algorithms list in the java.security file present on the
Network Advisor server as follows:
- Navigate to <Network Advisor Home>\jre64\lib\security directory to open the
java.security file and remove SHA1 and RSA keySize < 2048 from the disabled algorithm
list:
jdk.tls.disabledAlgorithms=MD5, DES, 3DES, DESede, RC2, DHE, DH, ECDHE, ECDH,
SSLv3, RC4, MD5withRSA, SHA1, DSA, DH keySize < 768, \ EC keySize < 224, RSA keySize
< 2048- Restart all the Network Advisor services through the Service Management Console
Однако, во первых, такой способ неудобен тем, что при следующем обновлении нам опять придётся выполнять подобную правку, а во вторых, фактически нам придётся понизить уровень безопасности Java, поставляемой в комплекте с Network Advisor и предполагаемый к использованию разработчиком.
Более правильный способ решения проблемы - это обновление сертификата сервера Network Advisor до уровня SHA2. И сделать такую замену сертификата лучше до запуска процедуры обновления Network Advisor до 14.3 и выше. Если же всё-таки срок триала "проморгали" и приложение уже не запускается, то в качестве временной меры можно попробовать указанный выше метод ослабления уровня безопасности (применять его придётся в середине процесса обновления во время миграции старой версии на новую).
В нашем случае старая версия работает, поэтому остаётся только повторить ранее описанную процедуру запроса/выпуска/замены сертификата Network Advisor с алгоритмом хеширования SHA2 и ключом RSA длинной 2048 бит и выше. То есть запрос на новый сертификат должен быть оправлен в ЦС, который выдаёт сертификаты SHA2.
После замены сертификата закроем все подключения к Network Advisor и перезапустим службу сервера с именем HPE B-series SAN Network Advisor (dcm-service). Сделаем это, например, с помощью Powershell:
Restart-Service "HPE B-series SAN Network Advisor"
После этого попробуем открыть в браузере веб-приложение Network Advisor (HPE B-series SAN Network Advisor Fabric Insight Portal) и убедимся в том, что веб-приложение использует новый установленный сертификат SHA2
Теперь можно повторно попытаться провести процедуру обновления и на этот раз она должна пройти успешно.
Однако, даже после успешного окончания процедуры обновления, у нас может возникнуть ещё одна проблема в том случае, если ранее для подключения к Network Advisor настраивалась аутентификация через доменные учётные записи. При попытке использовать доменную учётную запись, с которой аутентификация успешно работала до обновления с версии 14.2, может возникнуть ошибка "Invalid user ID or password"
Изучение этой проблемы выявило тот факт, что после обновления до версии 14.4 у меня перестала работать настроенная ранее LDAPS аутентификация через порт TCP 636. При этом открытая аутентификация LDAP через порт TCP 389 работает, но использовать её для передачи доменных учётных данных по сети как-то несерьёзно. Не заработала и CHAP-аутентификация через RADIUS-сервер (небезопасный PAP при этом опять же работает). Поэтому, используя отельное приложение Server Management Console мне пришлось переключиться на использование встроенной локальной аутентификации Network Advisor.
Только после этого мне удалось подключиться к обновлённой версии Network Advisor и возобновить работу с приложением.
В общем пока от новой версии Network Advisor возникает ощущение того, что разработчики "в ногу со временем" неплохо "обезопасились", параллельно поломав ранее работающий функционал AAA.
Ну и, само собой, глядя на корневую причину описанной проблемы, возникшей при обновлении, в очередной раз посыпаем свою голову пеплом отработанным тонером и делаем наколку на правой ладони о том, что перед началом обновления нужно не лениться полностью читать Release Notes к новой версии продукта.
Добавить комментарий