Loading...

آموزش / امنیت

WAF (فایروال برنامه وب) چیست؟

یک WAF ترافیک مخرب را پیش از رسیدن به سایت شما فیلتر می‌کند و حملاتی مانند SQL injection، XSS و bot های مخرب را مسدود می‌سازد. در اینجا توضیح می‌دهیم که WAF چیست، چگونه کار می‌کند و چرا اجرای آن در لبه شبکه (در کنار محافظت در برابر DDoS) اهمیت دارد.

WAF (فایروال برنامه وب) چیست؟

WAF چیست و چه چیزی را مسدود می‌کند

یک Web Application Firewall (WAF) میان بازدیدکنندگان و برنامه وب شما قرار می‌گیرد، هر درخواست ورودی را بازرسی می‌کند و تصمیم می‌گیرد که آن را اجازه دهد، مسدود کند یا به چالش بکشد. برخلاف یک فایروال شبکه سنتی که تنها به آدرس‌های IP و پورت‌ها نگاه می‌کند، یک WAF ترافیک واقعی وب را می‌فهمد — URL ها، هدرها، کوکی‌ها و داده‌های فرم — و به همین دلیل می‌تواند حملاتی را که خود برنامه شما را هدف قرار می‌دهند شناسایی کند.

این ابزار برای متوقف کردن رایج‌ترین تهدیدهای وب ساخته شده است: SQL injection (فریب دادن پایگاه داده شما)، cross-site scripting یا XSS (تزریق اسکریپت‌های مخرب)، path traversal و bot های مخرب یا سوءاستفاده‌گر. مجموعه قواعد آن معمولاً از OWASP Top 10 پیروی می‌کند، فهرست صنعتی مهم‌ترین ریسک‌های برنامه‌های وب.

یک WAF واقعاً چگونه کار می‌کند

هنگامی که یک درخواست می‌رسد، WAF آن را پیش از رسیدن به برنامه شما در برابر مجموعه‌ای از قواعد ارزیابی می‌کند. این قواعد ترکیبی هستند از امضاهای شناخته‌شده حملات (الگوهایی برای SQL injection، XSS و مواردی مشابه)، داده‌های اعتبار (IP ها و botnet های شناخته‌شده مخرب) و محدودیت‌های رفتاری مانند rate limiting برای کند کردن حملات brute-force و scraping. بر اساس نتیجه، درخواست را اجازه می‌دهد، مسدود می‌کند یا به چالش می‌کشد (برای مثال با بررسی‌ای که انسان‌ها را از bot ها جدا می‌کند).

چون در Layer 7 کار می‌کند، WAF می‌تواند تصمیم‌هایی بگیرد که یک فایروال شبکه قادر به آن نیست — برای مثال، اجازه دادن به ترافیک عادی به یک صفحه ورود، در حالی که درخواستی حاوی یک injection payload را مسدود می‌کند. WAF های خوب به شما اجازه می‌دهند ابتدا قواعد را در حالت مانیتور (monitor mode) اجرا کنید تا پیش از اعمال، ببینید چه چیزی مسدود خواهد شد.

WAF لبه شبکه در برابر مبدأ: چرا جایگاه اهمیت دارد

یک WAF که در لبه CDN اجرا می‌شود، درخواست‌های مخرب را در لایه بیرونی شبکه بازرسی و مسدود می‌کند — نزدیک به مهاجم و دور از سرور شما. ترافیک مخرب پیش از آنکه CPU، پایگاه داده یا پهنای باند مبدأ شما را مصرف کند حذف می‌شود، و همان لبه‌ای که حملات را فیلتر می‌کند، سیل‌های حجمی DDoS را نیز در سراسر ظرفیت جهانی خود جذب می‌کند.

یک WAF که تنها روی سرور خود شما (یا به‌صورت افزونه) اجرا می‌شود، همچنان باید ابتدا هر درخواست را دریافت و پردازش کند، بنابراین حملات و سیل‌ها پیش از فیلتر شدن به زیرساخت شما می‌رسند. قرار دادن امنیت در لبه شبکه به این معناست که سرور شما منابع خود را صرف بازدیدکنندگان واقعی می‌کند، نه صرف مقابله با حملات.

تنظیم دقیق: امنیت بدون false positive

بخش دشوار هر WAF مسدود کردن حملات بدون مسدود کردن مشتریان واقعی است. قواعد بیش از حد سخت‌گیرانه می‌توانند ارسال فرم‌های قانونی یا فراخوانی‌های API را به‌عنوان حمله علامت‌گذاری کنند (یک false positive)، در حالی که قواعد سست اجازه عبور تهدیدها را می‌دهند. رویکرد عملی این است که با حالت مانیتور شروع کنید، ببینید قواعد چه چیزی را می‌گیرند، سپس آن‌ها را سخت‌تر کنید و برای مسیرها یا پارامترهای خاصی که برنامه شما به آن‌ها نیاز دارد allowlist اضافه کنید.

این تنظیم دقیق کاری مستمر است، و به همین دلیل یک WAF مدیریت‌شده ارزشمند است: قواعد، امضاها و آستانه‌های DDoS برای شما نگهداری می‌شوند و با ظهور تهدیدهای جدید به‌روزرسانی می‌شوند، بنابراین بدون اینکه مجبور باشید یک مهندس امنیت شوید، محافظت دریافت می‌کنید.

چه زمانی یک WAF بیشترین اهمیت را دارد

فروشگاه‌ها و ورودها

هر جا که کاربران داده ارسال می‌کنند — تسویه‌حساب، فرم‌های تماس، ورود — هدفی برای حملات injection و اعتبار است که WAF برای متوقف کردن آن‌ها ساخته شده است.

bot های مخرب و scraping

یک WAF جلوی scraper ها، credential stuffing و bot های اسپم را که محتوا را می‌دزدند و منابع سرور شما را هدر می‌دهند می‌گیرد.

زیر حمله / DDoS

یک WAF لبه شبکه همراه با محافظت در برابر DDoS شما را در طول سیل‌ها آنلاین نگه می‌دارد، با فیلتر کردن و جذب ترافیک پیش از رسیدن به شما.

پرسش‌های متداول WAF

تفاوت میان یک WAF و یک فایروال معمولی چیست؟

یک فایروال شبکه ترافیک را بر اساس آدرس IP و پورت فیلتر می‌کند (لایه‌های ۳ تا ۴). یک WAF در لایه برنامه (Layer 7) کار می‌کند: درخواست‌های HTTP را می‌فهمد و حملات سطح برنامه مانند SQL injection و XSS را که یک فایروال شبکه نمی‌تواند ببیند مسدود می‌کند.

اگر از قبل SSL/HTTPS دارم، آیا به WAF نیاز دارم؟

بله — این دو کارهای متفاوتی انجام می‌دهند. SSL/TLS ترافیک را رمزنگاری می‌کند تا در حین انتقال قابل خواندن نباشد؛ یک WAF همان ترافیک را از نظر حملات بازرسی می‌کند. یک درخواست رمزنگاری‌شده همچنان می‌تواند حاوی یک injection payload باشد، و دقیقاً همین چیزی است که WAF برای شناسایی آن وجود دارد.

آیا یک WAF سایت من را کند می‌کند؟

یک WAF لبه شبکه تأخیر ناچیزی اضافه می‌کند و حتی می‌تواند سایت شما را سریع‌تر کند، با حذف ترافیک بی‌ارزش پیش از رسیدن به سرور شما. این ابزار در کنار cache مربوط به CDN اجرا می‌شود، بنابراین بازدیدکنندگان قانونی همچنان از لبه شبکه سرویس می‌گیرند.

آیا یک WAF بازدیدکنندگان واقعی را مسدود می‌کند؟

یک WAF خوب تنظیم‌شده با شروع در حالت مانیتور و استفاده از allowlist برای مسیرهای قانونی برنامه شما، false positive ها را به حداقل می‌رساند. یک WAF مدیریت‌شده این تنظیم را انجام می‌دهد و قواعد را به‌روز نگه می‌دارد تا مشتریان واقعی عبور کنند.