WAF (فایروال)
WAF (Web Application Firewall) هر درخواست را بررسی میکند و حملهها را مسدود میکند: SQL injection، cross-site scripting، path traversal، command injection.
WAF انسین مدیریتشده است، روی OWASP Core Rule Set، و توسط nsin بهروز نگه داشته میشود. شما signature نمینویسید — فقط کجا و چقدر سختگیرانه را تنظیم میکنید.
روشن کردنش
Section titled “روشن کردنش”- Rules → Add Rule → WAF.
- path ها را روی همه بگذارید، یا به یک بخش محدود کنید.
- strictness و sensitivity را تنظیم کنید (پایین).
- اول در dry run ذخیره کنید.
Strictness و sensitivity
Section titled “Strictness و sensitivity”| تنظیم | چه میکند |
|---|---|
| Strictness (paranoia level، ۱ تا ۴) | چه بررسیهایی اجرا شوند. ۱: فقط حملههای واضح. بالاتر: حملههای ظریفتر، false positive بیشتر. بیشتر سایتها: ۱ تا ۲. |
| Sensitivity (threshold) | با هر بررسی که trip میشود score بالا میرود؛ در این score، block میشود. پایینتر یعنی سختگیرتر. |
| Body inspection limit | چند کیلوبایت از body بررسی شود؛ upload ها به همین سقف میخورند. 0 یعنی رد شدن از آن. |
همیشه با dry run شروع کنید
Section titled “همیشه با dry run شروع کنید”یک قانون dry-run آنچه را که مسدود میکرد log میکند اما همهچیز را رد میکند.
- قانون را در dry run بسازید.
- یکی دو روز بگذارید.
- Monitoring → WAF log را بررسی کنید.
- اگر ترافیک واقعی گرفتار شد: تنظیمش کنید (پایین). وگرنه، اجرایی کنید.
برداشتن false positive
Section titled “برداشتن false positive”WAF log میگوید کدام بررسی با rule id تطبیق یافته — از دقیقترین راهحل به کلیترین:
- آن rule id را exclude کنید. بقیه همچنان کار میکنند.
- path ها را محدودتر کنید تا WAF آن endpoint را رد کند.
- strictness کل قانون را کم کنید.
راه اول را به از دست دادن محافظت ناحیهی admin ترجیح دهید.
ترکیب قوانین
Section titled “ترکیب قوانین”- یک قانون WAF، کل سایت، strictness ۱.
- یک قانون WAF سختگیرتر روی
/admin/*یا API شما. - Rate limiting روی
/login. - Block rule برای path هایی که هرگز serve نمیکنید،
مثل
/wp-login.phpروی سایتی که WordPress نیست.
سوالهای رایج
Section titled “سوالهای رایج”بازدیدکنندههای واقعی مسدود شدند. در WAF log پیدایش کنید، rule id را یادداشت کنید، exclude کنید. چند id برای یک ویژگی: بهجایش path را محدود کنید.
WAF سایتم را کند میکند؟ نه — بررسی روی edge است، در چند میلیثانیه؛ body limit سرعت را حفظ میکند.
با وجود firewall سرور هم بازش لازم دارم؟ بله — پیش از اینکه هزینهی bandwidth و CPU بدهید جلوی حمله را میگیرد.
بازدیدکنندههای مسدودشده صفحهی nsin را میبینند.
صفحهی 403 خود nsin است، نه شما — قوانین error page فقط 5xx را پوشش میدهند.
ببینید صفحات خطای سفارشی.