Крупное обновление системы защиты eByeBots: больше контроля, больше аналитики и новые способы выявления угроз
В этом обновлении мы расширили возможности управления защитой сайта: добавили GEO-фильтрацию по странам, городам и ASN-сетям, внедрили удобные уведомления о проблемах сервера через Telegram и ntfy, а также добавили новый уровень анализа клиентов — JA4 TLS-отпечатки.
Теперь система позволяет не только блокировать подозрительный трафик, но и быстрее узнавать о сбоях, анализировать источники запросов и находить скрытые бот-сети даже при смене IP-адресов.
Фильтрация по Странам / ASN-сетям / Городам
В систему защиты добавлена GEO фильтрация на любом тарифе

Теперь Вы можете по Стране, городу или ASN сети — заблокировать / разрешить / отправить на проверку. На скриншоте пример исключения (разрешаем беспрепятственно заходить на ресурс).
В системных настройках вывели информацию о версии базы GeoLite2, система проверяет каждые 3 часа базу и обновляет если это требуется, можно обновить вручную:

Уведомления Telegram / Ntfy (мобильное устройство)
Страница «Уведомления» следит за сервером и сразу пишет вам, если что-то пошло не так.

Что приходит
- 5xx — много ошибок сервера (502, 503, 504 и др.) за короткое время
- CPU высокий — сервер перегружен
- CPU низкий — сервер почти не работает (возможно, упал)

Куда приходит


Telegram — в бота/канал, если вы там постоянно.
ntfy — push на телефон (Android/iOS). Удобно, когда мессенджер закрыт: как уведомление от банка. Ставите приложение ntfy, подписываетесь на topic (лучше нажать «Сгенерировать» — это как пароль — ставьте надежный topic).
Можно включить оба канала сразу.
Что ещё есть
- Пауза (5 / 15 / 40 мин или до включения) — на время правок, чтобы не спамило
- Тесты — кнопки «пример сообщения», проверить сообщения
- «Сохранить и синхронизировать» — настройки уходят на центральную панель eByeBots

Зачем это
Вы узнаёте о проблеме раньше пользователей — когда сайт массово отдаёт ошибки или «лежит».
- Мониторинг 5** ошибок происходят на стороне VPS прокси-сервера, если Вы поймали 502 ошибку, скорее всего Ваш основной сервер — недоступен / блокирует доступ к нашему прокси серверу. Это своего рода мониторинг Вашего сайта.
- Уведомления о превышении нагрузки прокси-сервера CPU > 60 например или меньше 0.2% — помогут оперативно узнать, когда прокси сервер превысил нагрузку — эта нагрузка может пойти и на основной сервер.
- Если нагрузка меньше 0.2% — то скорее всего прокси сервер по каким то причинам не доступен / отключен / авария у хостера или что ещё.
Мониторинг нагрузки прокси-сервера размещен не на Вашем VPS — поэтому если от отключится, мониторинг все равно уведомит Вас.
Как включить уведомления
Telegram
Шаг 1. Создайте бота
- В Telegram откройте @BotFather.
- Отправьте
/newbot. - Придумайте имя и username бота (должен заканчиваться на
bot). - BotFather пришлёт токен вида:
7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Скопируйте и никому не показывайте.
Шаг 2. Куда слать уведомления
Закрытый канал (удобнее для команды)
- Создайте приватный канал.
- Добавьте бота администратором (можно без лишних прав — достаточно права писать).
- Напишите любое сообщение в канал.
- Перешлите это сообщение боту @idbot .
- Найдите Chat ID канала — обычно начинается с
-100, например:-1001234567890.
Шаг 3. Вставьте в панель
- Блок Telegram на странице уведомлений.
- Включите галочку «Включить Telegram».
- Токен бота — вставьте токен от BotFather.
- ID чата — ваш ID или ID канала (
-100...).
Шаг 4. Проверка
- Нажмите «Тест подключения» (в блоке Telegram).
- В Telegram или канале должно прийти тестовое сообщение.
- Если не пришло:
- для канала: бот точно админ?
- ID начинается с
-100для каналов? - токен скопирован целиком, без пробелов?
Шаг 5. Сохранить
- При необходимости включите мониторинг 5xx и CPU выше на странице.
- Внизу нажмите «Сохранить и синхронизировать».
- Должно появиться: «Настройки сохранены и синхронизированы».
ntfy (push на телефон)
ntfy — приложение с push-уведомлениями. Работает даже когда Telegram закрыт.
Шаг 1. Установите приложение
- Android: Google Play — ntfy или F-Droid
- iOS: App Store — ntfy
Шаг 2. Topic в панели (это «пароль» канала)
- Блок ntfy на странице уведомлений.
- Нажмите «Сгенерировать» рядом с полем Topic.
Появится длинная случайная строка (~60 символов). - Скопируйте topic (иконка глаза — показать текст).
- Не используйте простые имена вроде
mysiteилиtestна публичном сервере — любой может подписаться.
Поле «Сервер ntfy» оставьте по умолчанию:
https://ntfy.sh
(если свой сервер ntfy — укажите его URL).
Шаг 3. Подписка в приложении
- Откройте приложение ntfy.
- Нажмите + (добавить подписку).
- Вставьте тот же topic, что сгенерировали в панели.
- Сервер:
https://ntfy.sh(или ваш, если меняли). - Сохраните подписку.
Topic в панели и в приложении должны совпадать символ в символ.
Шаг 4. Вставьте в панель и включите
- Галочка «Включить ntfy».
- Topic уже в поле (если генерировали там).
- Нажмите «Тест подключения» в блоке ntfy.
- На телефон должен прийти push с тестом.
Если push не пришло:
- topic в приложении и в панели одинаковый?
- в приложении указан тот же сервер (
ntfy.sh)? - у ntfy на телефоне разрешены уведомления в настройках Android/iOS?
Шаг 5. Сохранить
- Нажмите «Сохранить и синхронизировать» внизу страницы.
- Дождитесь сообщения об успешной синхронизации.
Можно оба канала сразу
Telegram и ntfy не мешают друг другу. Можно включить оба — алерт придёт и в Telegram, и на телефон.
Пауза (если идут тех.работы)
Кнопки 5 / 15 / 40 мин или «До включения» — временно отключают отправку, мониторинг при этом работает.
«Включить уведомления» — снова включает алерты.
Тестовые кнопки работают даже на паузе — ими удобно проверять настройки.
Отпечатки JA4 на стороне сервера
JA4 — это отпечаток TLS-соединения, то есть способ понять, каким клиентом реально пришёл запрос, ещё до того, как сайт получил HTTP-запрос.

Простыми словами:
- User-Agent можно подделать:
User-Agent: Mozilla/5.0 Chrome/120любой бот может написать себе такой.
- IP тоже можно менять через прокси/VPN.
- Cookie можно очистить.
А вот TLS handshake подделать сложнее, потому что он зависит от того, какая программа открыла соединение:
- Chrome
- Firefox
- curl
- Python requests
- Go HTTP client
- Playwright
- Selenium
- антиботный скрипт
- самописный бот
JA4 смотрит на параметры первого TLS ClientHello:
TLS версия
Cipher suites
Расширения TLS
ALPN (h2/http1.1)
порядок параметрови превращает это в короткий хеш:
t13d191000_9dc949149365_a84f6d12c930 (пример)
Пример реальной пользы
Допустим, к сайту идёт атака:
100 000 запросов:
IP разные:User-Agent:
Mozilla/5.0 Chrome/120Всё выглядит как обычные люди.
Но JA4:
t13d191000_9dc949149365_a84f6d12c930\
у всех одинаковый.
Вы видите:
JA4:
t13d191000_9dc949149365_a84f6d12c930
Запросов:
98 542
URL:
/
/wp-login.php
/xmlrpc.php
Страна:
Россия
Германия
СШАИ понимаете:
«Это не 100 тысяч пользователей. Это один бот со сменой IP».
Дальше блокируете:

Обратите внимание, что Отпечатки по JS (старый вариант) или по JA4 — доступны ОТ СТАНДАРТ ТАРИФА.
В панели аналитики — теперь можно посмотреть Топ 5 / 10 / 15 по JA4 отпечаткам
JA4 Fingerprint и JS Fingerprint: в чём разница и зачем они нужны для защиты сайтов
Для защиты сайтов одного IP и User-Agent уже недостаточно. Боты могут менять адреса и маскироваться под обычных пользователей. Поэтому используются дополнительные отпечатки клиента.
Что такое JA4 Fingerprint
JA4 — это отпечаток TLS-соединения. Он анализирует, как клиент подключается к сайту:
- версию TLS;
- поддерживаемые шифры;
- расширения;
- параметры HTTP/2;
- особенности TLS-библиотеки.
Главный плюс — JA4 можно получить прямо на прокси сервере ещё до передачи запроса на основной сервер.
Схема:
Клиент
↓
TLS handshake
↓
Прокси-серпвер (получает JA4)
↓
Основной серверЭто позволяет сразу:
- блокировать подозрительные клиенты;
- собирать статистику;
- находить одинаковые инструменты у разных IP.
Например:
1000 IP адресов
одинаковый JA4
одинаковые URL запросов
→ вероятно одна бот-сетьЧто такое JS Fingerprint
JS Fingerprint работает внутри браузера через JavaScript.
Он собирает данные устройства:
- Canvas;
- WebGL;
- GPU;
- разрешение экрана;
- язык;
- часовой пояс;
- параметры браузера.
Он хорошо показывает, что это один и тот же браузер даже при смене IP.
Вот наша логика
Минус — его можно получить только после загрузки страницы и выполнения JS. То есть скрипт нужно устанавливать на основной сайт — что может вызвать сложность.
Главное отличие
| JA4 | JS Fingerprint | |
|---|---|---|
| Где работает | TLS / прокси | Браузер / сайт |
| Когда появляется | До HTTP-запроса | После загрузки страницы |
| Нужен JS | Нет | Да |
| Нужны cookies | Нет | Обычно да |
| Хорош для ботов | Да | Да |
| Определяет устройство | Нет | Да |
Лучший вариант для защиты
Использовать вместе:
Клиент
↓
JA4 в Caddy
↓
Фильтр плохих клиентов
↓
JS Fingerprint
↓
Дополнительная проверкаДругие исправления
- при смене пароля через панель VPS, пароль так же меняется и на ebyebots.ru/server — сделали единую синхронизацию
- Google шрифты и другие скрипты теперь грузятся локально с VPS сервера (была проблема что у некоторых панель долго грузилась из за блокировок на уровне ТСПУ)
P.S Скорее всего отпечатки JS Fingerprint удалим в следующих обновлениях, функция не востребована — JA4 закрывает больше задач.

