Перевищено ліміт активності” у 1С-Бітрікс: захист від сканування та шкідливих запитів через nginx

Замовити послугу
5 хв.
Якщо ви використовуєте 1С-Бітрікс , то, можливо, хоча б раз отримували лист із заголовком "Перевищений ліміт активності".

Всередині листа приблизно такий текст:

На сайті відвідувач перевищив встановлений ліміт активності.
Починаючи з [дата], відвідувач заблокований на 600 сек.
Активність – 16 хітів за 10 с. (ліміт – 15)
Відвідувач – 1974831
Сесія – 2032988
Пошуковик – [0]
UserAgent –

Для додавання в стоп-лист скористайтеся посиланням нижче:
...

Це означає, що з певної IP-адреси на ваш сайт за короткий час надійшло надто багато запитів – більше, ніж дозволяє встановлений ліміт.

Чому це відбувається

У більшості випадків це не живий відвідувач, а бот-сканер , який перевіряє сайт на наявність уразливих файлів або вразливих CMS-скриптів. Мета – знайти дірку та впровадити шкідливий код (web shell, backdoor, спам-скрипт).

Ми помітили, що сканування йшло за точними списками популярних шкідливих або застарілих файлів . Наприклад:
  • /ee.php
  • /edit.php
  • /dropdown.php
  • /doc.php
  • /content.php
  • /composer.php
  • /classsmtps.php
  • /adminer.php
  • /as.php
  • /alfanew.php

А також по вкладених шляхах:

  • /assets/images/doc.php
  • /about/function.php
  • /admin/index.php
  • /.well-known/index.php

Чому блокування в самому Бітрікс неефективне

Битрикс у листі дає посилання моментального блокування IP-адреси . На перший погляд – зручно. Але на практиці IP-адреси змінюються постійно (іноді на кожний новий запит).

У результаті блокування IP у Бітрікс не дає реального ефекту, і сканування продовжується.

Як ми вирішили проблему

Ми вирішили не блокувати IP, а блокувати самі шкідливі запити лише на рівні веб-сервера (nginx).

Перевага цього підходу:
  • Запит навіть не дійде до PHP та Бітрікс, навантаження на сайт менше.
  • Працює для всіх сайтів на сервері одразу.
  • Не залежить від IP-адреси зловмисника.
Ми створили файл конфігурації /etc/nginx/fastpanel2-includes/bot-acces-deny.conf, який підключається до всіх сайтів.

Приклад вмісту:

Блокування шкідливих файлів на будь-якій вкладеності:
 location ~* "(?x)
(/|^) (autoload_classmap\.php
| auth\.php
| atomlib\.php
| assets/images/doc\.php
| asasx\.php
| as\.php
| alfa\.php
| al\.php
| akc\.php
| adminfuns\.php
| admin/index\.php
| admin/function\.php
| admin/admin\.php
| admin\.php
| about/function\.php
| about/Geforce\.php
| about\.php
| 87\.php
| 13k\.php
| 12\.php
| ee\.php
| 10\.php
| edit\.php
| dropdown\.php
| doc\.php
| content\.php
| composer\.php
| classsmtps\.php
| chosen\.php
| blog\.php
| ay\.php
| av\.php
| avaa\.php
| adminer\.php
| alfanew\.php
)$" {
deny all;
return 403;
}
Блокування цілих розділів на сайті через NGINX
Іноді шкідливі сканери не просто перевіряють окремі файли, а послідовно перебирають цілі папки, наприклад wp-includes, wp-content, wp-admin (часто зустрічається на WordPress), а також каталоги з картинками або медіа, такі як assets.

Щоб захиститись від таких масових запитів, можна відразу заборонити доступ до всього розділу на будь-які вкладення. Це особливо корисно, якщо на вашому сайті таких папок немає, і будь-які звернення до них є підозрілими.

Приклад конфігурації NGINX:
 # Блокировка папок wp-includes, wp-content, wp-admin и assets на любой вложенности
location ~* "(?x)
/(
wp-includes
| wp-content
| wp-admin
| assets
)/" {
deny all;
return 403;
}
Як це працює:
  • location ~* — реєстронезалежний регулярний вираз.
  • (wp-includes|wp-content|wp-admin|assets) — список папок, що блокуються.
  • / Наприкінці - гарантує, що правило спрацює саме на папку, а не на частину імені файлу.
  • deny all; return 403; - Забороняє доступ і повертає код відповіді HTTP 403 (Forbidden).
Таке правило можна додати до спільного конфігураційного файлу захисту, щоб воно діяло для всіх сайтів на сервері.

Топ шкідливих запитів до сайту

Запитуваний шлях Частота Опис загрози
1 /adminer.php 325 Популярний скрипт для управління БД, що часто використовується зловмисниками
2 /wp-admin/ 298 Адмін-панель WordPress, використовується для брутфорсу
3 /wp-content/plugins/ 254 Спроби знайти вразливі плагіни WordPress
4 /composer.php 210 Можуть запускати інсталятор або виконувати PHP-код
5 /classsmtps.php 184 Спам-скрипт або бекдор
6 /ee.php 172 Застарілий експлойт для атак RFI/LFI
7 /assets/images/doc.php 158 Маскування шкідливого файлу під зображення
8 /edit.php 141 Відомий бекдор для завантаження файлів
9 /alfanew.php 132 PHP web-shell
10 /wp-includes/ 124 Системні файли WordPress скануються на вразливості

Додатковий захист: fail2ban

Fail2ban - це інструмент, який відстежує логи веб-сервера і може автоматично блокувати IP-адреси, що порушують ці правила.
Наприклад, якщо з одного IP за короткий проміжок часу йде занадто багато запитів з помилкою 404, fail2ban може додати цей IP до бан на кілька годин або днів.

Плюси fail2ban:

  1. Автоматична реакція на підозрілі активності.
  2. Гнучкі налаштування фільтрів.
  3. Блокування не тільки для Інтернету, але і для SSH, FTP та інших сервісів.

Використання Cloudflare

Cloudflare це сервіс, який може фільтрувати трафік ще до того, як він потрапить на ваш сервер. Він уміє:
  1. Захищати від DDoS-атак.
  2. Обмежувати частоту запитів (Rate Limiting).
  3. Автоматично блокувати підозрілих роботів.
Мінус – сервіс доступний не в усіх країнах, і не завжди його можна використовувати у корпоративних мережах. Але якщо ви маєте таку можливість, це потужний додатковий шар захисту.

Рекомендації щодо захисту Bitrix-сайту

  1. Налаштуйте блокування шкідливих файлів та шляхів через NGINX.
  2. Використовуйте fail2ban для автоматичного блокування IP за логами.
  3. Якщо можливо, підключіть Cloudflare.
  4. Регулярно оновлюйте Bitrix та PHP.
  5. Видаляйте модулі та скрипти, які не використовуються.
  6. Періодично перевіряйте сайт на наявність шкідливого коду.

Підсумок

Якщо ви регулярно отримуєте листи від Bitrix про перевищення ліміту активності, це сигнал, що ваш сайт сканують на вразливості.
Не витрачайте час на ручне блокування IP в адмінці - налаштуйте захист на рівні сервера, щоб шкідливі запити навіть не доходили до сайту.

Ми можемо допомогти : налаштуємо NGINX , fail2ban та додаткові фільтри, щоб ваш сайт працював безпечно та без зайвого навантаження.

Також рекомендуємо ознайомитися: Вірус на Бітрікс з першого липня , Як хакери заражають сайти на Бітрікс і створюють бекдори , Вірус в Бітрікс через слабкі паролі , Вірус в assets Бітрікс , Лютневий вірус на Бітрікс .

11 серпня 2025 (Boudybuilder) Виталий

Повернення до списку