GH GambleHub

فایروال برنامه وب و حفاظت در برابر حملات

خلاصه ای کوتاه

WAF/WAAP فیلتر و کنترل ترافیک HTTP (S )/WebSocket در سطح برنامه: بلوک بهره برداری از آسیب پذیری (OWASP بالا 10)، تلاش برای دور زدن احراز هویت، اسکن، ترافیک ربات خودکار و L7 DDoS. پشته مدرن توسط یک موتور ضد ربات، حفاظت API، محدود کردن نرخ، تکه های مجازی، و همچنین ادغام تنگ با CI/CD تکمیل شده است، به طوری که قوانین به عنوان امن به عنوان کد رول.

نقش و جایگاه در معماری

Edge/CDN WAF (ابر): تاخیر کم، شهرت جهانی/قوانین مدیریت شده، L7 DDoS.
WAF خود میزبان (on-prem/K8s): ادغام عمیق با شبکه های داخلی، تنظیم خوب.
رویکرد WAAP: توابع WAF + API-Gateway (اعتبار سنجی طرح، authZ)، ضد ربات، L7 DoS، mTLS.
طرح های گنجاندن: معکوس پروکسی قبل از برنامه ؛ کنترل کننده ورودی در K8s ؛ خدمات فیلترهای مش ؛ ماشین جانبی.

مدل حفاظت

امنیت منفی (امضا/CRS): پوشش سریع تکنیک های شناخته شده (SQLi/XSS/SSRF/RCE).
امنیت مثبت (allow-list): فقط درخواست های «معتبر» (روش ها/مسیرها/طرح ها/انواع محتوا) را مجاز می کند.
Virtual Patching: مسدود کردن آنلاین سوء استفاده به اصلاح کد.
زمینه: سیاست های مختلف برای محتوای استاتیک، API، مدیران، دانلود ها، وب سایت ها.

💡 > تهدیدات و اقدامات معمول

OWASP بالا 10: SQLi، XSS، IDOR/BOLA، SSRF، تزریق قالب، deserialization، اشتباه.
L7 DDoS: درخواست های آهسته/هدر، انفجار برای نقاط پایانی داغ → حفاظت: محدودیت نرخ، چالش، خودکار مسدود کردن.
رباتها/اسکرپرها: رفتار، فرکانس، الگوهای «غیر انسانی»، اثر انگشت دستگاه، نشانه های پویا.
پر کردن اعتبار/ATO: رهگیری/شمارش ورود → ناهنجاری توسط IP/ASN، قوانین سرعت، عوامل اضافی.
دانلودها: نوع/اندازه/آنتی ویروس multiscan، «فقط تصویر» در مناطق رسانه.
API/GraphQL: schema-validation, 'maxDepth '/' maxCost', ممنوعیت wildcards بدون مجازات, کنترل متدها و هدرها.

سیاست ها و طراحان قانون

اسکلت پایه برای هر برنامه:

1. حمل و نقل: TLS 1. 2+/1. 3، HSTS، mTLS در پشت حساس.

2. روش ها: اجازه لیست ('GET، POST، PUT، DELETE، PATCH، OPTIONS') در هر منبع منحصر به فرد است.

3. مسیرها: ماسک های سخت/regexps ؛ admin/billing - به یک پیشوند/دامنه جداگانه.

4. عنوان ها: لیست های سفید، ممنوعیت خطرناک («X-Original-URL»، غیر استاندارد) غیر ضروری.

5. بدن: JSON-only/Multipart-only در طول مسیر ؛ محدودیت «محتوا طول»، بلوک باینری برای «ورود/جستجو».

6. محدودیت نرخ: در هر IP/ASN/کلید/سازمان ؛ محدودیت های جداگانه برای درخواست های «گران»

7. ضد ربات: به ثمر رساند رفتاری، «غیر تحریک کننده» چالش ها، هویت چسب (نشانه کوکی، FP JA3/TLS).

8. CRS/قوانین مدیریت: فعال, تنظیم تحت FP.

9. پچ های Wirth: مسدود کردن سریع پارامترهای شناخته شده/الگوهای حمله.

10. سیاههها/معیارها: فرمت یکنواخت، همبستگی با 'trace _ id'، گزارش FP/TP.

تمرین تنظیم: چگونه برای کاهش مثبت کاذب

اجرای قوانین جدید در Detect-only/Count-mode (سایه) با نمونه برداری ترافیک.
استثنائات را با متن ایجاد کنید ('path =/search'، 'param = q' اجازه می دهد کاراکترهای خاص).
منطقه را تقسیم کنید: «صفحات عمومی» در مقابل «عملیات حساس» (آستانه تهاجمی متفاوت است).
نوار نقاله: rule → staging → canary (1-5٪) → prod; بازگشت توسط معیارهای FP.
حفظ یک دایرکتوری از «غلط» payload برای آزمون رگرسیون.

ادغام در DevSecOps

CI: قوانین استاتیک در Git ؛ تست ها: درخواست های واقعی + synthetics را از دایرکتوری حمله پخش کنید.
CD: محاسبات قناری، پرچم های ویژگی ؛ نظارت «سیاسی» (تغییر قانون = تغییر).
RASP و SAST/DAST: مکمل های WAF اما اصلاح کد را جایگزین نمی کند.

💡 > قابلیت مشاهده و SLO
معیارها:
  • p95/99 تاخیر از طریق WAF ؛ نسبت مسدود شده/از دست رفته ؛ به اشتراک گذاری قوانین مدیریت در مقابل سفارشی ؛ «نرخ حمله»
  • Anti-bot: سهم چالش ها/تغییر، FP/TP.
  • L7 DDoS: رویدادهای کاهش سرعت، کاهش خودکار.
مثال های SLO:
  • نه بیشتر از 0. 5٪ FP در عملیات مجاز/روز"
  • «P95 سربار WAF ≤ 10 мс».
  • فهرست شهرهای بریتانیا «Virtual patch TTR ≤ 30 minutes».
  • هشدارها: اسپایک 4xx/5xx پس از انتشار قوانین ؛ رشد FP ؛ قطره در عبور captcha ؛ کاهش اعتبار 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، محدودیت نرخ + بلوک لیست کشور)

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 (قوانین بیان)


(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', ممنوعیت طرح __ 'در فروش, اجازه لیست عملیات, اعتبار سنجی هدر (' محتوا نوع: نرم افزار/json ').

چک های ضد ربات و دوستانه

چالش نامرئی (چالش های JS بدون captcha)، اثبات کار در مسیرهای «گران»، تجزیه و تحلیل رفتاری (حرکات/زمان بندی).
اثر انگشت TLS/JA3، شهرت IP/ASN، لیست پروکسی/VPN (در حد معقول).
تله ها (زمینه های honeypot) در فرم ها، نشانه های فرم/جلسه پویا.
حفاظت از حریم خصوصی: به حداقل رساندن ردیابی، سیاست های شفاف، گزینه های انتخاب کردن.

تمرکز API

Schema-first: OpenAPI/JSON Schema برای اعتبارسنجی ؛ ممنوعیت استفاده از فیلدهای اضافی

Auth: حامل اجباری JWT یا mTLS ؛ без «مجوز» را رد کنید.
نرخ/سهمیه بندی: در هر کلید/در هر سازمان ؛ اگر بیش از حد - «بلوک نرم «/کاهش.
Webhooks: امضای HMAC، «برچسب زمان + nonce»، پنجره پذیرش کوتاه.
GraphQL: محدودکنندهها را در بالا ببینید ؛ نام/برچسب عملیات را وارد کنید.

دانلودها و رسانه ها

محدودیت اندازه، لیست های سفید MIME/extensions، تغییر نام فایل ها ؛

اسکن AV (چند موتور)، سیاست ImageMagick (بدون رمزگشاهای خطرناک) ؛

سرویس انگشت شست در یک دامنه جداگانه، فقط خدمت تصاویر.

ایمنی مدیران و مناطق بحرانی

دامنه/مسیر جداگانه، mTLS/ممنوعیت از مشترک ASN/کشورها، محدودیت نرخ سخت، دسترسی JIT، IP اجازه لیست.
سیگنال های اضافی (وضعیت دستگاه، نمره خطر) → نیاز به بررسی دوم.

عملیات، حوادث و تکه های مجازی

Runbook: انتشار سریع قوانین بلوک، محدودیت TTL، اعلان فرمان.
معیارهای بازگشت: رشد 4xx/5xx> آستانه، FP> آستانه، p95 latency↑.
پس از مرگ: تست را به مجموعه قوانین رگرسیون اضافه کنید، هشدار SIGMA را به SIEM ارسال کنید.

رعایت و حفظ حریم خصوصی

حداقل ورود: مسیر/روش/کد/بلوک دلیل/شناسه ؛ اسرار PII/بدن را ذخیره نکنید.

دوره نگهداری ورود به سیستم سیاست ؛ دسترسی - توسط نقش ها ؛ رمزگذاری بر روی دیسک

ویژگی های برای iGaming/fintech

پرداخت/پرداخت/کیف پول: سهمیه هر سازمان, mTLS به PSP, سخت اجازه می دهد لیست از مسیرهای, HMAC برای PSP webhooks.
ATO/سوء استفاده پاداش: قوانین سرعت برای ورود/ثبت نام/کدهای تبلیغاتی، محدودیت های رفتاری و ضد ربات.
ارائه دهندگان محتوا/استودیوها: دامنه ها/سیاست های فردی، لیست مجوز IP/ASN، نظارت بر زمان به کیف پول/تبدیل در تاثیر WAF.
الزامات منطقه ای: سیاست های جغرافیایی (کشورها/مناطق)، شفافیت درمان برای GDPR.

نقشه راه پیاده سازی

1. موجودی مناطق (عمومی، API، پنل مدیریت، دانلود).
2. مشخصات پایه: TLS، روش ها/مسیرهای مجاز لیست، قوانین مدیریت شده/CRS.
3. محدودیت نرخ + ضد ربات در مسیرهای حساس.
4. پچ های مجازی و قوانین فوری (SLA ≤ 30 دقیقه).
5. CI/CD برای قوانین، staging/canary/shadow-mode.
6. تله متری، SLO، آزمون رگرسیون قوانین.
7. بررسی دوره ای استثنائات و «تمیز کردن» گذرگاه ها.

اشتباهات رایج

«تبدیل تمام CRS به حداکثر» → بهمن FP و فرسودگی شغلی تیم.

قوانین بدون قناری و حالت سایه

بدون تقسیم بندی: یک سیاست برای همه چیز

نادیده گرفتن ویژگی های API/GraphQL (طرح/محدودیت).
سیاهههای مربوط بدون همبستگی ('trace _ id') و بدون معیارهای کیفیت.

سوالات متداول

WAF جایگزین کد امن می شود ؟

نه، اينطور نيست این یک لایه کاهش و یک «پچ مجازی» است، اما بدهی فنی در کد باید حذف شود.

چگونه می توان فهمید که وقت آن است که بلوک های سخت را روشن کنیم ؟

هنگامی که گزارش حالت سایه FP کم را نشان می دهد و تست های رگرسیون قوانین وجود دارد.

آیا به یک WAF جداگانه برای API نیاز دارم ؟

WAAP بهتر/ادغام با دروازه API: طرح، محدودیت ها، احراز هویت، امضای webhook.

مجموع

WAF/WAAP کارآمد ترکیبی از قوانین اساسی CRS/مدیریت شده، مدل مثبت، ضد بوت، محدودیت ها و تکه های مجازی است که توسط فرآیندهای DevSecOps، تله متری و SLO های روشن پشتیبانی می شود. این رویکرد یک پاسخ سریع به آسیب پذیری ها، مقاومت در برابر حملات خودکار و تأثیر قابل پیش بینی در UX و عملکرد را فراهم می کند.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.