Я получаю необходимость задержки с точки зрения безопасности, но задержка по умолчанию является довольно раздражающей
Майк Пеннингтон
3
Это было интересно; возможно я напишу модуль, который позволяет N попыток без задержки, за которыми следует любое количество попыток с большой задержкой.
Шон Дж. Гофф,
1
Вместо нового модуля (предложенного в моем предыдущем комментарии) я использовал pam_unixс nodelayпараметром и pam_tally2с deny=5 unlock_time=15; Это позволяет выполнить 5 повторных попыток, но отказывает в доступе (даже при наличии успешного пароля) в течение 15 секунд. Я все еще собираюсь попытаться написать описанную модель, но теперь это задний план, потому что он не подходит, если ваш основной доступ к системе основан на сети, поскольку это делает атаку DOS тривиальной.
Шон Дж. Гофф
1
если вас беспокоит сетевая DoS из-за тайм-аутов, используйте fail2ban ... на самом деле используйте его, даже если вы думаете, что вы в безопасности :-). я использую двухдневный запрет
Майк Пеннингтон,
Ответы:
21
Я предполагаю, что вы используете Linux и PAM. Задержка, вероятно, вызвана pam_faildelay.so. Проверьте свою конфигурацию pam при /etc/pam.dиспользовании pam_faildelay, например:
# Enforce a minimal delay in case of failure (in microseconds).
# (Replaces the `FAIL_DELAY' setting from login.defs)
# Note that other modules may require another minimal delay. (for example,
# to disable any delay, you should add the nodelay option to pam_unix)
auth optional pam_faildelay.so delay=3000000
Чтобы изменить время, настройте параметр задержки. Если вы хотите избавиться от задержки, вы можете удалить / прокомментировать всю строку.
Другим источником задержки может быть pam_unix.so. Чтобы отключить задержку, вызванную pam_unix.soдобавлением nodelayпараметра, и при необходимости добавить строку, вызывающую pam_faildelay.soдобавление (переменной) задержки, например:
Там нет упоминания о задержке в любом месте /etc/pam.d/*. Самое близкое, что я вижу, это то, pam_tally.soчто позволяет блокировать после некоторого количества попыток. Но у меня есть n /etc/login.defs, что может быть тем, что мне нужно.
Шон Дж. Гофф,
@ ShawnJ.Goff pam_tally.soне вызывает задержку, насколько я знаю. Другой источник для dealy может быть pam_unix.so- вы можете отключить его с помощью nodelayопции - см. Linux.die.net/man/8/pam_unix для получения более подробной информации
Ульрих Дангел
1
Добавление nodelayопции pam_unix.soи добавление новой записи pam_faildelay.so delay=$some_numberпозволяет мне установить все, что я хочу. Благодарность!
Шон Дж. Гофф
2
Запустив fedora 23, мне пришлось отключить pam_unix.soзадержку и начать использовать ее, pam_faildelay.soкак говорит @ ShawnJ.Goff. Тем не менее, большинство pam.dконфигураций имеют « Этот файл генерируется автоматически. Изменения пользователя будут уничтожены при следующем запуске authconfig». Так где я могу постоянно настроить задержку?
jozxyqk
11
Вам нужно передать nodelayпараметр в authpam_unix.so.
В зависимости от того, как ваша аутентификация, где вам нужно установить параметр, варьируется. Однако в большинстве дистрибутивов Linux есть что-то вроде того, /etc/pam.d/system-authчто включено во все разные файлы.
Так, например, у /etc/pam.d/system-authвас может быть строка, которая выглядит следующим образом:
pam_unix.soМодуль , что выполняет аутентификацию против /etc/passwdи /etc/shadow. Если Youre использованием LDAP или какой - либо другой пароль бэкенд, вы , вероятно , все равно должны быть установки nodelayна pam_unix.soтак это то , что управляет подсказка (если pam_unix.soне в AUTH, он обычно просто передает пароль , полученный он к следующему модулю).
Вы можете узнать больше о pam_unix.so, делаяman pam_unix
pam_unix
сnodelay
параметром иpam_tally2
сdeny=5 unlock_time=15
; Это позволяет выполнить 5 повторных попыток, но отказывает в доступе (даже при наличии успешного пароля) в течение 15 секунд. Я все еще собираюсь попытаться написать описанную модель, но теперь это задний план, потому что он не подходит, если ваш основной доступ к системе основан на сети, поскольку это делает атаку DOS тривиальной.Ответы:
Я предполагаю, что вы используете Linux и PAM. Задержка, вероятно, вызвана
pam_faildelay.so
. Проверьте свою конфигурацию pam при/etc/pam.d
использованииpam_faildelay
, например:Чтобы изменить время, настройте параметр задержки. Если вы хотите избавиться от задержки, вы можете удалить / прокомментировать всю строку.
Другим источником задержки может быть
pam_unix.so
. Чтобы отключить задержку, вызваннуюpam_unix.so
добавлениемnodelay
параметра, и при необходимости добавить строку, вызывающуюpam_faildelay.so
добавление (переменной) задержки, например:источник
/etc/pam.d/*
. Самое близкое, что я вижу, это то,pam_tally.so
что позволяет блокировать после некоторого количества попыток. Но у меня есть n/etc/login.defs
, что может быть тем, что мне нужно.pam_tally.so
не вызывает задержку, насколько я знаю. Другой источник для dealy может бытьpam_unix.so
- вы можете отключить его с помощьюnodelay
опции - см. Linux.die.net/man/8/pam_unix для получения более подробной информацииnodelay
опцииpam_unix.so
и добавление новой записиpam_faildelay.so delay=$some_number
позволяет мне установить все, что я хочу. Благодарность!pam_unix.so
задержку и начать использовать ее,pam_faildelay.so
как говорит @ ShawnJ.Goff. Тем не менее, большинствоpam.d
конфигураций имеют « Этот файл генерируется автоматически. Изменения пользователя будут уничтожены при следующем запуске authconfig». Так где я могу постоянно настроить задержку?Вам нужно передать
nodelay
параметр вauth
pam_unix.so
.В зависимости от того, как ваша аутентификация, где вам нужно установить параметр, варьируется. Однако в большинстве дистрибутивов Linux есть что-то вроде того,
/etc/pam.d/system-auth
что включено во все разные файлы.Так, например, у
/etc/pam.d/system-auth
вас может быть строка, которая выглядит следующим образом:Это должно быть изменено на:
pam_unix.so
Модуль , что выполняет аутентификацию против/etc/passwd
и/etc/shadow
. Если Youre использованием LDAP или какой - либо другой пароль бэкенд, вы , вероятно , все равно должны быть установкиnodelay
наpam_unix.so
так это то , что управляет подсказка (еслиpam_unix.so
не в AUTH, он обычно просто передает пароль , полученный он к следующему модулю).Вы можете узнать больше о
pam_unix.so
, делаяman pam_unix
источник
system-auth
не существовало; это было/etc/common-auth
. Благодарность!