- مقدمه
- مراحل
- ۱. نصب و پیکربندی NGINX
- ۲. پیکربندی Rate Limiting در NGINX
- ۳. اعمال محدودیت به سرور مجازی
- ۴. تست پیکربندی NGINX
- ۵. راهاندازی مجدد NGINX
- ۶. نظارت بر اثرات Rate Limiting
- نتیجهگیری
فعالسازی NGINX Rate Limiting برای مقابله با DDoS
مقدمه
حملات DDoS (Distributed Denial of Service) از جمله چالشهای جدی برای وبسایتها و سرورهای لینوکسی به شمار میروند. یکی از ابزارهای مؤثر برای مدیریت این نوع حملات، محدودکننده نرخ (Rate Limiting) در وب سرور NGINX است. این مقاله بهصورت گامبهگام به آموزش فعالسازی این ویژگی میپردازد.
مراحل
۱. نصب و پیکربندی NGINX
ابتدا باید اطمینان حاصل کنید که NGINX بر روی سرور شما نصب شده است. میتوانید با استفاده از دستور زیر بررسی کنید که آیا NGINX نصب شده است یا خیر:
sudo systemctl status nginx
اگر انستال نشده باشد، میتوانید با دستور زیر آن را نصب کنید:
sudo apt update
sudo apt install nginx
۲. پیکربندی Rate Limiting در NGINX
برای فعالسازی محدودکننده نرخ، به فایل پیکربندی NGINX بروید. بسته به نصب شما، فایل پیکربندی معمولاً در مسیر /etc/nginx/nginx.conf قرار دارد.
sudo nano /etc/nginx/nginx.conf
اضافه کردن خطهای زیر به قسمت http:
http {
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=5r/s;
}
در این خط، limit_req_zone یک ناحیه جدید به نام mylimit ایجاد میکند که میتواند ۱۰ مگابایت حافظه را استفاده کند و میزان درخواستها را به ۵ درخواست در هر ثانیه محدود میکند.
۳. اعمال محدودیت به سرور مجازی
برای اعمال محدودیت به سرور مجازی (server block)، به بخش مربوطه در فایل پیکربندی بروید و خط زیر را اضافه کنید:
server {
location / {
limit_req zone=mylimit burst=10 nodelay;
}
}
در اینجا، burst=10 به این معناست که در شرایط خاص میتوان تا ۱۰ درخواست اضافی را مجاز کرد اما با تأخیر آنها انجام میشود.
۴. تست پیکربندی NGINX
پس از اعمال تغییرات، باید پیکربندی NGINX را تست کنید تا از صحت آن اطمینان حاصل شود:
sudo nginx -t
در صورتی که پیغام «syntax is ok» و «test is successful» دریافت کردید، پیکربندی صحیح است.
۵. راهاندازی مجدد NGINX
پس از انجام تست، باید سرور NGINX را راهاندازی مجدد کنید تا تغییرات اعمال شوند:
sudo systemctl restart nginx
۶. نظارت بر اثرات Rate Limiting
برای مشاهده اثرات Rate Limiting، میتوانید از ابزارهای مانیتورینگ استفاده کنید یا به لاگهای NGINX دسترسی پیدا کنید. تنظیمات لاگ را میتوانید در فایل پیکربندی NGINX تعیین کنید. بهعنوان مثال، برای ثبت درخواستهایی که به حد مجاز رسیدهاند:
error_log /var/log/nginx/rate_limit_error.log;
این خط را به بخش http یا server اضافه کنید، تا جزئیاتی از خطاهای محدودیت نرخ در لاگها ثبت شود.
نتیجهگیری
در این مقاله، مراحل فعالسازی NGINX Rate Limiting برای مقابله با حملات DDoS بهتفصیل توضیح داده شد. مراحل اصلی شامل نصب و پیکربندی NGINX، تنظیم ناحیه محدودیت نرخ، اعمال محدودیت بر روی سرور مجازی و تست صحت پیکربندی بود. با اجرای این مراحل، میتوانید از سرور خود در برابر حملات DDoS بهخوبی محافظت کنید. همچنین، نظارت مستمر بر لاگها و استفاده از ابزارهای مانیتورینگ میتواند به شناسایی و پیشگیری از حملات بیشتر کمک کند.
