В течение нескольких месяцев мы замечали попытки атак грубой силой на нашем сайте.
Злоумышленник запускает несколько попыток входа в систему с широкого диапазона IP-адресов (возможно, из ботнета) и нескольких имен пользователей и паролей. Некоторые из имен пользователей не существует в нашей базе данных, некоторые другие да. Поэтому я предполагаю, что они пытаются использовать известные почтовые учетные записи.
Нам нужно предотвращать эти атаки, поскольку наш сервер баз данных увеличивает загрузку ЦП.
Итак, наши варианты (после прочтения других ответов):
- Блокировка учетных записей после Х числа неудачных попыток входа в систему
- Добавление капчи после X числа неудачных попыток входа в систему
- Блокировка IP-адресов
Тем не менее, я думаю, что эти опции не решат проблему, поскольку они пытаются использовать несколько имен пользователей и IP-адресов.
Наш стек - это сервер Debian с Apache и PHP.
Есть ли эффективный способ избежать этого?