Модули/TLS и безопасность/Аутентификация
5

Аутентификация

scram-sha-256, LDAP, сертификаты, trust vs reject

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

Теория

PostgreSQL поддерживает несколько методов аутентификации: trust, reject, md5, scram-sha-256, certificate, ldap, radius.

scram-sha-256 — рекомендуемый метод, более безопасный чем md5.

certificate — аутентификация по SSL-сертификату клиента.

trust — разрешить подключение без пароля (только для разработки!).

Практика

1. Настройка scram-sha-256

Убедитесь, что используется scram-sha-256:

Настройка scram-sha-256
Команда
sudo grep scram-sha-256 /etc/postgresql/16/main/pg_hba.conf
Вывод:
host    all             all             127.0.0.1/32            scram-sha-256
host    all             all             ::1/128                 scram-sha-256

2. Настройка аутентификации по сертификату

Добавьте запись для клиентской сертификатной аутентификации:

Настройка аутентификации по сертификату
Команда
echo 'hostssl all all 0.0.0.0/0 cert' | sudo tee -a /etc/postgresql/16/main/pg_hba.conf
Вывод:
hostssl all             all             0.0.0.0/0       cert

3. Создание пользователя с паролем

Создайте пользователя с безопасным паролем:

Создание пользователя с паролем
Команда
sudo -u postgres psql -c "CREATE USER app_user WITH PASSWORD 'StrongP@ssw0rd';"
Вывод:
CREATE ROLE

Проверка

Проверьте, что пользователь создан:

Проверка
Команда
sudo -u postgres psql -c "SELECT usename FROM pg_user WHERE usename = 'app_user';"
Вывод:
 usename  
----------
 app_user

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

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