GH GambleHub

Web Application Firewall және шабуылдан қорғау

Қысқаша түйіндеме

WAF/WAAP HTTP (S )/WebSocket-трафикті қосымша деңгейінде сүзеді және бақылайды: осалдықтарды пайдалануды (OWASP Top 10), аутентификацияны айналып өту әрекеттерін, сканерлеуді, автоматтандырылған бот-трафикті және L7 DDoS бұғаттайды. Қазіргі заманғы стек анти-бот қозғалтқышпен, API-қорғанышпен, rate limiting, виртуалды патчтармен, сондай-ақ ережелер код сияқты қауіпсіз шығуы үшін CI/CD-мен тығыз интеграциямен толықтырылады.

Сәулеттегі рөлі мен орны

Edge/CDN WAF (бұлт): төмен жасырындылық, жаһандық бедел/Managed Rules, L7 DDoS.
Self-hosted WAF (on-prem/K8s): ішкі желілермен терең интеграция, жұқа теңшеу.
WAAP-тәсіл: WAF + API-Gateway функциялары (schema-validation, authZ), анти-бот, L7 DoS, mTLS.
Қосу схемалары: Reverse-proxy қолданбаның алдында; K8s Ingress-контроллер; Service Mesh сүзгілері; sidecar.

Қорғау моделі

Negative security (қолтаңбалар/CRS): белгілі техникаларды жылдам жабу (SQLi/XSS/SSRF/RCE).
Positive security (allow-list): тек «валидті» сұрауларға рұқсат етеміз (әдістер/жолдар/схемалар/мазмұн түрлері).
Virtual Patching: эксплойтты код фиксіне дейін жедел бұғаттау.
Контекстілік: статикалық мазмұн, API, әкімшілер, жүктеулер, вебхуктер үшін әртүрлі саясат.

Үлгілік қатерлер мен шаралар

OWASP Top 10: SQLi, XSS, IDOR/BOLA, SSRF, шаблонизаторлардағы инъекциялар, десериализация, мисконфигтер.
L7 DDoS: баяу сұраулар/тақырыптар, ыстық эндпоинттарға burst → қорғау: rate-limits, challenge, авто-блок.
Боттар/скрейперлер: мінез-құлық, жиілік, «адамгершілік емес» паттерндер, device-фингерпринтинг, динамикалық токендер.
Credential Stuffing/ATO: IP/ASN бойынша логиндерді ұстап алу/іріктеу → аномалия, velocity rules, қосымша факторлар.
Жүктеулер: түрі/өлшемі/мультисканы антивируспен, «image-only» медиазоналарда.
API/GraphQL: schema-validation, 'maxDepth '/' maxCost', жазаланбайтын wildcard тыйым салу, әдістер мен тақырыптарды бақылау.

Ережелер саясаткерлері мен конструкторлары

Кез келген қолданбаға арналған негізгі «скелет»:

1. Көлік: TLS 1. 2+/1. 3. HSTS, mTLS сезімтал бэкендтерде.

2. Әдістер: allow-list ('GET, POST, PUT, DELETE, PATCH, OPTIONS') ресурсқа бірегей.

3. Жолдар: қатаң маскалар/регэксптер; әкімші/биллинг - жеке префикс/доменге.

4. Тақырыптар: ақ тізімдер, қауіпті ('X-Original-URL', стандартты емес) қажетсіз тыйым салу.

5. Денелер: маршрут бойынша JSON-only/Multipart-only; «Content-Length» лимиттері, «логин/іздеу» үшін бинарлар блогы.

6. Rate limits: per-IP/ASN/кілт/ұйым; «қымбат» сұраныстарға арналған жекелеген лимиттер.

7. Анти-бот: мінез-құлық скорингі, «қозғамайтын» челлендждер, сәйкестікті жапсыру (cookie-токендер, JA3/TLS FP).

8. CRS/Managed Rules: қосылған, FP астында тюнинг.

9. Вирт-патчтар: шабуылдардың белгілі параметрлерін/үлгілерін жылдам бұғаттау.

10. Логи/метрика: бірыңғай пішім, 'trace _ id' -мен корреляция, FP/TP туралы есептер.

Тюнинг практикасы: жалған іске қосылуды қалай төмендету керек

Трафикті таңдай отырып, Detect-only/Count-mode (shadow) бағдарламасында жаңа ережелерді іске қосу.
Мәтінмәндік ерекшелік жасау ('path =/search', 'param = q').
Аймақты бөлу: «көпшілік беттер» vs «сезімтал операциялар» (агрессия шегі әртүрлі).
Конвейер: ереже → стейджинг → канарейка (1-5%) → прод; FP өлшемдері бойынша rollback.
Регрессиялық тесттер үшін «жалған» payload каталогын жүргізу.

DevSecOps бағдарламасына біріктіру

CI: Git статикалық ережелері; тестілер: нақты сұраулардың репликасы + шабуыл каталогынан синтетика.
CD: канареялық қондырғылар, фич жалаулары; «саяси» мониторинг (ережелерді өзгерту = change).
RASP және SAST/DAST: WAF кодты түзетуді толықтырады, бірақ алмастырмайды.

Бақылау және SLO

Өлшемдері:
  • WAF арқылы латенттілік p95/99; тыйым салынған/өткізіліп алынған; share Managed Rules vs custom; «attack rate».
  • Анти-бот: челленджер/тапсыру үлесі, FP/TP.
  • L7 DDoS: burst-rate, auto-mitigation events.
SLO мысалдары:
  • "0 артық емес. 5% FP авторизацияланған операцияларға/тәулікке".
  • «p95 overhead WAF ≤ 10 мс».
  • «TTR виртуалды патч ≤ 30 минут».
  • Alarms: ережелерді шығарғаннан кейін 4xx/5xx; FP өсуі; капч өтуінің құлауы; JWKS/mTLS-валидация деградациясы.

Конфигурация мысалдары

ModSecurity + OWASP CRS (Nginx)

nginx
Enabling ModSecurity modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main. conf;
`/etc/nginx/modsec/main. conf`:
apache
SecRuleEngine On
Include /usr/local/owasp-modsecurity-crs/crs-setup. conf
Include /usr/local/owasp-modsecurity-crs/rules/.conf

Example of an exception for a search parameter
SecRule REQUEST_URI "@beginsWith /search" "id:900100,phase:1,pass,nolog,ctl:ruleRemoveByTag=attack-xss"
SecRule REQUEST_URI "@beginsWith /search" "id:900101,phase:2,pass,ctl:ruleRemoveTargetById=942100; ARGS:q"

AWS WAF (JSON, rate limit + елдер тізімінің блогы)

json
{
"Name": "prod-web-acl",
"Scope": "CLOUDFRONT",
"DefaultAction": { "Allow": {} },
"Rules": [
{
"Name": "BurstLogin",
"Priority": 1,
"Statement": {
"RateBasedStatement": {
"Limit": 100,
"AggregateKeyType": "IP",
"ScopeDownStatement": { "ByteMatchStatement": {
"SearchString": "/login",
"FieldToMatch": { "UriPath": {} },
"TextTransformations": [{ "Priority": 0, "Type": "NONE" }],
"PositionalConstraint": "CONTAINS"
}}
}
},
"Action": { "Block": {} },
"VisibilityConfig": { "MetricName": "BurstLogin", "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true }
}
]
}

Cloudflare (Expression Rules)


(http. request. uri. path contains "/admin" and ip. geoip. country ne "UA")
or (http. request. uri. path eq "/login" and cf. threat_score > 10)
or (http. request. uri. path contains "/api" and not http. request. headers["authorization"][0] contains "Bearer ")

NGINX: әдістер/денелер бойынша қарапайым ереже

nginx location /api/withdraw {
limit_except POST { deny all; }
if ($request_method = POST) {
set $cl $http_content_length;
if ($ cl = "") {return 411;} # length is required if ($ cl> 1048576) {return 413;} # ≤ 1MB add_header X-Idempotency-Required "true";
}
}

GraphQL: шектеулер

'maxDepth = 6', 'maxCost = 1000', '__ schema' дегенге тыйым салу, allow-list операциялары, тақырыптарды валидациялау ('Content-Type: application/json').

Анти-бот және адам-достық тексерулер

Invisible challenge (капчасыз JS-челлендждер), «қымбат» жолдардағы proof-of-work, мінез-құлық талдауы (қозғалыс/таймингтер).
TLS/JA3-фингерпринтинг, IP/ASN беделі, прокси/VPN тізімдері (ақылға қонымды шекте).
Нысандардағы қақпандар (honeypot-өрістер), нысанның/сеанстың динамикалық токендері.
Құпиялылықты қорғау: трекингті барынша азайту, ашық саясат, opt-out опциялары.

API фокусы

Schema-first: валидация үшін OpenAPI/JSON Schema; артық өрістерге тыйым салу.
Auth: міндетті түрде Bearer JWT немесе mTLS; reject без `Authorization`.
Rate/Quota: per-key/per-org; асып кеткен кезде - «soft block «/slowing.
Webhooks: HMAC, 'timestamp + nonce', қысқа қабылдау терезесі.
GraphQL: жоғарыдағы шектеулерді қараңыз; әрекеттің атауын/белгісін логиндеу.

Жүктеулер мен медиа

Өлшем шегі, MIME/кеңейтімдер whitelists, файлдарды қайта атау;

AV-сканер (көп қозғалтқыштар), ImageMagick policy (қауіпті декодерлерсіз);

Thumb-сервис жеке доменде, serve-only-images.

Әкімшілік және сындарлы аймақтардың қауіпсіздігі

Жеке домен/жол, mTLS/жалпы ASN/елдерден тыйым салу, қатаң rate limits, JIT-қатынас, IP allow-list.
Қосымша сигналдар (device posture, risk score) → екінші тексеруді талап ету.

Операциялар, инциденттер және виртуалды патчтар

Runbook: блок ережелерін тез шығару, TTL шектеу, командаларды хабарландыру.
Шегініс критерийлері: биіктігі 4хх/5хх> шегі, FP> шегі, p95 latency ↑.
Post-mortem: регрессиялық ережелер жиынтығына қамырды қосу, SIGMA-алертты SIEM-ге бекіту.

Комплаенс және құпиялылық

Минимумды логикалау: жол/әдіс/код/блок себебі/сәйкестендіргіштер; PII/дененің құпияларын сақтауға болмайды.
Саясат бойынша логтарды сақтау мерзімдері; қол жеткізу - рөлдер бойынша; дискідегі шифрлау.

iGaming/финтех үшін ерекшеліктер

Төлемдер/төлемдер/әмияндар: per-org квоталар, PSP-ге mTLS, қатаң allow-парақтар жолдары, PSP вебхуктері үшін HMAC.
АТО/бонус-абьюз: логин/тіркеу/промокодтарға velocity-ережелер, мінез-құлық лимиттері және анти-бот.
Контент-провайдерлер/студиялар: жеке домендер/саясаттар, IP/ASN allow-list, WAF әсеріне Time-to-Wallet/конверсия мониторингі.
Өңірлік талаптар: гео-саясат (елдер/өңірлер), GDPR үшін өңдеулердің ашықтығы.

Енгізу жол картасы

1. Аймақтарды түгендеу (жария, API, әкімші, жүктеу).
2. Негізгі профиль: TLS, allow-list, Managed Rules/CRS әдістері/жолдары.
3. Rate limits + сезімтал жолдарда анти-бот.
4. Виртуалды патчтар және шұғыл ережелер процесі (SLA ≤ 30 мин).
5. Ережелер үшін CI/CD, стейджинг/канарейка/shadow-mode.
6. Телеметрия, SLO, регрессиялық ережелер тестілері.
7. Тексеріп шығуларды «тазалау» және ерекшеліктерді мерзімді тексеру.

Типтік қателер

«Барлық CRS максимумға қосылды» → FP көшкіні және команданың жануы.
Канарейка және shadow режимі жоқ ережелер.
Сегменттеудің болмауы: барлығы үшін бір саясат.
API/GraphQL ерекшеліктерінің игноры (schema/limits).
Корреляциясы жоқ ('trace _ id') және сапа өлшемдері жоқ логтар.

FAQ

WAF қауіпсіз кодты ауыстырады ма?
Жоқ. Бұл жұмсарту қабаты және «виртуалды патч», бірақ кодтағы техникалық қарызды жою міндетті.

Қатты блоктарды қосудың уақыты келгенін қалай түсінуге болады?
Shadow режімі бойынша есеп төмен FP көрсеткенде және регрессиялық ережелер тестілері болғанда.

API үшін жеке WAF қажет пе?
Жақсы WAAP/API шлюзімен интеграция: схема, лимиттер, аутентификация, вебхуктардың қолтаңбалары.

Жиынтығы

Тиімді WAF/WAAP - бұл DevSecOps процестерімен, телеметриямен және айқын SLO-мен бекітілген негізгі CRS/Managed Rules, оң модель, анти-бот, лимиттер мен виртуалды патчтардың үйлесімі. Мұндай тәсіл осалдықтарға тез әрекет етуді, автоматтандырылған шабуылдарға төзімділікті және UX пен өнімділікке болжамды әсер етуді қамтамасыз етеді.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.