2.4 KiB
Установка и настройка проверяльщик паролей credcheck PostgreSQL https://www.postgresql.org/about/news/credcheck-v200-released-2654/
Тестовая база
ssh administrator@10.201.3.36 -p 22
Похоже в официальном репозитории нет credcheck, так что если будем искать то не найдём:
apt search credcheck
Поэтому устанавливаем из репозиториев (компилируем на тестовой машине потом устанавливаем на продакшен):
sudo apt-get install postgresql-server-dev-16 &&
sudo apt-get install build-essential &&
git clone https://github.com/HexaCluster/credcheck.git &&
cd credcheck &&
make &&
sudo make install
Подключаемся к базе данных для выполнения запросов
psql -h 127.0.0.1 -U postgres -d transit
Проверяем что настройки имеются:
SELECT name, setting, unit, source, sourcefile, sourceline
FROM pg_settings
WHERE name LIKE 'credcheck%';
Читаем текущие настройки
SHOW ALL;
Создаём расширение в базе postgres:
CREATE EXTENSION credcheck;
Теперь можно настроить расширение по https://tembo.io/docs/getting-started/postgres_guides/extensions/credcheck: -- Configure credential policies to enforce username and password standards and reload configuration files ALTER SYSTEM SET credcheck.username_min_length = 4; ALTER SYSTEM SET credcheck.password_min_length = 8; ALTER SYSTEM SET credcheck.password_min_special = 1; SELECT pg_reload_conf();
-- Attempt to create a user for a new park ranger, which does not meet the credential policies
CREATE USER ranger_ WITH PASSWORD 'forest';
ERROR: password length should match the configured credcheck.password_min_length
Для пароля установить: ALTER SYSTEM SET credcheck.password_expiration_days = 90; SELECT pg_reload_conf();
Для приложений нужно изменить политику паролей (менять не автоматически а по расписанию у администратора):