Модули/TLS и безопасность/Итоговое задание
7

Итоговое задание

Полная настройка безопасности кластера

40 минУрок 7 из 7
Прогресс0%

Теория

В этом задании вы настроите полную безопасность кластера PostgreSQL.

Включите SSL для всех соединений.

Настройте аутентификацию по сертификатам для репликации.

Проведите аудит безопасности и задокументируйте настройки.

Практика

1. Генерация сертификатов для кластера

Создайте полный набор сертификатов:

Генерация сертификатов для кластера
Команда
cd /etc/postgresql/ssl && sudo -u postgres bash -c ' openssl genrsa -out ca.key 2048 openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -subj "/CN=Cluster CA" openssl genrsa -out server.key 2048 openssl req -new -key server.key -out server.csr -subj "/CN=master" openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 3650 '
Вывод:
Generating RSA private key, 2048 bit long modulus
...

2. Настройка pg_hba.conf

Настройте аутентификацию для всех сценариев:

Настройка pg_hba.conf
Команда
sudo tee /etc/postgresql/16/main/pg_hba.conf << 'EOF' # TYPE DATABASE USER ADDRESS METHOD local all postgres peer local all all peer hostssl all all 0.0.0.0/0 scram-sha-256 hostssl all all ::1/128 scram-sha-256 hostssl replication replicator 0.0.0.0/0 cert EOF

Проверка

Финальная проверка: протестируйте SSL-подключение:

Проверка
Команда
psql "host=127.0.0.1 dbname=postgres user=postgres sslmode=verify-ca sslrootcert=/etc/postgresql/ssl/ca.crt" -c "SELECT ssl_is_used(), current_user;"
Вывод:
 ssl_is_used | current_user 
-------------+--------------
 t           | postgres

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

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