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