2
Генерация сертификатов
Создание CA, серверных и клиентских сертификатов через openssl
40 минУрок 2 из 7
Прогресс0%
Теория
Для настройки TLS необходимы три типа сертификатов: CA (Certificate Authority), серверный и клиентский.
CA-сертификат — корневой сертификат, którym подписываются все остальные.
Сертификат сервера подтверждает подлинность PostgreSQL-сервера.
Клиентский сертификат используется для аутентификации клиентов (опционально).
Практика
1. Создание директории для сертификатов
Создайте директорию для хранения сертификатов:
Создание директории для сертификатов
Команда
sudo mkdir -p /etc/postgresql/ssl && sudo chown postgres:postgres /etc/postgresql/ssl2. Генерация CA-сертификата
Создайте корневой сертификат Certificate Authority:
Генерация CA-сертификата
Команда
cd /etc/postgresql/ssl && sudo -u postgres openssl genrsa -out ca.key 2048 && sudo -u postgres openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -subj "/CN=PostgreSQL CA"Вывод:
Generating RSA private key, 2048 bit long modulus ...+ ...+ ......+++++ .....+++++
3. Генерация серверного сертификата
Создайте сертификат для PostgreSQL-сервера:
Генерация серверного сертификата
Команда
cd /etc/postgresql/ssl && sudo -u postgres openssl genrsa -out server.key 2048 && sudo -u postgres openssl req -new -key server.key -out server.csr -subj "/CN=postgres" && sudo -u postgres openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 3650Вывод:
Signature ok subject=CN = postgres Getting CA Private Key
Проверка
Проверьте созданные файлы:
Проверка
Команда
ls -la /etc/postgresql/ssl/Вывод:
total 20 drwxr-xr-x 2 postgres postgres 4096 ... -rw-r--r-- 1 postgres postgres 1220 ... ca.crt -rw-r--r-- 1 postgres postgres 1679 ... ca.key -rw-r--r-- 1 postgres postgres 1119 ... server.crt -rw-r--r-- 1 postgres postgres 1679 ... server.key