[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация и защитой от переборки паролей
ApuktaChehov
Здравствуйте уважаемые!

Нужно было написать скрипт авторизации пользователя с защитой от переборки паролей.
У меня есть пара мыслей.

Принцип скрипта такой:
1) В самом начале, скрипт, сразу же проверяет, не заблокирован ли, ip с которого подключается пользователь. Если IP не заблокирован - выводится форма. А если заблокирован - выводится соответствующее сообщение с остановкой работы скрипта (exit;).

2) После ввода пароля таким же образом проверяется пользователь, под которым пытаются войти в систему.

3) Если пользователь не заблокирован, проверяется пароль и логин на соответствие существующим.

4) Если авторизация прошла успешно, что то происходит, в противном случае, выдается сообщение об обратном.

Теперь самое интересное. Предположим, злоумышленник пытается подобрать пароль к одному из пользователей. Скрипт после 5 попыток блокирует и пользователя, под которым пытается подключиться хакер и его ip адрес. Что бы хакер сменив IP не пытался дальше подбирать пароль к этому пользователю.
А если хакер с помощью проксей меняет свой IP. В этом случае, после 5 попыток заблокируется пользователь под которым он пытается войти в систему с разных IP.

Рабочий скрипт я уже написал. Хотелось бы услышать Ваши мысли по поводу подобной штуки.



Спустя 8 минут, 39 секунд (8.05.2009 - 15:58) jetistyum написал(а):
1. Какой грандиозный проект ты пишешь, что предполагаешь такую серьезную систему безопасности.
2. КАПТЧА портит всю автоматизацию... берешь делаешь сложную каптчу.. и вперед.. ввел два раза неправильно - показываешь каптчу для всех попыток войти в этот аккаунт с разных ip адресов.
3. Ну допустим все это оправдано, в случае многократного неправильного перебора паролей ты можешь вообще блокировать учетную запись пользователя, и высылать ему на e-mail ссылку для разблокирования, сообщая об этом.. например после 200 неудачных попыток войти в аккаунт можно блокировать авторизацию, и разблокировать ее только по ссылке с ключом.... ссылку высылаешь на email указанный при регистрации... и все.. пока не нажмешь, даже правильный пароль не подойдет...
4. Повышать требование к длинне и сложности пароля - например пароль должен быть не менее 6 символов длинны, и содержать в себе символы верхнего и нижнего регистра. Авторизацию проводить только по HTTPS .. иначе вся секьюрность накрывается ...

Спустя 2 минуты, 20 секунд (8.05.2009 - 16:00) FatCat написал(а):
На этом форуме уже реализовано независимо от проблемы переборки паролей: защита от перегрузки.
Принципы:
1. Поисковые боты по юзерагенту выводятся из-под удара.
2. Сессия по кукам, если нет куков, то по айпишнику.
3. Если в куках авторизованный пользователь - выводится из-под удара.
4. Меряется интервал времени между запросами страниц. Если меньше заданного: счетчик нагрузки в сессии увеличивается на единичку, вместо запрошенной странички отдается предупреждение о недопустимости двойных кликов.
5. По набору критической величины счетчика нагрузки, айпишник блокируется через .htaccess
6. Авторазблокировка через заданный интервал времени, здесь через 240 часов.

Спустя 4 минуты, 21 секунда (8.05.2009 - 16:04) ApuktaChehov написал(а):
Это не публичный проект. Это корпоративный замысел. Необходима приличная степень защищенности.

Блокировка через .htaccess! Гениально, об этом то я и не подумал. Я делал ее с помощью php.

Благодарю!

Спустя 2 дня, 16 часов, 55 минут, 6 секунд (11.05.2009 - 08:59) glock18 написал(а):
Достаточно распространенный и, в общем, действенный способ защиты. Блокировка ip адреса имеет один минус.

к примеру, есть такие уязвимости:
1. получение личных данных пользователя (вышеуказанный пример).
2. блокировка доступа пользователей к ресурсу.

Блокировка ip адреса как раз раскрывает возможность для второй уязвимости.

Я бы попытался найти что-нибудь менее радикальное и не менее действенное. Но пока затрудняюсь что именно.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.