Rate limiting и Fail2Ban для Битрикс: лимиты запросов и автобан на уровне сервера
Настраиваем ограничение частоты запросов на nginx и автоматический бан по логам через Fail2Ban: брутфорс авторизации, флуд форм и API, сканеры и переборщики банятся на уровне сервера до того, как нагрузят PHP и базу. Белые списки и интеграция с iptables — чтобы свои не пострадали.
Состав защиты: лимиты запросов и автобан
Собираем два рубежа обороны: ограничение частоты на nginx и автоматический бан по логам через Fail2Ban — с правилами под структуру URL и логов Битрикса.
Где сайт на Битрикс открыт для перебора и флуда
Пока частота запросов ничем не ограничена, любой бот может перебирать пароли, заваливать формы и сканировать сайт — а PHP и база честно обрабатывают каждый запрос. Rate limiting и Fail2Ban отсекают это на уровне сервера, до тяжёлой логики Битрикса.
Путь запроса через лимиты и автобан
Запрос приходит на nginx, проходит проверку частоты и белых списков, легитимный трафик идёт на Битрикс, а нарушитель попадает в логи и банится Fail2Ban на iptables.
Rate limiting и Fail2Ban для Битрикс: что это и зачем
Rate limiting и Fail2Ban — это два рубежа автоматической защиты сайта на 1С-Битрикс от перебора, флуда и сканирования на уровне сервера. Rate limiting (ограничение частоты запросов) живёт на nginx и не даёт одному источнику слать слишком много обращений к формам, авторизации, поиску и API. Fail2Ban разбирает логи и автоматически банит на firewall тех, кто ведёт себя как бот: перебирает пароли, заваливает формы, дёргает несуществующие пути. Вместе они снимают паразитную нагрузку до того, как она дойдёт до тяжёлой логики Битрикса, PHP и базы данных.
Смысл такой защиты в том, что она работает раньше приложения. Когда лимит частоты и автобан стоят на nginx и iptables, перебор паролей и флуд форм отсекаются ещё до запуска PHP-обработчика Битрикса. Сервер не тратит ресурс на обработку заведомо вредных запросов, логи не распухают от тысяч попыток входа, а реальные пользователи работают без тормозов. Это дешёвый по ресурсам и при этом очень эффективный слой обороны, который закрывает целый класс автоматизированных атак.
Что именно ограничивает rate limiting
На nginx мы описываем зоны ограничения частоты через директивы limit_req и количество одновременных соединений через limit_conn. Для каждой чувствительной точки задаётся свой порог: форма входа и админка защищаются жёстче, обычный каталог — мягче, API и поиск — отдельно. Чтобы не резать легитимные всплески, используем параметры burst и nodelay: короткая серия запросов от реального пользователя проходит, а равномерный поток от бота упирается в лимит и получает отказ. Пороги подбираются по реальным логам сайта, а не по абстрактным цифрам из чужих конфигов.
Главные точки, которые закрывает ограничение частоты:
- форма авторизации и админка Битрикса — от перебора паролей и подбора логинов;
- формы заявок, обратной связи и регистрации — от спама и флуда;
- поиск и фильтры каталога — от тяжёлых запросов, которые нагружают базу;
- API и эндпоинты интеграций — от парсинга и выкачивания данных;
- восстановление пароля и подтверждения — от автоматического перебора.
Как работает автобан через Fail2Ban
Fail2Ban постоянно читает логи nginx и Битрикса и применяет к ним фильтры — регулярные выражения, которые опознают вредное поведение. Когда один IP за заданный промежуток времени превышает порог по неудачным авторизациям, сериям ошибок 404 или обращениям к подозрительным путям, срабатывает jail: источник банится на firewall (iptables) на заданное время. При повторных нарушениях время бана растёт. Под Битрикс мы пишем отдельные правила для разных сценариев: брутфорс входа, флуд форм, сканирование несуществующих и уязвимых путей, агрессивный парсинг.
Важная часть настройки — белые списки. Офис, сети обмена с 1С, системы мониторинга, CDN и платёжные коллбэки вносятся в ignoreip и не банятся ни при каких условиях. Это снимает главный риск любой автоматической защиты — заблокировать своих. Баны применяются на уровне iptables, то есть запрос отбрасывается до запуска PHP, и сервер не тратит ресурс даже на отказ.
Кому нужна эта защита
Настройка rate limiting и Fail2Ban нужна практически любому сайту на Битрикс, у которого есть форма входа в админку и публичные формы, но особенно она важна там, где уже идут атаки. Если в логах видны постоянные попытки перебора паролей, формы заваливают спамом, сканеры дёргают уязвимые пути, а сервер периодически уходит в нагрузку без видимой причины — это прямые признаки того, что лимиты и автобан настроить пора. Чем выше трафик и чем заметнее проект, тем больше автоматического вредного трафика он притягивает.
Особенно ощутим эффект для интернет-магазинов и B2B-порталов с ценным каталогом и API: там паразитный трафик от парсеров и переборщиков может составлять заметную долю всех запросов. Ограничение частоты и автобан возвращают этот ресурс реальным пользователям и снижают риск, что под прикрытием флуда пройдёт более серьёзная атака.
Как мы ведём настройку
Работу начинаем с разбора логов и трафика: смотрим, какие атаки реально идут на ваш сайт, где брутфорс, где флуд, где сканеры, и каким выглядит нормальный поток запросов. На основе этого проектируем зоны лимитов, пороги, время банов и белые списки. Затем настраиваем nginx и Fail2Ban, связываем баны с iptables и журналом, после чего обязательно проверяем поведение под нагрузкой и ловим ложные срабатывания. Несколько дней после запуска наблюдаем за банами и калибруем пороги, чтобы защита била точно по нарушителям и не задевала своих.
Результат настройки rate limiting и Fail2Ban — это автоматический рубеж обороны, который работает без вашего участия: перебор, флуд и сканирование банятся на уровне сервера, нагрузка от ботов падает, логи становятся чище, а реальные пользователи и интеграции работают как прежде. Все конфиги, журнал банов и инструкция по разбану остаются у вас, поэтому защита прозрачна и обратима.
Кто настроит rate limiting и Fail2Ban
| Критерий | Своими силами | Фрилансер | Студия B2Bsite |
|---|---|---|---|
| Учёт специфики Битрикс | Готовый конфиг из интернета без учёта URL Битрикса | Настроит limit_req, но редко знает специфику Битрикса | Конфиг под структуру URL и логов вашего Битрикса |
| Защита своих от банов | Высокий риск забанить своих и сломать обмен с 1С | Белые списки часто забывают — банят CDN и платежи | Белые списки для офиса, 1С, мониторинга и CDN |
| Покрытие типов атак | Фильтры не покрывают реальные логи и атаки | Фильтры под брутфорс есть, под сканеры и API — нет | Jail под брутфорс, флуд, 404 и сканеры из ваших логов |
| Проверка и тесты | Нет проверки под нагрузкой и нагрузочного теста | Проверка поверхностная, пороги наугад | Проверка ложных банов и поведения под нагрузкой |
| Сопровождение | Некому разбирать ложные баны после запуска | Пропал — некому донастроить пороги | Сопровождение: правим пороги по реальной картине |
Этапы настройки rate limiting и Fail2Ban
Сколько занимает настройка
Сколько ресурса сервера съедает паразитный трафик
Прикиньте, какую долю нагрузки создают боты, перебор и флуд — и сколько ресурса вернёт rate limiting с автобаном. Эти запросы обрабатывает PHP и база вхолостую.
Оценка по формуле: запросы в сутки × доля паразитного трафика × доля отсечения. Это ориентир разгрузки сервера, а не точный замер.
Сколько стоит настройка rate limiting и Fail2Ban
Стоимость зависит от числа разделов под защиту, объёма логов и сложности белых списков. Ниже — ориентиры; точную смету присылаем после разбора логов, бесплатно.
Лимиты на формы и авторизацию плюс Fail2Ban от брутфорса.
- limit_req на формы и вход
- Fail2Ban от брутфорса авторизации
- Базовый белый список
- Интеграция с iptables
Лимиты и автобан под формы, API, сканеры и флуд с калибровкой.
- Зоны лимитов на формы, API и каталог
- Jail от брутфорса, флуда, 404 и сканеров
- Белые списки для 1С, мониторинга и CDN
- Проверка под нагрузкой и калибровка
- Журнал банов и инструкция по разбану
Полная настройка плюс ведение правил и реакция на новые атаки.
- Всё из «Полная защита»
- Разбор банов и ложных срабатываний
- Правка порогов под новые атаки
- Новые jail под новые угрозы
- Отчёт по срабатываниям
Базовая защита от 18 000 ₽
Лимиты на формы и авторизацию плюс Fail2Ban от брутфорса.
- limit_req на формы и вход
- Fail2Ban от брутфорса авторизации
- Базовый белый список
- Интеграция с iptables
Популярный Полная защита от 38 000 ₽
Лимиты и автобан под формы, API, сканеры и флуд с калибровкой.
- Зоны лимитов на формы, API и каталог
- Jail от брутфорса, флуда, 404 и сканеров
- Белые списки для 1С, мониторинга и CDN
- Проверка под нагрузкой и калибровка
- Журнал банов и инструкция по разбану
Защита и сопровождение от 9 000 ₽/мес
Полная настройка плюс ведение правил и реакция на новые атаки.
- Всё из «Полная защита»
- Разбор банов и ложных срабатываний
- Правка порогов под новые атаки
- Новые jail под новые угрозы
- Отчёт по срабатываниям
Дополнительные опции
| Интеграция бана с внешним firewall или CDN | от 12 000 ₽ |
| Настройка геоблокировки и списков по странам | от 8 000 ₽ |
| Подключение уведомлений о банах в мессенджер | от 6 000 ₽ |
Подберём правила лимитов и банов под ваш сайт
Ответьте на несколько вопросов о сайте, нагрузке и атаках — предложим состав защиты и пришлём ориентир по срокам и цене.
Кейсы защиты от перебора и флуда
Что говорят после настройки защиты
На что можно рассчитывать по договору
Частые вопросы о лимитах и автобане — и наш ответ
Это не общие советы из интернета, а закономерности из реальных проектов по защите Битрикса. Каждый ответ — позиция нашей команды.
Rate limiting и Fail2Ban или одна большая защита
Когда сайт на Битрикс начинает страдать от ботов, перебора и флуда, возникает соблазн решить всё одним инструментом: поставить готовый WAF, подключить облачную защиту или включить «режим под атакой» и забыть. На практике серебряной пули нет: разные слои защиты закрывают разные задачи и работают лучше всего вместе. Rate limiting и Fail2Ban — это базовый, дешёвый по ресурсам и очень эффективный рубеж, который должен стоять почти на любом боевом сайте, независимо от того, есть ли над ним облачная защита. Ниже разбираем, как он устроен, какие проблемы решает и где его границы.
Почему ограничение частоты работает там, где не справляется приложение
Любая защита внутри Битрикса — капча, проверка токенов, лимиты в коде — срабатывает уже после того, как запрос дошёл до PHP, поднял сессию, подключился к базе и запустил тяжёлую логику. При флуде это значит, что сервер честно тратит ресурс на обработку каждого вредного запроса, пусть даже потом он его отклонит. Rate limiting на nginx переворачивает картину: лимит частоты проверяется до запуска PHP, и лишний запрос получает отказ почти бесплатно. Именно поэтому ограничение частоты так хорошо держит флуд форм, перебор и агрессивный парсинг — оно отсекает нагрузку на самом дешёвом для сервера этапе.
Fail2Ban идёт ещё дальше и опускает защиту на уровень firewall. Когда источник опознан как нарушитель по логам, его IP банится на iptables, и следующие запросы отбрасываются ядром, не доходя даже до nginx. Это предельно дёшево по ресурсам и предельно эффективно против тех, кто долбит сайт сериями однотипных запросов: перебирает пароли, сканирует пути, выкачивает каталог. Связка ограничения частоты на nginx и автобана на iptables закрывает большую часть автоматизированного вредного трафика, который обычно и создаёт фоновую нагрузку.
Какие атаки закрывает связка, а какие нет
Честно очертим границы. Rate limiting и Fail2Ban отлично работают против перебора паролей, флуда форм и поиска, серийного сканирования путей и парсинга — всего, что исходит от ограниченного числа источников и выражается в аномальной частоте запросов. Они заметно снижают фоновую нагрузку и делают логи читаемыми. Но они не заменяют полноценную защиту от распределённого DDoS с тысяч адресов, не разбирают содержимое запросов на предмет SQL-инъекций и XSS и не фильтруют сложные прикладные атаки. Для распределённых атак и фильтрации по содержимому нужен отдельный слой, и если он вам важен, мы отдельно настраиваем WAF на ModSecurity или Cloudflare, который дополняет лимиты и автобан, а не отменяет их.
Поэтому правильный подход — слоёная оборона. Rate limiting и Fail2Ban стоят первым рубежом и снимают массовый автоматический мусор дёшево и без вашего участия. Над ними при необходимости встаёт WAF и облачная защита для распределённых атак и фильтрации по содержимому. А внутри Битрикса работает прикладная безопасность: капчи, токены, разграничение прав. Каждый слой делает свою работу, и вместе они дают результат, которого ни один из них в одиночку не даёт.
Главный риск автобана — забанить своих
У любой автоматической защиты есть оборотная сторона: чем агрессивнее пороги, тем выше шанс случайно заблокировать легитимный трафик. Менеджер, который быстро кликает по админке, обмен с 1С, который шлёт пачку запросов, мониторинг, который опрашивает сайт каждую минуту, CDN, который ходит с одного адреса за всех, платёжный шлюз, который шлёт коллбэки, — всё это может выглядеть как аномалия и попасть под бан. Поэтому белые списки и калибровка порогов для нас не формальность, а центральная часть работы. Офис, сети 1С, мониторинг, CDN и платёжные коллбэки вносятся в исключения, а пороги подбираются по реальным логам, чтобы нормальная активность не срабатывала как атака.
Чтобы исключить сюрпризы, мы обязательно проверяем поведение защиты под нагрузкой до боевого запуска и несколько дней наблюдаем за банами после. Если в журнал попадает легитимный источник, мы сразу это видим и правим — добавляем в белый список или поднимаем порог. Такой подход даёт защиту, которая бьёт точно по нарушителям и не мешает работе. Эта же аккуратность критична, когда лимиты соседствуют с другими мерами против ботов: ограничение частоты хорошо сочетается с защитой от бот-трафика и парсинга, но пороги обоих слоёв нужно согласовать, чтобы они не конфликтовали.
Почему важна специфика Битрикса
Готовый конфиг limit_req и стандартный jail из интернета часто бесполезны на Битрикс, потому что не учитывают структуру его URL и формат логов. Адреса админки, AJAX-эндпоинтов, обмена с 1С, личного кабинета и API в Битрикс устроены определённым образом, и лимиты нужно вешать именно на них, не задевая служебные запросы. Логи Битрикса и nginx тоже надо уметь читать: фильтр Fail2Ban должен опознавать именно неудачную авторизацию или серию 404, а не любую строку. Без этого защита либо не ловит атаки, либо ловит лишнее. Поэтому мы строим правила под конкретный сайт, а не накатываем универсальный шаблон.
Отдельно учитываем интеграции. Обмен с 1С, выгрузки, платёжные и логистические сервисы шлют запросы пачками и с предсказуемых адресов — их нужно знать заранее и вынести из-под лимитов и банов. Если у вас сложная интеграционная обвязка, мы согласуем правила так, чтобы внешние системы работали без сбоев, а защита при этом не превращалась в решето. Это особенно важно для проектов, где параллельно идёт поддержка nginx, Apache, PHP и MySQL: лимиты и автобан должны жить в одном контуре с общей настройкой веб-сервера и не конфликтовать с ней.
Как мы ведём настройку по шагам
Первый шаг — разбор логов и трафика. Мы смотрим, какие атаки реально идут: где брутфорс, где флуд форм, где серии 404 от сканеров, откуда парсинг, и как выглядит нормальная нагрузка в будни и в пик. Без этого пороги ставить нельзя — они получатся либо слишком мягкими, либо опасными для своих. Второй шаг — проектирование: определяем зоны лимитов и их пороги, время банов и эскалацию, составляем белые списки. Третий — настройка nginx и Fail2Ban: прописываем limit_req и limit_conn, пишем фильтры и jail под ваши логи, связываем баны с iptables и журналом срабатываний.
Четвёртый шаг — проверка и калибровка. Мы тестируем поведение лимитов под нагрузкой, специально провоцируем срабатывания, ищем ложные баны и подгоняем пороги. Пятый — запуск в бой и наблюдение: несколько дней следим за тем, кого и за что банит система, и точечно правим. Шестой — передача: отдаём конфиги, журнал банов и понятную инструкцию по разбану и изменению порогов, чтобы вы или ваш админ могли управлять защитой сами. По желанию берём правила на сопровождение и обновляем их под новые атаки.
Чем настроенная защита выгоднее альтернатив
У сайта, который устал от ботов и перебора, обычно три пути. Первый — терпеть и периодически банить вручную: это съедает время админа и не масштабируется, потому что атаки идут круглосуточно. Второй — переложить всё на дорогую облачную защиту: она нужна против распределённого DDoS, но для рутинного перебора и флуда это стрельба из пушки по воробьям, к тому же она не отменяет необходимости фильтровать трафик на своём сервере. Третий — настроить rate limiting и Fail2Ban: дёшево по ресурсам, работает автоматически, закрывает самый массовый класс атак и отлично сочетается с остальными слоями.
Собственная настройка лимитов и автобана остаётся под вашим контролем: конфиги у вас, пороги вы можете менять, баны прозрачны и обратимы. Вы не платите помесячно за каждый отбитый запрос и не зависите от чужой инфраструктуры в базовых вещах. Когда трафик и число атак растут, именно этот рубеж оказывается и самым дешёвым в эксплуатации, и самым гибким — его легко донастроить под новые угрозы, не перестраивая всю оборону.
Возражения, которые мы слышим чаще всего
«У нас и так стоит облачная защита, зачем ещё лимиты на сервере». Облачная защита и rate limiting закрывают разные задачи: первая отбивает распределённые атаки на подлёте, второй режет флуд и перебор уже на вашем сервере и банит конкретных нарушителей. Часть вредного трафика всегда доходит до сервера в обход облака, и хорошо, когда его там встречает лимит и автобан. Слои не конкурируют, а усиливают друг друга.
«Боюсь, что защита забанит реальных клиентов или сломает интеграции». Это главный риск, и мы относимся к нему серьёзно: белые списки для офиса, 1С, мониторинга, CDN и платежей, пороги по реальным логам, проверка под нагрузкой и наблюдение после запуска. На практике при аккуратной настройке ложные баны исключены, а если источник всё же попал в журнал по ошибке, мы сразу это видим и правим.
«Это разовая настройка или её надо вести». Базовая защита от брутфорса и флуда работает и без сопровождения. Но атаки эволюционируют: появляются новые сканеры, меняются цели перебора, растёт парсинг. Поэтому для нагруженных и заметных проектов мы предлагаем сопровождение, в рамках которого разбираем баны, правим пороги и добавляем новые jail под новые угрозы. Решение за вами — защита остаётся вашей в любом случае.
Сценарии, под которые мы настраиваем защиту
Атаки и нагрузка на разных сайтах выглядят по-разному, поэтому правила мы собираем под конкретную картину, а не по единому шаблону. Для интернет-магазина с ценным каталогом главная боль — это парсеры и переборщики, которые выкачивают товары и цены, и флуд форм оформления заказа. Здесь на первый план выходят лимиты на каталог, поиск и API и автобан агрессивных выкачивающих источников, при этом обмен с 1С и платёжные коллбэки аккуратно выносятся в белые списки. Для корпоративного сайта типичнее перебор паролей в админку и серийное сканирование уязвимых путей, поэтому ядром становится жёсткий jail на брутфорс входа и отдельное правило на серии 404 от сканеров.
Для B2B-портала с личными кабинетами и API картина сложнее: легитимные интеграции шлют много запросов, и защита не должна им мешать, но при этом нужно отсекать перебор учётных записей и выкачивание данных через API. Тут особенно важна тонкая калибровка порогов и подробные белые списки для всех внешних систем. Для медиа и сайтов с высоким трафиком на первый план выходит защита от флуда, который маскируется под обычных читателей: здесь работают мягкие, но широкие лимиты и автобан только самых явных нарушителей, чтобы не задеть массовую легитимную аудиторию. В каждом из этих случаев набор jail, зоны лимитов и пороги мы подбираем индивидуально по логам.
Что мы проверяем перед боевым запуском
Прежде чем включить защиту в бой, мы прогоняем её через проверочный чек-лист, чтобы исключить сюрпризы. Сначала тестируем поведение лимитов под нагрузкой: имитируем всплески трафика и убеждаемся, что легитимные серии запросов проходят, а равномерный флуд режется. Затем специально провоцируем срабатывания фильтров Fail2Ban и проверяем, что баны накладываются и снимаются корректно, а время бана и эскалация работают как задумано. Отдельно прогоняем сценарии своих систем: пробуем обмен с 1С, выгрузки, обращения мониторинга и платёжные коллбэки — и убеждаемся, что ни один из них не попадает под лимит или бан.
После этого мы вычитываем журнал срабатываний и ищем в нём любые признаки ложных банов, чтобы поймать их до того, как они заденут реальных клиентов. Только когда защита уверенно отделяет нарушителей от своих, мы переводим её в боевой режим и продолжаем наблюдение ещё несколько дней. Такой порядок даёт спокойный запуск без простоев и без жалоб на заблокированный доступ, а вы получаете рубеж обороны, которому можно доверять с первого дня.
С чего начать
Начните с разбора логов. Пришлите нам логи nginx и Битрикса или дайте доступ к серверу — мы покажем, какие атаки реально идут на ваш сайт, какую долю трафика создают боты, перебор и флуд, и что из этого можно отсечь лимитами и автобаном. По итогам разбора предложим состав защиты под вашу нагрузку и интеграции и пришлём смету в течение рабочего дня. Аудит логов бесплатный, и даже если вы решите настраивать защиту своими силами, вы получите ясную картину угроз и приоритетов. Обсудим ваш проект — и превратим хаотичный поток ботов в управляемую и автоматически отбиваемую нагрузку.
Частые вопросы о rate limiting и Fail2Ban
Что такое rate limiting простыми словами? +
Это ограничение частоты запросов: правило, которое не даёт одному источнику слать слишком много обращений к сайту за короткое время. На nginx оно описывается директивой limit_req. Реальный пользователь укладывается в лимит и ничего не замечает, а бот, который шлёт запросы пачками, упирается в порог и получает отказ. Так флуд и перебор режутся раньше, чем доходят до тяжёлой логики Битрикса.
Что такое Fail2Ban и как он работает? +
Fail2Ban — это служба, которая читает логи сервера и автоматически банит источники, ведущие себя как боты. Она применяет к логам фильтры — шаблоны, опознающие вредное поведение, например серии неудачных входов или обращений к несуществующим путям. Когда один IP превышает порог, Fail2Ban банит его на firewall (iptables) на заданное время. Всё происходит автоматически, без участия администратора.
Чем rate limiting отличается от Fail2Ban? +
Rate limiting на nginx ограничивает частоту запросов в моменте: лишний запрос сразу получает отказ, но источник не блокируется надолго. Fail2Ban анализирует поведение во времени и банит источник целиком на firewall, если он раз за разом нарушает. Лимит режет всплеск здесь и сейчас, автобан убирает злостного нарушителя надолго. Вместе они дополняют друг друга и дают полноценную защиту.
Что такое jail в Fail2Ban? +
Jail (джейл) — это связка из фильтра, лога и правила бана для конкретного типа атаки. Например, один jail ловит перебор паролей в логах Битрикса, другой — серии ошибок 404 от сканеров в логах nginx. У каждого jail свой порог срабатывания и своё время бана. Под Битрикс мы настраиваем несколько jail под разные сценарии: брутфорс, флуд форм, сканирование путей, парсинг.
Что такое burst и nodelay в limit_req? +
Это параметры, которые делают ограничение частоты дружелюбным к реальным пользователям. Burst разрешает короткий всплеск запросов сверх среднего лимита — например, когда страница быстро подгружает несколько ресурсов. Nodelay говорит обрабатывать этот всплеск сразу, а не растягивать. Вместе они пропускают легитимные серии запросов и режут только равномерный поток от ботов. Пороги мы подбираем по вашим логам.
Как лимиты защищают формы и поиск? +
На формы заявок, обратной связи, регистрации и на поиск мы вешаем отдельные зоны ограничения частоты. Это не даёт ботам заваливать их спамом и флудом, а тяжёлым запросам поиска — нагружать базу. Реальный пользователь отправляет форму или ищет товар в обычном темпе и лимита не замечает, а автоматический поток режется. Заявки перестают тонуть в мусоре, а база работает спокойнее.
Не порежет ли лимит реальных пользователей в час пик? +
Нет, если пороги подобраны правильно. Мы ставим их по вашим реальным логам, а не наугад, и используем burst с nodelay: короткие всплески легитимного трафика проходят, а равномерный флуд режется. Перед запуском проверяем поведение под нагрузкой и несколько дней наблюдаем за работой. При аккуратной настройке реальные клиенты лимита не замечают.
Можно ли ограничить частоту обращений к API? +
Да, и это частый сценарий. На API-эндпоинты вешается отдельная зона лимита, чтобы парсеры и переборщики не выкачивали данные и не нагружали сервер. При этом легитимные интеграции, например обмен с 1С, выносятся в белые списки и под лимит не попадают. Так API остаётся доступным для своих систем и защищённым от выкачивания посторонними.
Защищают ли лимиты тяжёлые разделы каталога? +
Да. Фильтры, сортировки и большие выборки каталога создают нагрузку на базу, и боты этим пользуются, перебирая комбинации параметров. Мы ставим лимиты на тяжёлые разделы и эндпоинты, чтобы один источник не мог в цикле дёргать дорогие запросы. Реальный покупатель работает с каталогом свободно, а агрессивный перебор параметров упирается в порог.
Что происходит с запросом, который превысил лимит? +
Nginx отвечает на него кодом ошибки (обычно 429 или 503) почти без затрат ресурса — PHP при этом не запускается. Если источник продолжает нарушать и попадает под правило Fail2Ban, его IP банится на firewall, и следующие запросы отбрасываются ещё раньше, на уровне iptables. Так нагрузка от нарушителя падает до нуля, а сервер не тратит ресурс даже на отказ.
Как Fail2Ban банит за перебор паролей? +
Мы настраиваем фильтр на строки неудачной авторизации в логах Битрикса и nginx. Когда один IP за заданный промежуток превышает порог по числу неудачных входов, jail банит его на iptables на заданное время, а при повторах время бана растёт. Перебор перестаёт доходить до PHP, логи очищаются от тысяч попыток, а форма входа и админка остаются доступными для реальных пользователей.
Как банятся сканеры и переборщики путей? +
Для них настраивается отдельный jail, который ловит серии ошибок 404 и обращения к подозрительным и уязвимым путям из логов nginx. Когда источник дёргает несуществующие адреса пачками, он быстро превышает порог и банится. Так автоматическое сканирование уязвимостей отсекается до того, как нагрузит сайт, а логи перестают засоряться мусорными запросами.
Защищает ли это от флуда форм и спама? +
Да, на двух уровнях. Лимит частоты на nginx режет флуд в моменте: один источник не может слать формы пачками. А Fail2Ban банит тех, кто упорно флудит, на уровне firewall. Вместе с серверной защитой это заметно снижает спам, но для самих форм мы рекомендуем держать и прикладные меры — капчу и проверку токенов внутри Битрикса как дополнительный слой.
Помогает ли связка против DDoS? +
Против простого флуда с ограниченного числа источников — да, лимиты и автобан хорошо его держат. Но полноценный распределённый DDoS с тысяч адресов одними серверными мерами не отбить: тут нужен отдельный слой облачной защиты или WAF. Мы честно очерчиваем границы и при необходимости настраиваем эти слои дополнительно, чтобы лимиты и автобан работали в связке с защитой от распределённых атак.
Что такое эскалация времени бана? +
Это когда при повторных нарушениях время блокировки увеличивается. Первый раз источник банится, скажем, на час, при следующем нарушении — на сутки, дальше — на неделю. Так упорные нарушители уходят надолго, а случайно сработавший источник блокируется лишь ненадолго. Параметры эскалации мы подбираем под характер атак на ваш сайт.
Как сделать, чтобы не забанить свой офис или 1С? +
Офис, сети обмена с 1С, системы мониторинга, CDN и платёжные коллбэки мы вносим в белые списки (ignoreip), и эти источники не банятся ни при каких условиях. Дополнительно держим аккуратные пороги, чтобы случайная серия запросов не приводила к блокировке своих. Перед запуском проверяем поведение под нагрузкой, поэтому ложные баны при правильной настройке исключены.
Что делать, если по ошибке забанило нужный источник? +
Мы отдаём понятную инструкцию по разбану: команда, которая снимает блокировку с конкретного IP, и способ добавить его в белый список, чтобы он не банился впредь. После запуска несколько дней наблюдаем за журналом банов, поэтому ложное срабатывание обычно замечаем и правим раньше, чем оно успевает помешать. Доступ к разбану остаётся у вас.
Не сломает ли защита обмен с 1С и интеграции? +
Нет, если интеграции учтены заранее. Обмен с 1С, выгрузки, платёжные и логистические сервисы шлют запросы пачками с предсказуемых адресов — мы выясняем эти адреса до настройки и выносим их из-под лимитов и банов. Если у вас сложная интеграционная обвязка, согласуем правила так, чтобы внешние системы работали без сбоев, а защита оставалась эффективной.
Можно ли настроить геоблокировку? +
Да, по запросу настраиваем блокировку или ограничение трафика по странам и сетям. Это помогает, когда заметная доля атак идёт из регионов, где у вас нет клиентов. Геоблокировку мы используем аккуратно и в дополнение к лимитам и автобану, а не вместо них, чтобы не отрезать легитимных пользователей и поисковых роботов.
Где хранятся настройки и баны, и могу ли я ими управлять? +
Все конфиги nginx и Fail2Ban, фильтры, jail и белые списки находятся на вашем сервере и принадлежат вам. Журнал банов и инструкция по управлению остаются у вас, поэтому вы или ваш администратор можете в любой момент посмотреть, кого и за что забанило, снять бан или поменять пороги. Защита полностью прозрачна и обратима.
Сколько стоит настройка rate limiting и Fail2Ban? +
Базовая защита — лимиты на формы и вход плюс автобан от брутфорса — обычно начинается от 18 000 рублей. Полная настройка с лимитами на формы, API и каталог, jail от брутфорса, флуда, сканеров и калибровкой — от 38 000. Цена зависит от числа разделов под защиту, объёма логов и сложности белых списков. Точную смету присылаем после разбора логов.
За какой срок реально настроить защиту? +
Базовую защиту от брутфорса и флуда настраиваем за 1–2 дня, полную с калибровкой под нагрузкой — за 2–4 дня. Дополнительно несколько дней наблюдаем за банами и точечно правим пороги. Точный срок зависит от объёма логов и числа разделов и интеграций, и мы фиксируем его в смете до старта.
Нужен ли доступ к серверу для настройки? +
Да, для настройки нужен доступ к серверу с правами на конфигурацию nginx и установку Fail2Ban, а также доступ к логам. Если прямого доступа дать нельзя, работаем вместе с вашим администратором: мы готовим конфиги и правила, он их применяет. Для предварительного разбора достаточно прислать логи nginx и Битрикса.
Нужно ли вести защиту после настройки? +
Базовая защита от брутфорса и флуда работает и без сопровождения. Но атаки эволюционируют: появляются новые сканеры, меняются цели перебора, растёт парсинг. Для нагруженных и заметных проектов мы предлагаем сопровождение, в рамках которого разбираем баны, правим пороги и добавляем новые jail под новые угрозы. Решение за вами — защита остаётся вашей в любом случае.
Что мы получаем по итогу работы? +
Настроенные на вашем сервере лимиты nginx и правила Fail2Ban под структуру вашего Битрикса, белые списки для своих систем, журнал банов и понятную инструкцию по разбану и изменению порогов. Защита работает автоматически и остаётся под вашим контролем: развивать и менять её сможете вы сами, ваш администратор или наша команда на сопровождении.
Что меняется в цифрах
Ориентиры по проектам нашей команды. Точные пороги и эффект подберём после разбора ваших логов на аудите.
Настроим лимиты и автобан под ваш сайт?
Пришлите логи или дайте доступ к серверу — покажем, какие атаки идут, и предложим состав защиты с ориентиром по срокам и цене.
- Ответим в течение рабочего дня
- Бесплатный аудит процессов и расчёт
- NDA и фиксированная смета