رفتن به محتوای اصلی
iServer24 | ارائه‌کننده سرورهای ابری و اختصاصی
فایروال لایه اپلیکیشن (WAF): محافظت وب‌سایت در برابر حملات SQL Injection و XSS

فایروال لایه اپلیکیشن (WAF): محافظت وب‌سایت در برابر حملات SQL Injection و XSS

امنیت
3 دقیقه مطالعه

آشنایی با فایروال لایه اپلیکیشن (WAF)، نحوه محافظت از وب‌سایت در برابر حملات رایج مانند SQL Injection و XSS، و معرفی راهکارهای پیاده‌سازی WAF روی سرورهای لینوکسی.

فایروال لایه اپلیکیشن (WAF): محافظت وب‌سایت در برابر حملات SQL Injection و XSS

فایروال‌های سنتی شبکه برای مقابله با حملاتی که در سطح لایه اپلیکیشن (مانند SQL Injection یا XSS) رخ می‌دهند کافی نیستند، چون این حملات از طریق درخواست‌های HTTP به‌ظاهر معتبر انجام می‌شوند. اینجاست که فایروال لایه اپلیکیشن یا WAF (Web Application Firewall) وارد عمل می‌شود.

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

WAF لایه‌ای از محافظت است که بین کاربر و وب‌سرور قرار می‌گیرد و تمام درخواست‌های HTTP/HTTPS ورودی را قبل از رسیدن به اپلیکیشن، بر اساس مجموعه‌ای از قوانین (Rule Set) بررسی و فیلتر می‌کند. برخلاف فایروال‌های شبکه که بر اساس آی‌پی و پورت عمل می‌کنند، WAF محتوای درخواست را تحلیل می‌کند.

مهم‌ترین حملاتی که WAF از آن‌ها محافظت می‌کند

نوع حملهتوضیح
SQL Injectionتزریق کوئری‌های مخرب SQL از طریق فیلدهای ورودی برای دسترسی غیرمجاز به پایگاه داده
XSS (Cross-Site Scripting)تزریق کد جاوااسکریپت مخرب در صفحات وب برای سرقت اطلاعات کاربران
CSRFاجرای عملیات ناخواسته از طرف کاربر احراز‌هویت‌شده بدون اطلاع او
Path Traversalدسترسی غیرمجاز به فایل‌ها و مسیرهای خارج از دایرکتوری وب‌سرور

روش‌های پیاده‌سازی WAF

1. ModSecurity برای Nginx و Apache

ModSecurity یک ماژول WAF متن‌باز است که همراه با مجموعه قوانین OWASP Core Rule Set (CRS) می‌تواند به‌صورت مستقیم روی وب‌سرور Nginx یا Apache نصب شود. این روش برای کسانی که به کنترل کامل و پیکربندی دقیق نیاز دارند مناسب است.

4 خط
sudo apt update
sudo apt install libnginx-mod-http-modsecurity
# فعال‌سازی و پیکربندی قوانین OWASP CRS
sudo cp /etc/nginx/modsec/modsecurity.conf-recommended /etc/nginx/modsec/modsecurity.conf
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

2. WAF مبتنی بر CDN

بسیاری از ارائه‌دهندگان CDN، سرویس WAF را به‌صورت یکپارچه ارائه می‌دهند که بدون نیاز به تغییر در زیرساخت سرور، ترافیک مخرب را قبل از رسیدن به سرور اصلی فیلتر می‌کند. این روش برای اکثر پروژه‌ها ساده‌تر و کم‌هزینه‌تر است.

WAF در کنار سایر لایه‌های امنیتی

WAF جایگزین سایر تدابیر امنیتی نیست، بلکه مکمل آن‌هاست. برای مثال، تنظیم صحیح Fail2Ban برای مقابله با تلاش‌های Brute-Force ورود و هاردنینگ SSH، همچنان یکی از پایه‌ای‌ترین اقدامات امنیتی محسوب می‌شود که در مقاله آموزش Fail2Ban و هاردنینگ SSH به‌طور کامل توضیح داده شده است. همچنین بهینه‌سازی و تیونینگ صحیح Nginx نقش مهمی در کارایی WAF مبتنی بر ماژول دارد که در مقاله بهینه‌سازی کارایی Nginx بررسی شده است.

جمع‌بندی

پیاده‌سازی WAF، چه به‌صورت ماژول روی وب‌سرور و چه از طریق CDN، یکی از مؤثرترین راه‌ها برای محافظت از اپلیکیشن‌های وب در برابر حملات رایج لایه اپلیکیشن است و باید به‌عنوان بخشی از یک استراتژی امنیتی چندلایه در نظر گرفته شود.

WAF در کنار فایروال شبکه

WAF مکمل فایروال‌های سطح شبکه است، نه جایگزین آن‌ها. برای مسدودسازی دسترسی به پورت‌ها و سرویس‌های غیرضروری همچنان باید از یک فایروال شبکه مانند UFW استفاده شود؛ راهنمای کامل امن‌سازی سرور با UFW در مقاله امن‌سازی سرور با فایروال UFW آمده است.

زیرساخت ابری برای اجرای همین آموزش

سرور ابری ساعتی را برای Docker، Ubuntu و DevOps راه‌اندازی کنید — پرداخت به میزان مصرف یا ماهانه.

ادامه یادگیری:Docker·Ubuntu·VPS