Во-первых, ограничение скорости на странице входа на IP-адрес.Используйте страницу invisible captcha system на странице входа. Затем вы должны установить ограничения на доступ к каждому IP-адресу, но вы также должны установить ограничения для пользователей на пользователя в качестве последнего средства для остановки бот-сетей от принудительного принудительного извлечения нескольких IP-адресов. Отправьте электронное письмо пользователю, если обнаружена попытка перебора пароля. Не отправляйте полчища повторных сообщений электронной почты, если кто-то пытается из нескольких разных IP-адресов. Ботнет мог бы сделать серьезное спам в противном случае и, что еще хуже, вызвать важное сообщение в папке со спамом. Не забудьте упомянуть, что они могут захотеть изменить свой пароль и/или повысить его прочность.
Если вы включили лимиты входа в IP, сделайте лимиты высокими. Много мест используют три удара, и вы ушли. Это орехи и недружелюбие пользователя. Это должно быть не менее десяти или более реалистично, и когда вы нажмете на него, вы должны получить запрет, основанный на времени, а не запрет «Позвонить в службу поддержки клиентов». Никто не собирается перебирать пароль в десяти попытках. Поэтому я рекомендую лимит входа для каждого IP-адреса 10 и лимит входа для каждого пользователя в диапазоне от 1000 до 10 000 (достаточно высокий, чтобы помешать атакам типа «отказ в обслуживании»), но достаточно низкий, чтобы ботнет вряд ли взломал пароль еще) , У вас должна быть некоторая форма оповещения для пейджера sysadmin/on-call, на котором работает бот-сеть, которая срабатывает задолго до того, как вы нажмете этот порог. (Держите подсчет неудачных логинов для всех пользователей и отдельных пользователей, выполняйте скользящее среднее значение и предупреждайте, если он пересекает любой порог. Помните, что если у кого-то есть достаточно большой список пользователей, вероятность успеха для хотя бы одной учетной записи на всем протяжении база пользователей примерно такая же, как вероятность успеха, атакуя только одну учетную запись.)
Блокировка очевидных злоумышленников на брандмауэре. Истекает через некоторое время. Обязательно сделайте это так, чтобы поддержка клиентов могла кто-то убить, но убедитесь, что запрет каким-то образом связан с преступлением. Вы не должны уклоняться от того, кто пытался сломать двадцать разных пользователей или что-то в этом роде. Разумеется, здесь суждение, потому что сценаристы-детишки с членами семьи, не состоящими в браке, и бабушки, которые были захвачены ботнетами, наверняка сумеют получить IP-запрет.
Если у вас действительно есть время, чтобы сделать все это, у вас будет первоклассная форма входа. Я сомневаюсь, что вам это нужно.
«За IP» является ключевым здесь. Без этого вы ввели тривиальную атаку отказа в обслуживании пользователей. –
есть также devise: http://github.com/plataformatec/devise/ – Mike
Ссылка на аутлогию неверна. Должно быть http://github.com/binarylogic/authlogic – Jim