Для обеспечения поддержки защищенных протоколов SSL/TLS необходимо выполнить ряд настроек как на стороне сервера JMS, так и в других компонентах системы (Рис. 50).
Рис. 50 – Схема настройки SSL на API-интерфейсах компонентов JMS
Настройка SSL-соединения на стороне сервера JMS
Для включения SSL на интерфейсах сервера JMS следует использовать команду ssl enable консольного агента Aladdin.EAP.Agent.Terminal Например:
Aladdin.EAP.Agent.Terminal ssl enable --path /opt/41/f_pfx/ssl.pfx --password P@ssw0rdВ результате успешной настройки конфигурации на консоли отобразится:
Рис. 51 – Выдача команды настройки SSL на API-интерфейсах сервера JMS
В приведенном примере используется ssl-сертификат сервера JMS и настройка осуществляется одновременно на интерфейсах IntegrationManager API (интерфейс взаимодействия с Консолью управления JMS) и ClientManager API (интерфейс взаимодействия с клиентскими компонентами JWA). Команда предусматривает также возможность устанавливать SSL отдельно на каждом из указанных интерфейсов, а также использовать уже ранее установленный в системе сертификат.
Подробное описание команды ssl enable ее см. в разделе «Приложение 2. Справочник команд консольного агента Aladdin.EAP.Agent.Terminal», с. 120.
Для проверки текущей настройки SSL на интерфейсах Сервера JMS используйте команду консольного агента ssl show, например:
Aladdin.EAP.Agent.Terminal ssl showРис. 52 – Пример выдачи команды ssl show
Настройка SSL/TLS на стороне Web-приложения Консоль управления JMS
Для обеспечения функционирования web-консоли управления JMS внесите следующие правки в конфигурационный файл /etc/aladdin/eap-web-admin/appsettings.json
- Укажите адрес для защищенного подключения к API управления сервером JMS:
"WebAdminSettings": { "IntegrationApiUrl": "https://<FQDN_Сервера_JMS>:8120",Где <FQDN_Сервера_JMS> -- полное доменное имя сервера JMS.
2. Укажите адрес для защищенного подключения к API аутентификации сервера JMS:
"WebAdminSettings": { "AuthenticationApiUrl": "https://<FQDN_Сервера_JMS>:8121",Где <FQDN_Сервера_JMS> -- полное доменное имя сервера JMS.
3. Для безопасного подключения к серверному Web-приложению Консоль управления JMS из Web-браузера на клиентской машине добавьте в конфигурационный файл секцию "Kestrel" -> "Endpoints" ->"Https", например:
"Kestrel": { "Endpoints": { "Http": { "Url": "http://localhost:5001" }, "Https": { "Url": "https://*:5000", "Certificate": { "Path": "<путь_к_pfx-файлу_сертификата>", "Password": "<пароль_к_pfx-файлу>" } } } },Где
- <путь_к_pfx-файлу_SSL-сертификата> -- путь к файлу SSL-сертификата, выпущенного на имя хоста с серверным Web-приложением Консоль управления JMS;
- <пароль_к_pfx-файлу> - пароль к контейнеру сертификата;
Подробнее особенности синтаксиса прописывания адресов Kestrel (строковое значение параметра "Url") для JMS Web Admin приведены в разделе «Установка серверного компонента Консоли управления JMS», с. 21.
4. Для вступления в силу внесенных изменений перезапустите службу eap-web-admin:
systemctl restart eap-web-adminНастройка SSL/TLS на стороне web-клиента JMS
Для корректного функционирования web-приложений с клиентом JMS или консолью управления JMS в конфигурационном файле JWA /etc/aladdin/jwa-service/appsettings.json на клиентских компьютерах необходимо внести следующие изменения:
- Для подключения по SSL к интерфейсу AuthenticatonManager API (интерфейс аутентификации компонентов JMS) в секции "JMS", в параметре "AuthApiURL" впишите:
"JMS": { "AuthApiURL": "https://<FQDN_Сервера_JMS>:8121",Где <FQDN_Сервера_JMS> -- полное доменное имя сервера JMS.
2. Для подключения по SSL к интерфейсу ClientManager API (интерфейс взаимодействия JMS с клиентскими компонентами – JWA) в секции "JMS", в параметре "ClientApiURL" впишите:
"JMS": { "ClientApiURL": "https://<FQDN_Сервера_JMS>:8122",Где <FQDN_Сервера_JMS> -- полное доменное имя сервера JMS.
3. Для вступления в силу измененных параметров перезапустите процесс JWA командами:
/opt/jms-client/jwa-service.sh stop/opt/jms-client/jwa-service.sh bgНастройка SSL/TLS для работы с СУБД
Настройка SSL/TLS для работы с СУБД на стороне сервера JMS
Для включения поддержки защищённого соединения с СУБД при инициализации JMS (см. раздел «Установка и первоначальная настройка сервера и консольного агента JMS», с. 18) необходимо установить значение true у параметров:
- encryptDatabaseConnection
- encryptServerConnection
в секции [database] инициализационного файла (см. «Приложение 1. Параметры файла первоначальной конфигурации сервера JMS» с. 114).
Настройка SSL/TLS для работы с MS SQL
Настройка защищённого соединения для подключения к MS SQL выполняется через SQL Server Configuration Manager. Для настройки выполните следующие действия.
- В разделе Server Network Configuration откройте контекстное меню, нажав правой кнопкой мышки на экземпляре сервера MS SQL, для которого производится настройка. В открывшемся меню выберите пункт Properties
- В открывшемся диалоговом окне на вкладке Flags установите флаг Force Encryption в Yes, чтобы сделать SSL-подключения обязательными.
Рис. 53 – Установка принудительного включения защищённого соединения с MS SQL
3. На вкладке Certificate выберите сертификат, который будет использоваться для SSL-подключений.
Рис. 54 – Выбор SSL-сертификата для защищённого соединения с MS SQL
Если сертификат не выбран, то MS SQL создаст свой самоподписанный сертификат, что может быть нежелательным.
Также необходимо отметить, что выбранный сертификат может не подойти под требования для SSL-сертификатов. В этом случае при запуске сервера MS SQL возникнет ошибка, связанная с SSL. Требования к сертификатам описаны документации к MS SQL: Certificate requirements for SQL Server 2016
4. Перезапустите экземпляр сервера MS SQL, для которого выполнялась настройка.
Более подробное описание настройки можно найти в документации к MSSQL. Например, для SQL Server 2016: https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/configure-sql-server-encryption?view=sql-server-2016.
Настройка SSL/TLS для работы с PostgreSQL
После установки PostgreSQL обеспечивает опциональную (в зависимости от запросов клиента) поддержку SSL-соединений, но при этом используются временные (ssl-cert-snakeoil) сертификаты. Для обеспечения защищённого соединения с PostgreSQL, как правило, достаточно создать свои сертификаты и указать их в конфигурационном файле.
SSL для PostgreSQL настраивается в конфигурационном файле postgresql.conf. Для включения SSL выполните следующие действия.
- Убедитесь, что у параметра ssl в конфигурационном файле установлено в значение «true», «on» или «уes». Например в PostgreSQL версии 9.6 такой файл может выглядеть следующим образом:
Рис. 55 – Проверка включения режима SSL в конфигурационном файле PosgreSQL
2. Сгенерируйте ключевую пару, которая будет использоваться сервером PostgreSQL и укажите пути к файлу сертификата и ключа:
ssl_cert_file='/path/to/cert.pem'ssl_key_file='/path/to/private/cert.key'3. При необходимости укажите файлы со списком доверенных УЦ для клиентских сертификатов и списком отозванных сертификатов через параметры «ssl_ca_file» и «ssl_crl_file»:
ssl_ca_file=/path/to/root.crtssl_crl_file=/path/to/root.crl4. Перезапустите PostgreSQL, если вносились какие-либо изменения в параметры выше:
sudo systemctl restart postgresqlБолее детальное описание конфигурации SSL можно найти в документации PostgreSQL. Например, для версии 9.6 по следующей ссылке: https://www.postgresql.org/docs/9.6/ssl-tcp.html
Настройка SSL для доступа к ресурсной системе
Для обеспечения работы по SSL с ресурсной системой при инициализации сервера JMS необходимо установить значение true в параметре useSsl (в файле конфигурации, см. «Секция [accountSystem]», с. 114), а также убедиться в корректном значении порта (параметр serverPort).
Кроме того, для корректной работы с Samba AD или AD через SSL необходимо чтобы используемый серверный сертификат был доверенным и параметр serverAddress конфигурационного файла совпадал с CN сертификата или Subject Alternative Name.
В общем случае, если машина с сервером JMS не заведена в домен Samba AD или AD, следует выполнить следующий набор действий:
- Добавить доменное имя машины с Samba AD в /etc/hosts серверной машины JMS.
- Получить корневой сертификат ресурсной системы. Для Samba AD найти его можно командой «sudo find / -name ca.pem», обычно он находится в /var/lib/samba/private/tls. Для AD необходимо экспортировать корневой сертификат в формате «Base-64 encoded x.509»
- После чего полученный сертификат необходимо сделать доверенным на машине с сервером JMS в соответствии с установленной на ней операционной системой:
- Astra Linux
- Убедиться, что установлен пакет ca-certificates (если нет, то поставить - "apt-get install ca-certificates")
- Скопировать сертификат в /usr/local/share/ca-certificates/
- Выполнить "update-ca-certificates"
- РЕД ОС
- Убедиться, что установлен пакет ca-certificates (если нет, то поставить - "yum install ca-certificates")
- Выполнить "update-ca-trust force-enable"
- Скопировать сертификат в /etc/pki/ca-trust/source/anchors/
- Выполнить "update-ca-trust extract"
- Alt Linux
- Убедиться, что установлен пакет ca-certificates (если нет, то поставить - "apt-get install ca-certificates")
- Скопировать сертификат в /etc/pki/ca-trust/source/anchors/
- Выполнить "update-ca-trust"
Если же есть необходимость использовать Samba AD без SSL, то необходимо убедиться, что строка «ldap server require strong auth = no» присутствует в /etc/samba/smb.conf, если нет, то добавить её. Эта настройка отвечает за требование SSL со стороны Samba AD при подключении.
Примечание. В случае если изначально сервер JMS был проинициализирован с отключенным флагом useSsl (useSsl=false, значение по умолчанию), можно произвести повторную инициализацию JMS, предварительно внеся необходимые изменения в файл InitialConfiguration.ini (см. раздел «Подготовительные действия», с. 18 ). Кроме того, параметры подключения к ресурсной системе можно изменить с помощью графической утилиты JMS Web Console (Рис. 56).
Рис. 56 – Изменение параметров подключения к ресурсной системе с помощью графической утилиты JMS Web Console
Настройка SSL в подсистеме JWM
Первоначальная настройка SSL в подсистеме JWM осуществляется с помощью файлов инициализации ее компонентов (подробнее см. раздел «Развёртывание JWM», с. 73). Однако если настройку SSL надо выполнить после инициализации компонентов JWM, выполните следующие шаги.
- Выполните команду:
/opt/jms-web-manager/UserPlace/Configurator/ConfigureService userplace install cert –path <path_to_pfx> --password <password_to_private_key>где –path – путь до экспортированного сертификата в формате PFX
--password – пароль от закрытого ключа
Например:
/opt/jms-web-manager/UserPlace/Configurator/ConfigureService userplace install cert –path /opt/certs/jwmprivate.jms4.local.pfx –password P@ssw0rd!2. Выполните команду:
/opt/jms-web-manager/UserPlace/Configurator/ConfigureService userplace install https -u URL:portНапример:
/opt/jms-web-manager/UserPlace/Configurator/ConfigureService userplace install https -u https://jwmprivate.jms4.local:5870





