راهنمای کامل ضدفلاد و کنترل سوءاستفاده در WhiteDNS Server (نسخهٔ 0.12.0)
راهنمای جامع تنظیم سیاستهای ضدفلاد، نرخ اتصال، جهش، سقف آپلود، سهمیهٔ DNS و مقابله با اخطار ۷۰ هزار درخواست در پنل WhiteDNS Server.
این راهنما با گزینهها و رفتار پنل WhiteDNS Server Management نسخهٔ 0.12.0 تطبیق داده شده است. هدف، کاهش اتصالسازی غیرعادی، اسکن و ارسال بیش از اندازهٔ داده از طریق حسابهای تونل است.
دو نمونهٔ ارائهشده در این راهنما پیشنهاد اولیه برای آزمایش محدود هستند؛ روی هاست شما آزموده نشدهاند و حد تأییدشدهٔ میزبان نیستند. نتیجه باید با رفتار کاربران سالم و گزارش میزبان بررسی شود. هیچکدام تضمین قطعی جلوگیری از ساسپند شدن سرور نیستند.
۱. اگر میزبان میگوید «۷۰ هزار درخواست ارسال شده»
پیش از هر اقدامی، از پشتیبانی میزبان (هاستینگ/VPS) این اطلاعات را بخواهید:
- بازهٔ زمانی: این تعداد در چند ثانیه، دقیقه، ساعت یا روز ثبت شده است؟
- نوع ترافیک: منظور اتصال جدید، بستهٔ شبکه، پرسوجوی DNS یا درخواست HTTP است؟
- جهت و پروتکل: ترافیک ورودی بوده یا خروجی؟ پروتکل، پورت و زمان دقیق همراه منطقهٔ زمانی چه بوده است؟
- دامنهٔ گزارش: گزارش مربوط به یک مقصد، یک شبکه یا مجموع ترافیک سرور است؟
- علت اعلامشده: اسکن، حمله، هرزنامه، مصرف منابع، شکایت مقصد یا ممنوعیت اجرای VPN/پراکسی است؟
- حد مجاز: حد مجاز و بازهٔ اندازهگیری آن دقیقاً چیست؟
برای مقایسهٔ صرفاً عددی:
| تعداد گزارششده | میانگین در ثانیه |
|---|---|
| ۷۰٬۰۰۰ در یک دقیقه | حدود ۱٬۱۶۷ |
| ۷۰٬۰۰۰ در یک ساعت | حدود ۱۹٫۴ |
| ۷۰٬۰۰۰ در یک روز | حدود ۰٫۸۱ |
میانگین، جهشهای کوتاه را نشان نمیدهد؛ همین عدد به تنهایی برای تعیین تنظیم امن کافی نیست.
در HTTP/2 چندین درخواست میتوانند از یک اتصال عبور کنند؛ پس «یک اتصال در ثانیه» به معنی «یک درخواست HTTP در ثانیه» نیست. (مرجع رسمی RFC 9113)
این بخش سهمیهٔ روزانهٔ تعداد درخواست یا اتصال ندارد. حتی حداقل نرخ اتصال سرور، یعنی 1، از نظر بودجهٔ همین محدودکننده میتواند در استفادهٔ پیوسته حدود ۸۶٬۴۰۰ شروع اتصال در روز، بهعلاوهٔ جهش اولیه، اجازه دهد. این عدد سقف بستهها یا HTTP نیست؛ DNS خروجی بودجهٔ جدا دارد و یک شروع اتصال ممکن است چند IP جایگزین را امتحان کند. اگر شرط میزبان «کمتر از ۷۰ هزار در روز» است، این فیلدها بهتنهایی آن شرط را برقرار نمیکنند.
اگر شکایت مربوط به بستههای DNS ورودیِ حامل تونل باشد، کم کردن «درخواست DNS حساب» سقف مستقیمی برای آن ایجاد نمیکند؛ این فیلد مخصوص DNS خروجیِ کاربر در Cotten و MasterDNS است. تعداد بستههای حامل تونل با حجم داده، وضعیت مسیر و تلاش مجدد تغییر میکند.
اگر مصرفی در حال ایجاد شکایت است، حساب مشکوک را تا روشن شدن علت غیرفعال کنید. «قطع اتصالهای باز» کافی نیست؛ حساب فعال میتواند دوباره متصل شود. اگر اجرای این نوع سرویس برخلاف شرایط میزبانی است، ابتدا مجاز بودن آن را با میزبان روشن کنید.
۲. شروع تنظیم در پنل
- از منوی کنار پنل «ضدفلاد و کنترل سوءاستفاده» را باز کنید.
- برای هاست حساس، «حالت حفاظت» را روی «فعال؛ محدودسازی و قرنطینه» بگذارید.
- پیش از تغییر، از مقادیر فعلی یادداشت یا تصویر بگیرید؛ نسخهٔ کامل را هم میتوانید از «پشتیبان و بازیابی» نگه دارید.
- یکی از دو ستون نمونه در بخش ۵ را کامل وارد کنید (نرخ، جهش و همزمانی واحدهای متفاوت دارند).
- «ذخیرهٔ سیاست ضدفلاد» را بزنید و پیام «سیاست ذخیره و روی سرور اعمال شد» را بررسی کنید.
- برای همین تغییر ضدفلاد، تازهسازی ساب یا نصب دوبارهٔ برنامه لازم نیست. اگر جداگانه تنظیمات تونل را تغییر دادید، پیام همان بخش را دنبال کنید.
- نخست با یک حساب و یک دستگاه سالم آزمایش کنید: مرور وب، پیامرسان، آپلود کوچک، دانلود و چند بار قطع و وصل. سپس کاربران دیگر را مرحلهبهمرحله اضافه کنید.
- با «تازهسازی گزارش» علت ردها و قرنطینهها را بخوانید و با گزارش مصرف میزبان مقایسه کنید.
«فقط مشاهده» رویدادها را ثبت میکند، اما جلوی ترافیک را نمیگیرد و قرنطینهٔ ذخیرهشده را هم اعمال نمیکند. برای آزمایش بدون محدودسازی فقط با کاربران قابل اعتماد و با توجه به محدودیت میزبان از آن استفاده کنید؛ روی سرور اخطارگرفته محافظت ایجاد نمیکند.
«خاموش» محدودسازی و تشخیص ضدفلاد را متوقف میکند. با بازگشت به حالت فعال، قرنطینهٔ ذخیرهشدهای که هنوز منقضی نشده دوباره اعمال میشود.
۳. معنی گزینهها
نرخ و جهش اتصال
- نرخ اتصال حساب: شروع اتصال جدید هر حساب در ثانیه. اگر چند نفر یک لینک دارند، همه همین بودجه را مصرف میکنند.
- جهش کوتاه حساب: ظرفیت یک موج کوتاه اتصال؛ مثلاً هنگام باز شدن برنامه. ظرفیت ذخیرهشده است و مستقل از نرخ، در هر ثانیه دوباره کامل نمیشود؛ با استفاده نشدن و گذشت زمان، با نرخ تعیینشده پُر میشود.
- نرخ اتصال سرور / جهش کوتاه سرور: بودجهٔ مشترک مجموع حسابها برای شروع اتصالهای عادی خروجی.
- نرخ اتصال به یک IP / جهش کوتاه مقصد: سقف تلاش اتصال به یک IP واقعی، مشترک بین همهٔ حسابها و پورتها. چند سایت روی یک IP همین بودجه را مشترک دارند.
- نرخ اتصال به یک شبکه / جهش کوتاه شبکه: سقف مشترک شبکهٔ مقصد؛ در IPv4 محدودهٔ
/24و در IPv6 محدودهٔ/64. منظور شبکهٔ مقصد است، نه تعداد دستگاههای متصل به سرور شما.
نرخ، سقف سخت یک پنجرهٔ یکثانیهای نیست؛ وجود جهش اجازهٔ عبور کوتاهمدت بیش از نرخ را میدهد. مثلاً نرخ 2 و جهش 6 یعنی بودجهٔ انباشتهٔ ۶ شروع اتصال و پُر شدن با نرخ ۲ در ثانیه؛ مجوز ۸ اتصال در تکتک ثانیهها نیست.
ظرفیت و مقصدها
- جریانهای همزمان حساب: سقف اتصالهای باز و در حال برقراری هر حساب؛ تعداد دستگاه یا درخواست HTTP نیست.
- جریانهای همزمان سرور: همان سقف برای مجموع حسابها؛ DNS خروجی نیز ظرفیت همزمانی مصرف میکند.
- جریانهای همزمان مقصد: سقف مشترک اتصالهای باز و در حال برقراری به یک IP مقصد.
- مقصدهای متمایز در دقیقه: تعداد IPهای متفاوتی که هر حساب در یک دقیقهٔ اخیر به آنها اتصال میخواهد. هدف، کاهش اسکن سریع است. تعداد دامنه یا کل درخواست نیست؛ تکرار یک IP، IP تازه محسوب نمیشود.
سقفهای قدیمی جریان حساب و سرور هم مستقل اعمال میشوند. اگر سقف حساب در «حسابهای کاربری» برابر ۸ و در ضدفلاد برابر ۱۲ باشد، سقف ۸ زودتر اثر دارد. صفر بودن سقف قدیمی، ضدفلاد را خاموش نمیکند.
تشخیص و قرنطینه
- حداقل شکست اتصال: تعداد اتصالهای ناموفق هر حساب در پنجرهٔ یکدقیقهای.
- درصد شکست اتصال: درصد لازم برای تشخیص شکست غیرعادی. قرنطینهٔ این نوع وقتی رخ میدهد که هم حداقل تعداد شکست و هم درصد تعیینشده برقرار باشد و شکستها دستکم ۱۰ IP متفاوت را درگیر کنند. خرابی یک سایت به تنهایی کافی نیست.
- تخلفهای پیاپی: تعداد ردهای ناشی از نرخ اتصال حساب یا مقصدهای متمایز در دقیقه در ۱۰ ثانیه. منظور الزاماً تخلفهای بدون فاصله نیست؛ رخدادها در این پنجره شمرده میشوند.
- زمان پایهٔ قرنطینه: مدت اولیه بر حسب ثانیه. اتصالهای باز و در حال برقراری آن حساب قطع میشوند و تا پایان زمان اجازهٔ اتصال ندارد. تکرار قرنطینه با فاصلهٔ کمتر از ۲۴ ساعت، مدت را پلهای دو برابر میکند؛ سقف یک ساعت است و پلهٔ افزایش حداکثر پنجم است. این قابلیت مسدودی دائمی ایجاد نمیکند.
رسیدن به سقف سرور، مقصد، شبکه، همزمانی، آپلود یا DNS بهتنهایی معیار قرنطینهٔ حساب نیست؛ درخواست یا جریان اضافه همچنان میتواند رد شود. ناپایداری گستردهٔ اینترنت هم ممکن است شرط شکست را برقرار کند؛ قرنطینه همیشه اثبات سوءاستفاده نیست.
آپلود و DNS
- آپلود حساب: سقف ارسال دادهٔ هر حساب به اینترنت بر حسب
KiB/s؛ دانلود کاربر در این سقف حساب نمیشود. - آپلود به یک IP: سقف مشترک دادهٔ ارسالی همهٔ حسابها به یک IP مقصد.
- آپلود کل سرور: سقف مجموع ارسال از مسیرهای تونل؛ کل ترافیک تمام برنامههای سیستمعامل را محدود نمیکند.
- درخواست DNS حساب: سقف DNS خروجی Cotten و MasterDNS به resolverهای مشخصشده، بر حسب درخواست در ثانیه. سقف سرور خودکار چهار برابر این مقدار است و فیلد مستقلی ندارد. برای حساب و مجموع سرور جهش دوثانیهای وجود دارد.
هر 1 KiB برابر ۱۰۲۴ بایت است. 64 KiB/s تقریباً 0.52 Mbps و 128 KiB/s تقریباً 1.05 Mbps دادهٔ ارسالی است؛ سقف دقیق پهنای باند روی سیم و سربار تونل نیست.
جهش دوثانیهای دارد و اگر داده بیش از بودجه باشد، جریان بسته میشود. ممکن است آپلود سالم هم قطع شود. محدودیت سرعت معمول حساب سازوکار جدا دارد و برای ظرفیت ارسال منتظر میماند. تلاش دوبارهٔ برنامه نیز بودجهٔ نرخ اتصال را مصرف میکند.
۴. قواعد مشترک
- حدود حساب بین Soar، Cotten و MasterDNS و همهٔ دامنههای تونل مشترکاند؛ عوض کردن موتور یا دامنه بودجهٔ تازه نمیدهد.
- حدود IP و شبکهٔ مقصد بین همهٔ حسابها مشترکاند. یک CDN یا سرویس میزبانی اشتراکی میتواند میزبان چندین سایت سالم باشد؛ حد خیلی کم ممکن است همه را تحت تأثیر قرار دهد.
- تمام حدود مرتبط باید ظرفیت داشته باشند. زیاد کردن یک مقدار، حد پایینتر دیگری را بیاثر نمیکند.
- IP resolverهای ورودی خودکار مسدود نمیشود؛ کاربران سالم هم ممکن است از همان resolver استفاده کنند.
- چند حساب برای یک نفر میتواند بودجهٔ حساب او را بیشتر کند؛ سقف مشترک سرور و مقصد همچنان لازم است. به هر کاربر حساب مشخص بدهید و لینک عمومی منتشر نکنید.
۵. دو نمونهٔ کامل برای هاستهای بسیار حساس
نمونهٔ ۱ — بسیار سختگیرانه، برای ۱ تا ۳ کاربر سبک: نقطهٔ شروع آزمایش محدود یا بازگشت کنترلشده پس از بررسی اخطار میزبان است. اولویت، کم کردن ظرفیت سوءاستفاده است. سایتهای سنگین، چند برنامهٔ همزمان و آپلود ممکن است محدود شوند.
نمونهٔ ۲ — سختگیرانه، برای ۳ تا ۵ کاربر سبک: نسبت به اولی برای مرور عادی و شروع چند اتصال جای بیشتری دارد؛ برای استفادهٔ پرترافیک و فروش عمومی آزموده نشده است. اگر میزبان نرخ کمتری مجاز دانسته، این نمونه را صرفاً به دلیل حضور در راهنما استفاده نکنید.
| گزینهٔ پنل | پیشفرض کارخانه | نمونهٔ ۱ (خیلی سختگیرانه) | نمونهٔ ۲ (سختگیرانه) |
|---|---|---|---|
| حالت حفاظت | فعال؛ محدودسازی و قرنطینه | فعال؛ محدودسازی و قرنطینه | فعال؛ محدودسازی و قرنطینه |
| نرخ اتصال حساب | 20 | 2 | 4 |
| جهش کوتاه حساب | 80 | 6 | 12 |
| نرخ اتصال سرور | 200 | 5 | 12 |
| جهش کوتاه سرور | 400 | 12 | 24 |
| نرخ اتصال به یک IP | 10 | 1 | 2 |
| جهش کوتاه مقصد | 40 | 3 | 6 |
| نرخ اتصال به یک شبکه | 40 | 2 | 4 |
| جهش کوتاه شبکه | 120 | 6 | 12 |
| جریانهای همزمان حساب | 128 | 12 | 24 |
| جریانهای همزمان سرور | 1024 | 32 | 96 |
| جریانهای همزمان مقصد | 128 | 8 | 16 |
| مقصدهای متمایز در دقیقه | 300 | 30 | 60 |
| حداقل شکست اتصال | 40 | 10 | 15 |
| درصد شکست اتصال | 90% | 80% | 85% |
| تخلفهای پیاپی | 120 | 20 | 30 |
| زمان پایهٔ قرنطینه | 300 ثانیه (۵ دقیقه) | 900 ثانیه (۱۵ دقیقه) | 600 ثانیه (۱۰ دقیقه) |
| آپلود حساب | 2048 KiB/s | 64 KiB/s | 128 KiB/s |
| آپلود به یک IP | 4096 KiB/s | 128 KiB/s | 256 KiB/s |
| آپلود کل سرور | 16384 KiB/s | 256 KiB/s | 512 KiB/s |
| درخواست DNS حساب | 100 /s | 10 /s | 20 /s |
نرخ اتصال و DNS بر حسب ثانیه، قرنطینه بر حسب ثانیه و آپلود بر حسب KiB/s است. بقیه تعداد یا درصد هستند. 900 یعنی ۱۵ دقیقه و 600 یعنی ۱۰ دقیقه.
در نمونهٔ ۱، قرنطینههای تکراری میتوانند ۱۵، ۳۰ و سپس ۶۰ دقیقه شوند. در نمونهٔ ۲، ترتیب ۱۰، ۲۰، ۴۰ و سپس ۶۰ دقیقه است. سقف پیوستهٔ DNS خروجی کل سرور بهترتیب ۴۰ و ۸۰ درخواست در ثانیه است؛ سقف بستههای حامل تونل نیست.
در ربات نسخهٔ 0.12.0 از /settings وارد «ضدفلود (JSON)» شوید، محتوای یکی از فایلهای نمونه را در پاسخ به درخواست ربات ارسال کنید، تغییرات را بخوانید و سپس تأیید کنید. فایل را در فرم معمول پنل پیست نکنید؛ در پنل اعداد جدول وارد میشوند.
۶. تنظیمات تکمیلی
- برای هر کاربر حساب مستقل بسازید؛ لینک مشترک باعث مصرف مشترک بودجه و قرنطینهٔ همزمان استفادهکنندگان میشود. در «حسابهای کاربری» سقف جریان، حجم و اعتبار زمانی را متناسب با نیاز تنظیم کنید.
- در «تنظیمات سرور» فهرست پورتهای خروجی مجاز را با نیاز واقعی تطبیق دهید. برای سناریوی صرفاً مرور وب،
80و443میتوانند نقطهٔ شروع باشند. - اگر لینک پخش شده، پس از بررسی از «تعویض لینک و کلید» استفاده کنید و لینک تازه را فقط به صاحب حساب بدهید.
۷. خواندن گزارش و اصلاح تنظیمات
| علت نمایشدادهشده | معنی و اقدام بعدی |
|---|---|
| نرخ اتصال حساب | بودجهٔ حساب کافی نیست. اشتراک لینک و تلاش مجدد برنامهها را بررسی کنید؛ اگر روی دستگاه سالم تکرار شد، نرخ یا جهش مرتبط را اصلاح کنید. |
| نرخ اتصال سرور | مجموع حسابها به سقف رسیدهاند. کاربران همزمان و حد مجاز میزبان را بررسی کنید؛ زیاد کردن نرخ حساب این سقف را تغییر نمیدهد. |
| نرخ اتصال به یک IP / یک شبکه | مقصد مشترک شلوغ شده است. CDN و سایتهای روی IP مشترک را در نظر بگیرید؛ به تنهایی اثبات تخلف حساب نیست. |
| جریانهای همزمان حساب / سرور / مقصد | ظرفیت باز یا در حال اتصال پر است. برنامههای پسزمینه و سقفهای دیگر پنل را بررسی کنید. |
| تعداد مقصدهای تازه | حساب IPهای متنوع میخواهد. احتمال اسکن، ابزارهای بررسی اتصال یا بار عادی چند برنامه را بررسی کنید. |
| شکستهای مکرر اتصال | شرط تعداد، درصد و تنوع مقصد برقرار شده است. مشکل گستردهٔ شبکه را پیش از نسبت دادن سوءاستفاده بررسی کنید. |
| آپلود حساب / به یک IP / کل سرور | ارسال از بودجه عبور کرده و جریان ممکن است بسته شود. برای آپلود سالم، سقف مربوط و سرعت معمول حساب را با هم بررسی کنید. |
| درخواست DNS حساب / سرور | بودجهٔ DNS خروجی کافی نیست یا برنامه درخواست زیاد میسازد؛ رفتار برنامه را بررسی کنید. مربوط به بستههای حامل تونل نیست. |
| ظرفیت محافظت | جدول رهگیری پر شده است. تعداد مقصدها، کاربران و نشانههای اسکن را بررسی کنید؛ صرفاً افزایش نرخ درمان آن نیست. |
| قرنطینه | حساب هنوز محروم است؛ علت اولیه و پایان زمان را در «حسابهای قرنطینهشده» بخوانید. |
هر بار فقط مقدار مرتبط را تغییر دهید. برای جهش سالمِ شروع برنامه، ابتدا جهش همان بخش را اندکی افزایش دهید، نه تمام سقفها را. اگر مصرف پیوسته از حد میزبان بالاتر است، افزایش جهش راهحل نیست.
۸. آزادسازی و بازگشت تنظیمات
- در «حسابهای قرنطینهشده» نام حساب، علت و پایان زمان را بررسی کنید.
- اشتراک لینک، برنامهٔ مشکلساز یا خطای شبکه را برطرف کنید.
- برای دسترسی زودتر، «آزادسازی» را بزنید و تأیید کنید. پس از پایان طبیعی زمان هم حساب خودکار قابل اتصال میشود.
- آزادسازی، قرنطینه و سابقهٔ تشخیص همان حساب را پاک میکند؛ بودجهٔ نرخ و آپلود و حدود مشترک مقصد را پُر یا غیرفعال نمیکند.
- اگر تنظیم جدید اتصال سالم را مختل کرده، مقدار مرتبط را از یادداشت قبلی برگردانید، ذخیره کنید و دوباره آزمایش کنید.
۹. حدود حفاظت و حریم خصوصی
این کنترلها مربوط به مسیر خروجی حسابهای تونل هستند. ترافیک برنامههای دیگر VPS، حملهٔ حجمی ورودی و اشباع لینک به حفاظت مستقل میزبان یا شبکه نیاز دارند. درخواستهای کمحجم و پرتعداد داخل HTTPS، هرزنامه، محتوای ممنوع و نقض شرایط میزبانی لزوماً شناسایی نمیشوند.
گزارش ضدفلاد شناسهٔ حساب، زمان، علت و عمل را نگه میدارد؛ IP و نام دامنهٔ مقصد و محتوای ترافیک در این گزارش نمایش یا ثبت نمیشوند.
پیوست برای مدیر فنی
شروع جریان پیش از resolve نام مقصد و ساخت سوکت کنترل میشود. حداکثر چهار IP جایگزین در مهلت کلی ۱۵ ثانیه بررسی میشوند؛ هر تلاش واقعی بودجهٔ IP و شبکه را مصرف میکند.
APIهای مدیریت پس از احراز هویت و بررسی CSRF:
GET /api/antiflood: دریافت سیاست، شمارندهها، قرنطینهها و رویدادهای اخیر.PUT /api/antiflood: ذخیرهٔ سیاست کامل و معتبر.POST /api/antiflood/releaseباclient_id: آزادسازی حساب موجود.
مرجع تطبیق در مخزن پروژه Soar-Server: فایلهای internal/panel/antiflood_settings.go، internal/panel/antiflood.go، internal/panel/antiflood_egress.go و رابط کاربری پنل.
