Открытая админка сайта — это не удобство, а приглашение для ботов
Защита от brute force атак — пункт, который владельцы сайтов откладывают дольше всех. Логика железная: страница входа в админку работает? Работает. Значит, всё в порядке. А то, что на неё круглосуточно ломятся боты, никого не волнует, пока сайт вдруг не начинает рассылать спам или открывать казино вместо прайс-листа.
Брутфорс — это подбор пароля перебором. Скрипт пробует пару «логин–пароль», получает отказ, пробует следующую. Тысячи раз. Без выходных, без кофе, без выгорания. Если на странице входа нет ограничения попыток, вопрос не в том, подберут ли пароль. Вопрос — когда.
Боту всё равно, насколько важен ваш сайт. Ему важно только, что дверь не заперта.
Это происходит прямо сейчас
WordPress по умолчанию не ограничивает число попыток входа. Вообще. Пока администратор отдельно не настроит защиту, страница принимает сколько угодно попыток подряд.
Для автоматического сканера это не преграда, а приглашение с красной дорожкой. Такие боты не выбирают жертв вручную. Они идут по списку адресов и проверяют всё подряд. Ваша страница /wp-admin или /admin — просто строчка в этом списке. Неважно, интернет-магазин у вас или сайт районной химчистки.
Как бот подбирает пароль
Кино врёт: никто не перебирает «ааааа, ааааб, ааааав». Боты работают по словарям. Самые популярные пароли. Название компании плюс год. Домен плюс «123». Пароли из старых утечек, которые люди годами носят с сайта на сайт.
А теперь любимое. Логин администратора — «admin». Серьёзно? Тогда вы только что подарили атакующему половину задачи. Ему остаётся угадать пароль. Смена логина на уникальный заставляет бота сначала гадать ещё и имя пользователя, а это резко усложняет перебор.
Логин «admin» — это не логин. Это подсказка для взломщика.
Ограничение попыток: обязательный минимум
Самое прямое лекарство — ограничить число попыток и блокировать IP-адрес после нескольких неудач подряд. Типовая практика — блокировка после 3–5 неудачных входов. Дальше либо временная пауза, либо бан адреса на более долгий срок. На уровне сервера то же самое делает fail2ban: читает логи и закрывает настойчивых гостей.
Теоретически взлом всё ещё возможен. Практически перебор из задачи на одну ночь превращается в задачу на годы. Бот вздыхает (фигурально) и уходит к соседнему сайту, где лимита нет. Таких, увы, всегда хватает.
Двухфакторная аутентификация: если пароль всё же узнали
Даже хороший пароль утекает. Не через перебор — через чужую базу, если человек использует его ещё где-нибудь. Второй фактор, код из приложения или SMS, делает украденный пароль бесполезным: без кода в админку не войти.
Если в админке лежат данные клиентов, заказы или настройки оплаты, 2FA для администраторов — не паранойя. Это разумный минимум. Пароль в одиночку давно перестал быть надёжной стеной.
Нестандартный адрес и белый список IP
Адреса /wp-admin, /administrator, /bitrix/admin знает каждый сканер — это значения по умолчанию. Перенос страницы входа на нестандартный путь не заменяет защиту, но срезает массовый мусорный трафик. Ботам лень подбирать индивидуальный адрес для каждого сайта.
Ещё сильнее — пускать к странице входа только с известных адресов, например офисных. Тогда для остального интернета перебирать просто нечего. Двери нет — стучать некуда.
Таблица: что даёт каждая мера
| Мера | Что останавливает | Чего не закрывает |
|---|---|---|
| Лимит попыток и блокировка IP | Перебор с одного адреса | Распределённую атаку с тысяч адресов |
| Уникальный логин вместо «admin» | Словарные атаки с известным логином | Направленный подбор, если логин уже узнали |
| Двухфакторная аутентификация | Вход по угаданному или украденному паролю | Сами попытки, но делает их бессмысленными |
| Нестандартный адрес входа | Массовые сканеры по умолчанию | Направленную атаку, где адрес выяснили |
| Доступ к админке по белому списку IP | Любой перебор с чужих адресов | Сотрудников с плавающими адресами без корпоративного доступа |
Ни одна строка не спасает в одиночку. Работает только связка.
Пароли администраторов: не стикер и не блокнот
Отдельная песня — где живут пароли от админки. Стикер на мониторе. Файл «пароли.txt» на рабочем столе. Чат с подрядчиком, где пароль прислали открытым текстом три года назад и он с тех пор не менялся.
Правила простые. У каждого администратора свой пароль, не общий на отдел. Пароль длинный, уникальный и больше нигде не используется. Хранится в менеджере паролей, а не в переписке. При уходе сотрудника или подрядчика его учётная запись отключается в тот же день, а не «когда руки дойдут».
Общий пароль на всех — это когда виноват никто, а взломали всех.
Распределённый перебор: когда бан по IP не помогает
Блокировка по адресу хороша против одиночки. Против ботнета — сети из сотен и тысяч заражённых устройств — она почти бессильна. Каждое устройство делает пару попыток и не дотягивает до порога. А суммарно на ваш сайт сыплются тысячи.
Тут нужны другие инструменты: анализ поведения запросов, капча после нескольких неудач независимо от источника, репутационные списки адресов, уже засветившихся в атаках на другие сайты. И, конечно, второй фактор — он плевать хотел, с какого IP пришёл украденный пароль.
Сценарий: три недели тихого перебора
Сайт компании услуг начинает тормозить по вечерам. Хостинг поднимает логи: тысячи запросов к странице входа с разных адресов, растянутых на несколько недель. Классический распределённый перебор.
Пароль администратора был из тех, что живут в словарях. В какой-то момент подбор срабатывает. Атакующий не ломает витрину и не рисует черепа на главной. Он умнее. Несколько недель доступ используется тихо — для рассылки спама через почтовые функции сервера. Владелец узнаёт обо всём от хостинга, который грозит заблокировать аккаунт за массовую рассылку.
Сайт работал. Заявки шли. А сервер всё это время трудился на чужой бизнес. Бесплатно.
Сценарий: семь администраторов на один сайт
Другая типичная картина. Небольшая компания, сайт на CMS. Открываем список пользователей — семь учётных записей с правами администратора. Директор. Маркетолог. Бывший маркетолог. Студия, которая делала сайт четыре года назад. Фрилансер, который однажды «поправил форму». Контент-менеджер. И некто «test».
Половина этих людей давно ни при чём. Пароли у них не менялись с момента создания. Второго фактора нет ни у кого. Каждая такая запись — отдельная дверь для перебора, и достаточно, чтобы поддалась одна.
Лечится это за полчаса: лишние учётки удалить, оставшимся урезать права до нужных, администраторам включить 2FA. Но пока никто не посмотрел в список, сайт охраняет семь замков, из которых три давно потеряли ключи.
Что получает взломщик вместе с админкой
Многим кажется, что доступ к админке — это возможность «поменять текст на главной». Мило.
На деле через админку можно встроить скрытый вредоносный скрипт на все страницы. Вытащить базу клиентов встроенными инструментами CMS. Поменять реквизиты оплаты или настроить редирект на мошеннический сайт. Иногда — добраться до файлов сервера за пределами CMS.
Подбор пароля выглядит технически примитивно. Последствия у него те же, что у взлома через дыру в коде. Полная компрометация сайта.
Почему «сложный пароль» не спасает
Сложный пароль хуже угадывается по словарю. Это правда. Но если число попыток не ограничено, а пароль не меняли годами, шансы бота только растут: он не устаёт и не теряет интерес.
Сложный пароль и лимит попыток — не альтернатива, а пара. Одно без другого — как бронированная дверь с открытой форточкой.
Про халтуру — без реверансов
Вот что меня по-настоящему злит. Сайт сдают заказчику «под ключ». Красивый дизайн, адаптив, анимации. А в админке логин «admin», пароль из восьми символов, ни лимита попыток, ни второго фактора, ни мониторинга входов. Подрядчик получил деньги и ушёл. Через полгода сайт рассылает спам или раздаёт вредонос посетителям, а владелец узнаёт об этом из письма хостинга или из пометки в поисковой выдаче.
Это не «мелкая недоработка». Это сдача объекта без замка на двери. Строителя, который сдал офис без замков, вы бы на порог не пустили. А веб-подрядчику такое почему-то прощают.
Сайт без защиты админки — это не сайт. Это бесплатный хостинг для чужого спама.
Что делаем мы и чем это отличается
Берём сайт на обслуживание — и защита входа в админку проверяется одной из первых.
- Включаем лимит попыток и блокировку IP, на уровне CMS и сервера.
- Меняем стандартные логины и, где уместно, адреса страницы входа.
- Подключаем двухфакторную аутентификацию для всех администраторов.
- Сокращаем список тех, у кого есть права администратора. Обычно он раздут.
- Настраиваем мониторинг попыток входа, чтобы видеть начало атаки по логам, а не её итог по жалобе хостинга.
Подход «запустили сайт и забыли про админку» у нас не работает. Страница входа — отдельная точка риска, за которой смотрят постоянно. Обслуживание сервера с настройкой и мониторингом защиты — от 7 000 ₽ в месяц.
Чем это отличается от разовой «настройки безопасности», которую продают пакетом? Тем, что атаки меняются, а пакет — нет. Сегодня бот стучится с одного адреса, завтра с тысячи, послезавтра пробует пароли из свежей утечки. Разовая настройка стареет за месяцы. Постоянное наблюдение стареть не успевает: мы видим, что изменилось в логах, и подкручиваем защиту раньше, чем это станет вашей проблемой.
Чек-лист: минимальная защита админки
- Лимит попыток входа с блокировкой IP включён.
- Логин администратора — не «admin».
- У всех администраторов включена 2FA.
- Пароли администраторов не повторяются на других сервисах.
- Где возможно, вход в админку ограничен известными адресами.
- Логи попыток входа кто-то читает или получает по ним уведомления.
- Стандартный адрес входа изменён, если это не ломает работу сайта.
- Права администратора есть только у тех, кому они действительно нужны.
Заприте дверь
Если на вашем сайте до сих пор нет лимита попыток входа — это одна из самых простых и самых недооценённых дыр. Напишите нам в АйТи Фреш. Закроем админку от ботов, включим второй фактор и возьмём сайт на сопровождение. Пусть подбор пароля так и останется скучной строчкой в логах.
Частые вопросы
У сайта почти нет посетителей. Его тоже будут ломать?
Да. Сканеры не смотрят на посещаемость. Они проверяют все найденные адреса подряд. Маленький сайт получает те же попытки перебора, что и крупный.
Хватит ли одного плагина безопасности?
Плагин закрывает базу: лимит попыток и блокировку IP. Для сайта с данными клиентов этого мало без второго фактора и регулярного взгляда в логи.
Как понять, что атака идёт прямо сейчас?
Главный признак — резкий рост неудачных входов в логах сервера или плагина, часто с множества разных адресов за короткое время. Второй признак — сайт внезапно тормозит без видимой причины.
Сотрудники работают из дома с разных адресов. Как быть с белым списком?
Тогда вместо жёсткого списка адресов используйте корпоративный защищённый доступ к админке или связку лимита попыток и 2FA, которая от адреса сотрудника не зависит.
Атака была, но вход не удался. Пароль менять?
Менять. Отсутствие успешного входа в логах не даёт стопроцентной гарантии. Смена пароля стоит минуту, сомнения — гораздо дороже.
В админку уже кто-то заходил. Что делать?
Сменить все пароли администраторов. Проверить список учётных записей на незнакомые. Проверить сайт на добавленный вредоносный код. Подбор пароля редко заканчивается просто входом — за ним обычно следуют изменения.
Распределённый перебор — это разновидность DDoS?
Механика похожа: много источников сразу. Цель другая. DDoS хочет положить сайт, а перебор хочет тихо войти, не создавая заметной нагрузки. Иногда обе атаки используют одну и ту же заражённую сеть, но защищаются от них разными средствами.


