Перейти к содержимому
Аладдин Р.Д.

9.4. Настройка TLS-соединения с СУБД

Aladdin Enterprise CAИнтеграцииAladdin Enterprise CA

Процедура одинакова для всех компонентов (eCA-CA, eCA-RA, eCA-VA). Компонент-зависимые значения: в тексте используется плейсхолдер <COMP>, значения — в таблице.

КомпонентПлейсхолдер <COMP>Служебные каталоги
eCA-CAaecaCa/opt/aecaCa/
eCA-RAaecaRa/opt/aecaRa/
eCA-VAaecaVa/opt/aecaVa/

Для настройки TLS-соединения компонента с СУБД необходимо:

Настройка на хосте СУБД не зависит от компонента.

На хосте с установленной и настроенной СУБД отредактируйте файл /var/lib/pgsql/15/data/postgresql.conf (или /var/lib/jatoba/[версия]/data/postgresql.conf, если используется СУБД Jatoba)2, указав:

  • в параметре “ssl” значение “on”;

  • в параметре “ssl_cert_file” абсолютный путь к файлу сертификата сервера СУБД3;

  • в параметре “ssl_key_file” абсолютный путь к файлу закрытого ключа сервера СУБД4;

  • в параметре “ssl_ca_file” абсолютный путь к файлу цепочки сертификатов издателя сертификата СУБД5.

Указанные выше файлы должны иметь метку доступа “600”, установить которую можно с правами суперпользователя с помощью команды chmod 600 путь_к_файлу для каждого файла.

Владельцем всех указанных выше файлов необходимо назначить пользователя “postgres”, выполнив с правами суперпользователя команду chown postgres:postgres путь_к_файлу для всех перечисленных файлов.

Указанные файлы должны располагаться в каталоге, к которому имеет доступ пользователь postgres (например, /tmp). В случае использования ОС РЕД ОС, РОСА “ХРОМ” 12 Сервер или SberLinux OS Server на хосте СУБД указанные выше файлы должны располагаться в каталоге /var/lib/pgsql (или /var/lib/jatoba, если используется СУБД Jatoba). При этом указанные выше файлы должны быть скопированы в нужный каталог, а не перемещены.

Пример значений отредактированных параметров конфигурационного файла СУБД postgresql.conf:

# - SSL -
ssl = on
ssl_cert_file = '/tmp/cert.pem'
ssl_key_file = '/tmp/key.key'
ssl_ca_file = '/tmp/chain.pem'

На хосте СУБД перезапустите СУБД, выполнив с правами суперпользователя команду systemctl restart postgresql (или systemctl restart jatoba-[версия], если используется СУБД Jatoba).

На хосте компонента отредактируйте конфигурационный файл /opt/<COMP>/scripts/config.sh, указав в параметре конфигурации БД use_tls значение true, а в параметре root_cert_path — абсолютный путь к файлу сертификата корневого издателя из цепочки сертификатов сервера СУБД6.

Указанный файл сертификата корневого издателя должен иметь метку доступа “600” (chmod 600 путь_к_файлу).

Владельцем файла необходимо назначить пользователя “aeca” (chown aeca:aeca путь_к_файлу).

Указанный файл должен располагаться в каталоге, к которому имеет доступ пользователь aeca (например, /tmp). В случае использования ОС РЕД ОС, РОСА “ХРОМ” 12 Сервер или SberLinux OS Server на хосте компонента файл сертификата корневого издателя должен располагаться в каталоге /opt/<COMP> (или в его подкаталогах).

Кроме того, в случае использования ОС РЕД ОС, РОСА “ХРОМ” 12 Сервер или SberLinux OS Server на хосте компонента необходимо дополнительно выполнить команду restorecon -Rv "путь к файлу сертификата корневого издателя".

Примените изменения конфигурационного файла путём выполнения с правами суперпользователя команды bash /opt/<COMP>/scripts/install.sh и дальнейшего выбора действия “[Update]”.

По завершении выполнения указанной команды дальнейший обмен данными компонента с СУБД будет осуществляться только по протоколу TLS. Если в СУБД, к которой выполняется подключение, отключён TLS, компонент не будет выполнять обмен данными с такой СУБД. При этом компонент сможет установить соединение с СУБД только в случае, если её сертификат издан издателем, путь к сертификату которого указан в конфигурационном файле, и только в случае, если имя хоста сервера СУБД соответствует указанному в сертификате.

  1. Указанное в сертификате доменное имя сервера СУБД (или IP-адрес) должно соответствовать значению параметра database_host конфигурационного файла компонента.

  2. Путь к файлу может отличаться в зависимости от версии PostgreSQL или Jatoba.

  3. Файл сертификата сервера СУБД может быть скачан из пользовательского интерфейса компонента. Например, в карточке локального субъекта сервера СУБД.

  4. Файл закрытого ключа сервера СУБД может быть получен из контейнера закрытого ключа сервера СУБД путём выполнения команды openssl pkcs12 -in container.p12 -out key.key -nocerts -nodes, где container.p12 — путь к контейнеру закрытого ключа сервера СУБД, а key.key — путь к файлу для сохранения закрытого ключа.

  5. Файл цепочки сертификатов издателя сертификата СУБД может быть скачан в карточке Центра сертификации, выпустившего сертификат сервера СУБД.

  6. Если сертификат сервера СУБД выпущен подчинённым Центром сертификации, необходимо указать путь до сертификата корневого Центра сертификации.