Files
Ubuntu_docs/PostgreSQL_credcheck.md
Igor I 5bf274751f +
2025-02-21 12:59:15 +05:00

2.6 KiB
Raw Blame History


Установка и настройка проверялщика паролей credcheck PostgreSQL https://www.postgresql.org/about/news/credcheck-v200-released-2654/

Подключаемся к инфраструктуре потом подключаюсь к нужной машине:

ssh ivanov.i@10.201.1.6 -p 22
ssh administrator@10.201.1.6 -p 22

Тестовая база

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();

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