Перейти к содержимому

6.4.3. eCA-VA

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

Для настройки TLS-соединения eCA-VA c СУБД необходимо в предварительно развернутом и инициализированном eCA-CA создать сертификат с закрытым ключом (PKCS#12) для сервера СУБД. При этом в сертификате сервера СУБД в атрибуте Common Name или в атрибуте Subject Alternative Name типа dNSName обязательно должно быть указано доменное сервера СУБД (или IP-адрес)1, так как eCA-VA аутентифицирует сервер СУБД в режиме “verify-full”, который предполагает проверку соответствия имени узла сервера имени, записанному в сертификате. Для создания сертификата может быть использован шаблон “WEB-Server” (необходимо предварительно создать локальный субъект в eCA-VA, указав ему необходимые атрибуты CN и DNS Name).

Во избежание ошибок в работе eCA-VA перед началом настройки TLS-соединения с СУБД рекомендуется остановить работу eCA-VA путем выполнения команды с правами суперпользователя systemctl stop aeca-va.service.

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

На хосте с установленной и настроенной СУБД отредактируйте файл /var/lib/pgsql/15/data/postgresql.conf (или var/lib/jatoba/4/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-4, если используется СУБД Jatoba).

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

При этом указанный выше файл сертификата корневого издателя из цепочки сертификатов сервера СУБД должен иметь метку доступа “600”, установить которую можно с правами суперпользователя с помощью команды chmod 600 путь_к_файлу. Владельцем файла сертификата корневого издателя из цепочки сертификатов сервера СУБД необходимо назначить пользователя “aeca”, выполнив с правами суперпользователя команду chown aeca:aeca путь_к_файлу. Указанный файл должен располагаться в каталоге, к которому имеет доступ пользователь aeca (например, /tmp). В случае использования ОС РЕД ОС, РОСА “ХРОМ” 12 Сервер и SberLinux OS Server на хосте eCA-VA файл сертификата корневого издателя из цепочки сертификатов сервера СУБД должен располагаться в каталоге /opt/aecaVа (или в его подкаталогах). Кроме того, в случае использования ОС РЕД ОС, РОСА “ХРОМ” 12 Сервер и SberLinux OS Server на хосте eCA-VA необходимо дополнительно выполнить команду restorecon -Rv "путь к файлу сертификата корневого издателя из цепочки сертификатов сервера СУБД".

На хосте eCA-VA примените изменения конфигурационного файла:

  1. Выполните с правами суперпользователя команду bash /opt/aecaVa/scripts/install.sh.

  2. При необходимости (см. описание параметра use_credentials_from_config в разделе Настройка конфигурации программы) введите в диалоге имя и пароль пользователя СУБД.

  3. Выберите Update.

  4. Дождитесь завершения работы скрипта.

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

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

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

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

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

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

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