Files
Ubuntu_docs/PostgreSQL/PostgreSQL_credcheck.md
2025-05-15 09:04:57 +05:00

2.4 KiB
Raw Blame History


Установка и настройка проверяльщик паролей 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();

Для приложений нужно изменить политику паролей (менять не автоматически а по расписанию у администратора):