Настройка подключения к PostgreSQL по TLS
Чтобы PassOffice использовал защищённое соединение с базой данных (TLS/SSL), выполните следующие шаги:
1. Настройка подключения в PassOffice
В файле application.properties укажите параметр ssl=true&sslmode=require.
Полная строка подключения должна выглядеть так:
app.db.url=${SPRING_DATASOURCE_URL:jdbc:postgresql://${passoffice.db.host}:${passoffice.db.port}/${passoffice.db.name}?targetServerType=master&ssl=true&sslmode=require}
- ssl=true — включает шифрование соединения
- sslmode=require — требует обязательного использования TLS (не допускает незащищённое соединение)
2. Настройка сервера PostgreSQL
Откройте файл postgresql.conf на сервере PostgreSQL и добавьте/измените следующие строки:
ssl = on
ssl_cert_file = 'server.crt' # путь к сертификату сервера
ssl_key_file = 'server.key' # путь к приватному ключу
ssl_ca_file = 'root.crt' # опционально, для клиентской аутентификации
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # настройки шифрования
3. Дополнительно для Docker
Если PostgreSQL запущен в Docker-контейнере, после монтирования файлов сертификатов выполните команду внутри контейнера:
chmod 600 /путь/к/server.key