===== Замена SSL сертификата веб-сервера Symantec LiveUpdate Administrator 2.3.6 ===== {{:symantec:pasted:20170519-203525.png }} Одной из задач, которая может возникнуть перед администратором **Symantec LiveUpdate Administrator** (**LUA**), является замена автоматически сгенерированного в процессе установки само-подписанного цифрового SSL-сертификата, который используется для защиты соединения веб-сервером **Tomcat** из состава LUA. Чтобы выполнить данную задачу, за основу возьмём последовательность действий, описанную в посте [[https://www.niwis.com/forum/forum/endpoint-security/symantec-endpoint-protection-11-12/tipps-tricks/32719-liveupdate-administrator-?-howto-changing-the-ssl-certificate|LiveUpdate Administrator – HOWTO changing the SSL Certificate]] \\ ==== Получение сертификата в формате PFX ==== Первый делом получаем из доверенного Центра Сертификации (ЦС) сертификат в формате **PKCS #12** [.**PFX**], содержащий все желаемые имена для нашего веб-сервера LUA. В моём случае используется SAN-сертификат, полученный от ЦС на базе Windows Server. Сертификат был запрошен непосредственно с сервера LUA (через оснастку управления сертификатами в **mmc.exe**). При формировании запроса сертификата нужно учесть ряд параметров: * Алгоритм подписи **SHA256** * Открытый ключ **RSA (2048 Bit)** * Включён признак возможности экспорта закрытого ключа После того, ка сертификат получен от ЦС и установлен на сервер, через оснастку управления сертификатами в **mmc.exe** выполняем экспорт этого сертификата в паре с закрытым ключом в защищённый паролем **PFX**-файл. {{ :symantec:pasted:20170519-205741.png }} \\ ==== Замена файла Java Keystore ==== Базовую информацию о замене сертификата в LUA можем посмотреть в документе [[https://support.symantec.com/en_US/article.TECH227252.html|Symantec Article TECH227252 - Replace LiveUpdate Administrator certificate]]. Кратко говоря, LUA использует веб-сервер **Tomcat**, который в свою очередь, использует файл формата **Java Keystore** (**JKS**) для хранения сертификата и его закрытого ключа. Нам потребуется создать новый JKS-файл и заменить этим файлом JKS-файл, используемый в Tomcat. Имя этого файла **server-cert.ssl** и хранится он в каталоге установки LUA. По умолчанию это каталог **C:\Program Files (x86)\Symantec\LiveUpdate Administrator\**. Итак, нам нужно удалить используемый JKS-файл **server-cert.ssl**, предварительно сохранив его копию (на случай возврата на прежнее место, если что-то пойдёт "не так") Открываем с правами Администратора командную строку и переходим в каталог установки LUA:
cd /d C:\Program Files (x86)\Symantec\LiveUpdate Administrator
Делаем резервную копию JKS-файла и затем удаляем его:
copy server-cert.ssl server-cert.ssl.orig del server-cert.ssl
Переходим в каталог подкаталог **\jre\bin** в каталоге установки LUA:
cd /d C:\Program Files (x86)\Symantec\LiveUpdate Administrator\jre\bin
Конвертируем **PFX**-файл в новый **JKS**-файл хранилища сертификатов (будет сгенерирован новый файл **server-cert.ssl**), указав пароль от PFX-файла (в нашем примере ''pfxP@ssw0rd'') и задав собственный пароль для создаваемого JKS-хранилища (в нашем примере ''LuAjKsPazW0rd''):
keytool.exe -importkeystore -srckeystore "C:\Temp\cert.pfx" \
-destkeystore "C:\Program Files (x86)\Symantec\LiveUpdate Administrator\server-cert.ssl" \
-srcstoretype PKCS12 -deststoretype JKS \
-srcstorepass pfxP@ssw0rd -deststorepass LuAjKsPazW0rd
В процессе генерации будет выведено соообщение типа:
Entry for alias le-7e56697b-1b56-485c-88de-1b05f8c49375 successfully imported. Import command completed: 1 entries successfully imported, 0 entries failed or cancelled
Поменяем **алиас** имортированного сертификата с сгенерированного значения (в нашем примере ''le-7e56697b-1b56-485c-88de-1b05f8c49375'') на значение ''lua''
keytool.exe -changealias \
-alias le-7e56697b-1b56-485c-88de-1b05f8c49375 -destalias lua \
-keypass pfxP@ssw0rd -storepass LuAjKsPazW0rd \
-keystore "C:\Program Files (x86)\Symantec\LiveUpdate Administrator\server-cert.ssl"
Чтобы проверить список сертификатов имеющихся в **JKS**-хранилище можно выполнить команду:
keytool.exe -list -v \
-keystore "C:\Program Files (x86)\Symantec\LiveUpdate Administrator\server-cert.ssl" \
-storepass LuAjKsPazW0rd
Дополнительно устанавливаем **пароль** на доступ к ключу в **JKS**-хранилище таким же, как установлен пароль на доступ к самому хранилищу:
keytool.exe -keypasswd -alias lua \
-keypass pfxP@ssw0rd -new LuAjKsPazW0rd -storepass LuAjKsPazW0rd \
-keystore "C:\Program Files (x86)\Symantec\LiveUpdate Administrator\server-cert.ssl"
Не забываем удалить PFX-файл из временной папки:
del "C:\Temp\cert.pfx"
\\ ==== Правка catalina.properties ==== Найдём файл **catalina.properties** в подкаталоге **\tomcat\conf** каталога установки LUA. Откроем этот файл в текстовом редакторе и закомментируем строку (постваим символ # в начале строки): ... org.apache.tomcat.util.digester.PROPERTY_SOURCE=com.symantec.lua.SSLPasswordDecrypt ... Аналогичным образом закомментируем строку со старым параметром ''ks.password''. Затем добавим новую строку, в которой в параметре ''ks.password'' укажем пароль на доступ к JKS-хранилищу, который мы задали ранее. В конечном итоге конец файла **catalina.properties** примет примерно следующий вид: ... ks.password=LuAjKsPazW0rd # ks.password=YqnftEU2J4Og5oF98l6eGQ== # org.apache.tomcat.util.digester.PROPERTY_SOURCE=com.symantec.lua.SSLPasswordDecrypt \\ ==== Перезапуск LUA ==== Чтобы веб-сервер LUA подхватил наше новое JKS-хранилище, перезагружаем службу **LUA Apache Tomcat**:
net stop LUATomcat & net start LUATomcat
Имейте ввиду, что служба может останавливаться длительное время.\\ Кроме того, после запуска службы веб-консоль сервера LUA может быть недоступна длительно время (до тех пор пока не закончится инициализация веб-приложения). \\ ==== Проверяем результат ==== В свойствах ярлыка для запуска LiveUpdate Administrator есть ссылка на файл "''C:\Program Files (x86)\Symantec\LiveUpdate Administrator\LiveUpdate Administrator.bat''". Поменяем в этом файле ссылку на использование нужного нам имени, например FQDN сервера и укажем протокол **HTTPS** порт (по умолчанию для HTTPS используется порт **7073**): start https://KOM-AD01-LUA01.holding.com:7073/lua После этого запускаем ярлык и проверяем результат - веб-консоль LUA должна использовать для протокола HTTPS установленный нами в JKS-хранилище сертификат, и теперь браузер не будет "ругаться" о недоверии сертификату. ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 19.05.2017 20:20 {{tag>Symantec LUA LiveUpdate "LiveUpdate Administrator" SSL Apache Tomcat "Web Server" HTTPS PKCS12 PFX Java JRE JKS "Java keystore" keytool Certificate SHA256 Security}} ~~DISCUSSION~~