Конфигурирование SSL для сервера веб-приложений
Защищенный HTTP (HTTPS) - это канал связи, используемый для безопасного обмена данными в компьютерной сети. В Servigistics InService используется HTTPS с протоколом SSL для обеспечения конфиденциальности и целостности всех данных, передаваемых между веб-сервером Servigistics InService и браузерами. Протоколы SSL - это криптографические протоколы, разработанные для безопасного обмена данными через незащищенную инфраструктуру. Для поддержки протокола HTTPS в Servigistics InService необходимо сконфигурировать сертификаты SSL, аттестованные сторонней организацией, являющейся доверенным центром сертификации для данного приложения. По умолчанию приложение использует порт 8443 для обмена данными по протоколу SSL.
Поддержка HTTPS с использованием сторонних сертификатов (доверенных центров сертификации)
Сторонний сертификат заверяется доверенным центром сертификации. Удостоверьтесь, что заверенный третьей стороной сертификат имеет файловое расширение .keystore или .jks.
В следующей процедуре сторонний сертификат обозначен как *.jks. Эта процедура применима для всех типов конфигурации настройки. Убедитесь, что наименование безопасного порта и основного хост-компьютера правильно обновляются в объектах конфигуратора для серверов Publisher и Viewer.
Выполните следующие шаги, чтобы использовать сертификат *.jks в Servigistics InService. В случае монолитной, разделенной или кластерной конфигурации необходимо выполнить те же самые шаги для отдельных объектов. Поэтому в случае разделенной или кластерной конфигурации выполните следующие шаги для сервера Publisher и каждого из соответствующих объектов Viewer.
1. Остановите все выполняющиеся сервисы coreServer, coreCMIserver и JBoss.
2. Сохраните сертификат *.jks в расположении <INS_HOME>/InS_SW/SW/system/wildfly/standalone/configuration.
|
|
• Для работы с Servigistics InService необходимо наличие сертификата HTTPS с расширением .jks.
• Необходимо знать пароль.
• Сертификаты должны иметь псевдоним. Например, "jboss". Псевдоним для сертификата задается во время генерации сертификата.
|
3. Обновите сведения, связанные с элементом security-realm, для веб-систем и автономных систем нужным образом.
a. Для веб-системы откройте файл standalone-full-<database-name>.xml, расположенный в каталоге <INS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration.
b. Для автономной системы откройте файл standalone-full.xml, расположенный в каталоге <INS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration.
<security-realm name="SSLRealm>
<server-identities>
<ssl>
<keystore path="*.jks" relative-to="jboss.server.config.dir" keystore-password="<actual_password_value>" alias="<actual alias from certificate>"
key-password="<actual_password_value>"/>
</ssl>
</server-identities>
</security-realm>
, где:
◦ keystore path - наименование сертификата;
◦ keystore-password - пароль сертификата;
◦ alias - фактический псевдоним из сертификата;
◦ key-password - пароль сертификата.
|
|
Для автономных систем измените файл standalone-full.xml вместо standalone-full-<database-name>.xml.
|
4. Выполните следующую команду, чтобы экспортировать сертификат *.jks, сертификат хранилища ключей JAVA, в сертификат CA:
<InS_HOME>/InS_SW/SW/System/Java/bin/keytool.exe -exportcert -noprompt
-alias "<actual alias from certificate>"
-keypass "<actual_password_value>" -storepass "<actual_password_value>"
-file <InS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration/cert.crt
-keystore <InS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration/<certificate_name>.jks
5. Выполните следующую команду, чтобы импортировать сертификат CA в сертификат JRE:
<InS_HOME>/InS_SW/SW/System/Java/bin/keytool.exe -import -noprompt
-alias "<actual alias from certificate>"
-keypass keypass "<actual_password_value"> -storepass keypass "<actual_password_value">
-file <InS_HOME>/InS_SW/SW/System/WildFly/standalone/configuration/cert.crt
-keystore <INS_HOME>/InS_SW/SW/System/Java/jre/lib/security/cacerts
6. В случае разделенных или кластерных сред импортируйте созданные сертификаты для программ Publisher и Viewer, выполнив следующие шаги:
a. Скопируйте сертификат из папки sw/System/WildFly/standalone/configuration одного компьютера в то же расположение на другом. Скопируйте сертификат для Publisher на компьютер Viewer и сертификат для Viewer на компьютер Publisher.
b. Запустите файл importCertificate.bat с наименованием сертификата в качестве параметра. Папка SW содержит файлы .sh или .bat. Пример: importCertificate.bat <FullCertificateName.crt>.
|
|
Если используются сертификаты с подстановочными символами, можно пропустить этот шаг при перекрестном импорте сертификатов.
|
7. Перезапустите сервисы coreServer, coreCMIserver и JBoss.
Можно получить доступ к веб-приложению Servigistics InService по протоколу SSL. Например, попробуйте перейти по URL-адресу: https://localhost:8443.
Поддержка HTTPS с использованием самоподписанных сертификатов
Самоподписанный сертификат - это сертификат реквизитов, подписанный той же самой сущностью, реквизиты которой он сертифицирует, а не доверенным центром сертификации. Приложение автоматически создает самоподписанные сертификаты при установке приложения.
Для поддержки HTTPS необходимо добавить в систему сертификаты.
|
|
• PTC рекомендует использовать только сертификаты SSL от сторонних организаций, являющихся доверенными центрами сертификации. Использование самоподписанного сертификата должно быть ограничено использованием только для тестовой системы. Не рекомендуется использовать самоподписанный сертификат для любого производственного оборудования, даже находящегося за брандмауэром.
• В случае монолитной конфигурации приложение автоматически создает сертификаты при его установке.
• Следующие шаги используются только для создания и импорта самоподписанных сертификатов.
|
1. Скопируйте сертификат из папки sw/System/WildFly/standalone/configuration на одном компьютере в то же самое расположение на другом компьютере. Скопируйте сертификат для Publisher на компьютер Viewer и сертификат для Viewer на компьютер Publisher.
2. Запустите файл importCertificate.bat, указав для параметра machineName имя компьютера, с которого скопирован сертификат. Имеются следующие файлы .sh или .bat в папке SW.
Например, на компьютере Publisher перейдите в папку SW и выполните следующую команду:
◦ для Windows:
importCertificate.bat <v1.FullName>
◦ Для Linux:
./importCertificate.sh <v1.FullName>
◦ На компьютере Viewer 1: для Windows:
importCertificate.bat <Publisher.FullName>
, для Linux:
./importCertificate.sh <Publisher.FullName>
| • Импортируйте сертификат веб-сервера в автономную систему. В случае автономной конфигурации SSL выполните команду importCertificate.bat <primary_server_Full_host_Name>. • Полное имя означает полное доменное имя, например <host_name>.ptcnet.ptc.com. |
Для кластерной среды
Для разделенной среды
Устранение неисправностей
Если некоторые шаги выполнены неправильно и нужно импортировать сертификаты снова, выполните следующие действия:
1. Удалите или переименуйте файл sw\System\Java\JRE\lib\security\cacerts.
2. Удалите inskeystore и все сертификаты.
3. Выполните createkeyStore на всех компьютерах с параметром наименования компьютера.
4. Скопируйте сертификаты, как требуется.
5. Используйте importKeyStore, чтобы импортировать остальные сертификаты на каждый компьютер.