Обновление защиты eByeBots

eByeBots 2.6: GEO-фильтрация, мониторинг VPS и уведомления в Telegram/ntfy, отпечатки JA4 Fingerprint

Крупное обновление системы защиты eByeBots: больше контроля, больше аналитики и новые способы выявления угроз

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

Фильтрация по Странам / ASN-сетям / Городам

В систему защиты добавлена GEO фильтрация на любом тарифе

Блокировка / Исключения по ASN, GEO, Стране, Городу

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

В системных настройках  вывели информацию о версии базы GeoLite2, система проверяет каждые 3 часа базу и обновляет если это требуется, можно обновить вручную:

Обновление Geo

Уведомления Telegram / Ntfy (мобильное устройство)

Страница «Уведомления» следит за сервером и сразу пишет вам, если что-то пошло не так.

Уведомления о доступности сервера Telegram / Ntfy

Что приходит

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

уведомления в тг о нагрузке прокси сервера

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

уведомления в телеграм о проблемах с серверомtelegram push тест уведомление

Telegram — в бота/канал, если вы там постоянно.

ntfypush на телефон (Android/iOS). Удобно, когда мессенджер закрыт: как уведомление от банка. Ставите приложение ntfy, подписываетесь на topic (лучше нажать «Сгенерировать» — это как пароль — ставьте надежный topic).

Можно включить оба канала сразу.

Что ещё есть

  • Пауза (5 / 15 / 40 мин или до включения) — на время правок, чтобы не спамило
  • Тесты — кнопки «пример сообщения», проверить сообщения
  • «Сохранить и синхронизировать» — настройки уходят на центральную панель eByeBots

ntfy push проблема с сервером

Зачем это

Вы узнаёте о проблеме раньше пользователей — когда сайт массово отдаёт ошибки или «лежит».

  • Мониторинг 5** ошибок происходят на стороне VPS прокси-сервера, если Вы поймали 502 ошибку, скорее всего Ваш основной сервер — недоступен / блокирует доступ к нашему прокси серверу. Это своего рода мониторинг Вашего сайта.
  • Уведомления о превышении нагрузки прокси-сервера CPU > 60 например или меньше 0.2% — помогут оперативно узнать, когда прокси сервер превысил нагрузку — эта нагрузка может пойти и на основной сервер.
  • Если нагрузка меньше 0.2% — то скорее всего прокси сервер по каким то причинам не доступен / отключен / авария у хостера или что ещё.

Мониторинг нагрузки прокси-сервера размещен не на Вашем VPS — поэтому если от отключится, мониторинг все равно уведомит Вас.

Как включить уведомления

Telegram

Шаг 1. Создайте бота

  1. В Telegram откройте @BotFather.
  2. Отправьте /newbot.
  3. Придумайте имя и username бота (должен заканчиваться на bot).
  4. BotFather пришлёт токен вида:
    7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Скопируйте и никому не показывайте.

Шаг 2. Куда слать уведомления

Закрытый канал (удобнее для команды)

  1. Создайте приватный канал.
  2. Добавьте бота администратором (можно без лишних прав — достаточно права писать).
  3. Напишите любое сообщение в канал.
  4. Перешлите это сообщение боту @idbot .
  5. Найдите Chat ID канала — обычно начинается с -100, например: -1001234567890.

Шаг 3. Вставьте в панель

  1. Блок Telegram на странице уведомлений.
  2. Включите галочку «Включить Telegram».
  3. Токен бота — вставьте токен от BotFather.
  4. ID чата — ваш ID или ID канала (-100...).

Шаг 4. Проверка

  1. Нажмите «Тест подключения» (в блоке Telegram).
  2. В Telegram или канале должно прийти тестовое сообщение.
  3. Если не пришло:
    • для канала: бот точно админ?
    • ID начинается с -100 для каналов?
    • токен скопирован целиком, без пробелов?

Шаг 5. Сохранить

  1. При необходимости включите мониторинг 5xx и CPU выше на странице.
  2. Внизу нажмите «Сохранить и синхронизировать».
  3. Должно появиться: «Настройки сохранены и синхронизированы».

ntfy (push на телефон)

ntfy — приложение с push-уведомлениями. Работает даже когда Telegram закрыт.

Шаг 1. Установите приложение

Шаг 2. Topic в панели (это «пароль» канала)

  1. Блок ntfy на странице уведомлений.
  2. Нажмите «Сгенерировать» рядом с полем Topic.
    Появится длинная случайная строка (~60 символов).
  3. Скопируйте topic (иконка глаза — показать текст).
  4. Не используйте простые имена вроде mysite или test на публичном сервере — любой может подписаться.

Поле «Сервер ntfy» оставьте по умолчанию:
https://ntfy.sh
(если свой сервер ntfy — укажите его URL).

Шаг 3. Подписка в приложении

  1. Откройте приложение ntfy.
  2. Нажмите + (добавить подписку).
  3. Вставьте тот же topic, что сгенерировали в панели.
  4. Сервер: https://ntfy.sh (или ваш, если меняли).
  5. Сохраните подписку.

Topic в панели и в приложении должны совпадать символ в символ.

Шаг 4. Вставьте в панель и включите

  1. Галочка «Включить ntfy».
  2. Topic уже в поле (если генерировали там).
  3. Нажмите «Тест подключения» в блоке ntfy.
  4. На телефон должен прийти push с тестом.

Если push не пришло:

  • topic в приложении и в панели одинаковый?
  • в приложении указан тот же сервер (ntfy.sh)?
  • у ntfy на телефоне разрешены уведомления в настройках Android/iOS?

Шаг 5. Сохранить

  1. Нажмите «Сохранить и синхронизировать» внизу страницы.
  2. Дождитесь сообщения об успешной синхронизации.

Можно оба канала сразу

Telegram и ntfy не мешают друг другу. Можно включить оба — алерт придёт и в Telegram, и на телефон.


Пауза (если идут тех.работы)

Кнопки 5 / 15 / 40 мин или «До включения» — временно отключают отправку, мониторинг при этом работает.
«Включить уведомления» — снова включает алерты.

Тестовые кнопки работают даже на паузе — ими удобно проверять настройки.

Отпечатки JA4 на стороне сервера

JA4 — это отпечаток TLS-соединения, то есть способ понять, каким клиентом реально пришёл запрос, ещё до того, как сайт получил HTTP-запрос.

ja4 отпечатки

Простыми словами:

  • 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».

Дальше блокируете:

Блокировка по JA4

Обратите внимание, что Отпечатки по 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.
Вот наша логика

eByeBots 1.8: На пути к созданию полноценного аналога Cloudflare в России — пользовательские правила защиты, отпечатки Fingerprint, Яндекс метрика..

Минус — его можно получить только после загрузки страницы и выполнения JS. То есть скрипт нужно устанавливать на основной сайт — что может вызвать сложность.


Главное отличие

JA4JS Fingerprint
Где работаетTLS / проксиБраузер / сайт
Когда появляетсяДо HTTP-запросаПосле загрузки страницы
Нужен JSНетДа
Нужны cookiesНетОбычно да
Хорош для ботовДаДа
Определяет устройствоНетДа

Лучший вариант для защиты

Использовать вместе:

Клиент
 ↓
JA4 в Caddy
 ↓
Фильтр плохих клиентов
 ↓
JS Fingerprint
 ↓
Дополнительная проверка

Другие исправления

  • при смене пароля через панель VPS, пароль так же меняется и на ebyebots.ru/server — сделали единую синхронизацию
  • Google шрифты и другие скрипты теперь грузятся локально с VPS сервера (была проблема что у некоторых панель долго грузилась из за блокировок на уровне ТСПУ)

P.S Скорее всего отпечатки JS Fingerprint удалим в следующих обновлениях, функция не востребована — JA4 закрывает больше задач.