Модули/TLS и безопасность/Генерация сертификатов
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/ssl

2. Генерация 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

Пройдите викторину

Для завершения урока необходимо пройти викторину