Rate limit · Bot detect · Geo

Архитектура
Множителят за пакети (по подразбиране 1,5×) позволява кратки пикове — напр. лимит за удостоверяване на съдържание 120 → таван при пакет 180/мин.
Режими — Монитор срещу Принудителен
монитор
но пропуска заявката
принудителен
Сигнали за засичане на ботове
Празен User-Agent — блокира клиенти, които не се идентифицират.
Известни поднизове на UA на ботове — съответства на curl, wget, python-requests, python-urllib, go-http-client, httpie, java-http-client, okhttp, apache-httpclient, bot, crawler, spider, scraper (без разлика на главни/малки букви).
Липсващ Accept-Language — истинските браузъри винаги го изпращат; повечето скриптове — не.
Липсващ Accept-Encoding — същото като по-горе.
Потребителски блок regex — вашият собствен шаблон (без разлика на главни/малки букви), напр. scraper|harvester|probe.
Потребителски разрешен regex — ако е зададен, ВСЕКИ UA, който не съответства, се отхвърля (строг разрешен списък).
Ако конкретна интеграция не може да изпрати нормален UA (напр. легитимна фонова задача), добавете нейния IP в белия списък вместо да отпускате сигналите за ботове глобално.
Списъци IP / Geo / ASN
Черен списък — CIDR адреси, получаващи 403 незабавно, без изразходване на брояч. Полезно за упорити нарушители.
Блокирани държави — ISO-2 кодове, разрешени чрез локален GeoIP. Празно = без гео блокиране.
Блокирани ASN — хостинг / VPN доставчици (напр. AS14061 Digital Ocean, AS16509 Amazon). Разрешени чрез GeoIP.
Справочник за Redis ключове
Оперативен наръчник
Първоначално активиране: задайте режим = монитор, активирайте ограничаване на скоростта. Изчакайте 24–48 ч.
Прегледайте телеметрията: sparkline показва кога биха настъпили пикове от 429; таблицата с топ 10 нарушители показва повтарящите се нарушители. Регулирайте лимитите, ако легитимни потребители ги достигат.
Мек принудителен режим: задайте режим = принудителен с лимити 2× по-високи от целевите. Наблюдавайте sparkline + канал за поддръжка в продължение на 2–3 дни.
Финален принудителен режим: стегнете лимитите до производствени стойности. Дръжте violations_before_block на 3 (по подразбиране) за поглъщане на случайни пикове.
Реакция при инцидент: IP атаки → добавете в текстовото поле Черен списък и запазете (разпространява се до nginx за ≤5 с чрез Redis).
Деблокиране на фалшиви положителни: IPTV Настройки → Сигурност → Топ нарушители → Деблокиране. Изчиства rl:blocked:{ip} + rl:violations:{ip}.
Файлове за реализация
Съхранявани конфигурационни ключове (iptv_defaults)
Всички се съхраняват под префикс sec.*. Запазват се при всяко кликване в UI.
Преглед на сигурността
Общ преглед на системната сигурност.
UFW информация.
Fail2ban информация.
Мультикаст информация.
CDN информация.
Най-добрите практики
Списък с най-добрите практики.