В системе управления сайтом RK-CMS мы, конечно же, позаботились о безопасности. Одна из главных угроз для любого сайта - это брутфорс. Если просто, это когда злоумышленник (или бот) пытается угадать ваш логин и пароль, перебирая тысячи вариантов, чтобы взломать аккаунт.
Мы сделали защиту, которая блокирует такие попытки. Сейчас расскажу, как это работает и почему мы выбрали именно такой путь.
Как это выглядит для обычного человека?
Всё просто. Вы заходите на сайт и пытаетесь войти в админ-панель или личный кабинет.
Если вы несколько раз подряд ошиблись с паролем (например, 5 раз), мы на время запрещаем вам пытаться снова.
Это не навсегда. Подождите немного (например, 15 минут), и можно будет попробовать еще раз. Это нужно, чтобы остановить программу, которая перебирает пароли с огромной скоростью.
В чем наша фишка: Смотрим на IP и на пользователя
Многие системы защиты грешат тем, что следят только за пользователем.
Логика у них такая: "Если кто-то 5 раз ошибся при вводе пароля для пользователя admin, давайте заблокируем пользователя admin".
Звучит логично, но на деле это ловушка.
Почему блокировать только по пользователю - это плохо?
Представьте, что злоумышленник знает ваш логин (а его часто легко узнать). Он не пытается вас взломать, он пытается вас заблокировать.
Он специально идет на страницу входа и 5 раз вводит ваш логин с заведомо неправильным паролем.
Система видит ошибки и блокирует вашу учетную запись.
Итог: Вы, настоящий владелец, приходите на сайт, вводите правильный пароль, но войти не можете! Вас заблокировали без вашей вины. Злоумышленник может делать так хоть каждый день, и вы вообще никогда не попадете на свой сайт. Это называется DoS-атака (атака типа "отказ в обслуживании").
Наше решение: Двойная защита
В RK-CMS мы подошли к вопросу умнее. Наша система запоминает не только кого пытаются взломать, но и откуда стучатся.
Блокировка по IP-адресу. Мы смотрим на адрес компьютера (IP), с которого идут попытки входа. Если с одного и того же IP пытаются подобрать пароли к разным пользователям или к одному и тому же - мы блокируем именно этот IP. Вору закрывают вход, но вы со своего домашнего или рабочего компьютера спокойно заходите.
Связка Логин + IP. Если кто-то вводит конкретный логин и ошибается, мы запоминаем, что этот логин пытались взломать именно с этого IP. Это позволяет точно вычислять атакующих.
В чем выгода?
Вы не можете пострадать из-за того, что какой-то хулиган решил "потроллить" вас и ввести ваш логин с неправильным паролем. Даже если он попытается вас заблокировать, мы увидим, что атака идет с его компьютера, и заблокируем его, а не вас.
Таким образом, защита от брутфорса в RK-CMS работает на двух уровнях, обеспечивая не только безопасность от взлома, но и стабильность доступа для настоящего владельца сайта.