auth_delay
Задержка в процессе проверки подлинности.
Схема размещения: не используется.
В случае ошибки аутентификации модуль
auth_delay
на время останавливает сервер перед тем, как сообщить о проблеме. Задержка может усложнить подбор паролей к базам данных, но не будет препятствовать атакам, вызывающим «отказ в обслуживании», так как процессы, ожидающие сообщения об ошибке, занимают слоты подключения.Для работы функции модуль нужно загрузить посредством параметра конфигурации
shared_preload_libraries
в postgresql.conf
.Параметр конфигурации
auth_delay.milliseconds (int)
соответствует периоду ожидания сообщения об ошибке (в миллисекундах). По умолчанию задан 0
.Настройка длительности задержки выполняется при помощи параметра
auth_delay.milliseconds
, значение которого устанавливается в миллисекундах. Пример для настройки задержки в 1 секунду:auth_delay.milliseconds = '1000'
В качестве примера установите время задержки 10 секунд:
auth_delay.milliseconds = '10000'
Примените параметры базы данных и проверьте текущее значение параметра:
test_db=> show auth_delay.milliseconds ; auth_delay.milliseconds ------------------------- 10s (1 row)
Выполните попытку подключения к базе данных с неверным паролем пользователя:
psql -d test_db -U alice Password for user alice:
При вводе неверного пароля через 10 секунд будет получено сообщение об ошибке аутентификации:
psql: error: FATAL: password authentication failed for user "alice" FATAL: password authentication failed for user "alice"
В журнал СУБД сообщение о задержке не выводится.
Дополнительную информацию по поставляемому модулю auth_delay можно получить по ссылке.