Теория
Что фильтруется на edge
IP reputation/ allow-deny lists;ASN filtering(ip.src.asnum);Geo filtering(ip.src.country);- header anomalies (отсутствие/невозможные комбинации);
- TLS fingerprint:
JA3(хеш ClientHello: версии TLS, cipher suites, extensions, elliptic curves),JA4(структурированный формат для современных TLS-клиентов, включая TLS 1.3-сигналы вроде ALPN и signature algorithms); - bot score (
cf.bot_management.score).
Fail-fast pipeline
- L3/L4 drops (network firewall, magic transit);
- лёгкие L7-эвристики (IP/ASN/Geo, JA3/JA4);
- challenge для подозрительных;
- глубокая инспекция (WAF) для оставшихся.
Каждый следующий слой дороже на запрос; ранний drop экономит origin.
Bot signals
Один сигнал даёт массу FP. Работает ансамбль:
- TLS fingerprint (сигнал о классе клиентской библиотеки независимо от IP);
- JS detection (выполнение JS, поведение DOM);
- bot score (агрегат classifier signals);
- behavioral patterns (timing, session depth).
Что нужно уметь объяснить
Почему edge filtering дешевле origin filtering?
Ранний drop экономит дорогие слои: приложение, БД, очереди, upstream pool.
Почему «только IP blocklist» недостаточно?
Трафик распределён по облакам, NAT, residential proxies. Нужен ансамбль: IP + ASN + Geo + TLS fingerprint + поведение.
Где возможен bottleneck в edge filtering?
Тяжёлые regex и deep checks на 100% трафика. Дешёвые тесты — первыми, deep — selective.
Практика
1. Введите простые fail-fast правила
- deny/managed actions по известным плохим источникам;
- ASN/Geo ограничения для админ/API surface.
2. Добавьте lightweight header checks
Примерно:
- обязательные заголовки для конкретных endpoint;
- блок аномальных/невозможных комбинаций.
3. Включите bot policy ступенчато
- сначала
log; - затем
challenge; - затем selective
blockдля уверенных сигналов.
4. Замерьте цену фильтрации
Сравнивайте до/после:
- edge CPU;
- origin RPS;
- false positives;
- p95/p99.