http обычная аутентификация - максимально допустимое время пробного использования? - PullRequest
0 голосов
/ 22 августа 2010

Я работаю над разделом входа в систему для нового проекта, для которого определенно требуется аутентификация пользователя.

Я предполагаю, что самый простой способ сделать это - использовать базовую аутентификацию http.Я реализовал это прекрасно на сервере Apache, ssl также был привлечен для обеспечения большей безопасности.

Однако меня беспокоит одно: кажется, что базовая аутентификация не остановится, независимо от того, сколько раз пользователь не смогукажите действительное имя пользователя / пароль.Было бы просто продолжать спрашивать ...

Я считаю, так как каждый раз, когда веб-сервер получает учетные данные, ему нужно пройти через файл паролей, чтобы посмотреть, существует ли совпадение или нет, требуется определенное количестворесурсов сервера.Мой вопрос: может ли это быть угрозой безопасности DoS-атаки со стороны злоумышленников?

Если да, как я могу это остановить?Добавив некоторые настройки / функции на Apache?Или просто переключиться на другой метод аутентификации?Дайджест аутентификации?

Огромное спасибо заранее советам.

Ответы [ 2 ]

2 голосов
/ 22 августа 2010

Обработайте http-аутентификацию самостоятельно, ведите учет количества входов в систему на основе IP-адреса (за определенный промежуток времени), а затем просто верните 401, если достигнуты пределы.

mod_perl 2.0: http://perl.apache.org/docs/2.0/user/handlers/http.html#toc_PerlAuthenHandler

mod_php: http://no.php.net/manual/en/features.http-auth.php

mod_python: http://www.modpython.org/live/mod_python-3.2.8/doc-html/tut-more-complicated.html

1 голос
/ 22 августа 2010

Шаг 1: Прочитайте это: http://en.wikipedia.org/wiki/Denial-of-service_attack#Prevention_and_response

Шаг 2: Реализуйте это. Создайте набор счетчиков, проиндексированных по IP-адресу. Каждый сбой с IP-адреса увеличивает счетчик. Счетчик времени ожидания - в секундах. 10 неудачных попыток означают 10 секунд для ответа 401.

...