وبلاگ نت‌آرامآموزش، تجربه و راهکارهای زیرساخت

بستن DNS Recursion عمومی بدون خراب کردن DNS دامنه‌ها

DNS authoritative و resolver کارکرد متفاوت دارند. recursion باز روی اینترنت می‌تواند مورد سوءاستفاده قرار بگیرد، اما قطع همهٔ DNS هم راه‌حل نیست.

انتشار:
آخرین ویرایش:
توسط مصطفی جانقربان
۳ دقیقه زمان مطالعه
۲ دیدگاه
محتوای تخصصی، ساده و کاربردی
هماهنگ با هویت حرفه‌ای نت‌آرام
بازگشت به لیست مقالات
تصویر شاخص مقاله بستن DNS Recursion عمومی بدون خراب کردن DNS دامنه‌ها در وبلاگ نت‌آرام
محتوای آموزشی وبلاگ نت‌آرام
سرور DNS می‌تواند آدرس دامنه‌های شما را نگه دارد. یک کار دیگر هم وجود دارد: کسی نام یک دامنهٔ دیگر را می‌پرسد و سرور برایش پاسخ را در اینترنت پیدا می‌کند. این کار دوم را recursion می‌نامیم. اگر سرور نام‌سرور دامنه‌های مشتریان است، معمولاً لازم نیست این خدمت دوم را به هر کاربر اینترنت بدهد.

پاسخ دادن به دامنهٔ خودمان با جست‌وجوی بقیهٔ دامنه‌ها فرق دارد

بعد از تنظیم محدودیت، باید دو حالت را جدا امتحان کنیم: پرسیدن آدرس یکی از دامنه‌های خود سرور باید همچنان پاسخ درست بدهد؛ درخواست پیدا کردن پاسخ برای یک دامنهٔ نامرتبط از بیرون شبکهٔ مجاز باید طبق سیاست سرور رد شود. بستن کل پورت DNS این دو را با هم قطع می‌کند و سایت‌های خودتان را هم دچار مشکل می‌سازد.
برای انتخاب تنظیم درست، اول نام برنامهٔ DNS را مشخص کنید؛ تنظیم BIND با PowerDNS یکسان نیست. در BIND گزینه‌هایی مانند allow-recursion محدودهٔ مجاز را تعیین می‌کنند. مدیر باید نشانی شبکهٔ مجاز خودش را وارد کند، نه یک شبکهٔ نمونهٔ داخل مقاله. پس از اعمال، همان دو درخواست را دوباره آزمایش کند تا هم محدودیت برقرار باشد و هم پاسخ دامنه‌های مشتریان سالم بماند.

نقش سرور را مشخص کنید

اگر سرور فقط DNS authoritative دامنه‌های شماست، کاربران عمومی باید بتوانند رکوردهای همان دامنه‌ها را بپرسند. اما لازم نیست از سرور شما به‌عنوان resolver عمومی برای هر دامنه استفاده کنند. اگر سرور resolver یک شبکهٔ خصوصی هم هست، کاربران مجاز آن شبکه باید به‌طور مشخص تعریف شوند.
اول نرم‌افزار DNS، نسخه و ساختار تنظیم آن را پیدا کنید. در BIND ممکن است options و viewها قواعد متفاوتی داشته باشند. محدود کردن یک گزینه در فایل اشتباه یا یک view بی‌استفاده، نتیجهٔ واقعی را تغییر نمی‌دهد. تنظیم مؤثر و مسیر پایدارِ مدیریت‌شده توسط پنل اهمیت دارد.

تنظیم دسترسی بازگشتی

از تنظیم فعلی نسخه بگیرید و شبکه‌های مجاز را دقیق مشخص کنید. عبارت «محلی» را بدون شناخت شبکه به همهٔ IPهای داخلی یا به همهٔ کاربران تعمیم ندهید. اگر سرویس به recursion نیاز ندارد، مطابق راهنمای نسخه آن را محدود کنید؛ اگر نیاز دارد، ACL مربوط به کاربران مجاز را تنظیم کنید.
تنظیم recursion با اجازهٔ پاسخ authoritative و دسترسی به cache ارتباط دارد، اما همهٔ این‌ها یک گزینهٔ واحد نیستند. قبل از اعمال تغییر، مثال رسمی نسخهٔ نصب‌شده را بخوانید و صحت نحوی پیکربندی را بررسی کنید. صرف اضافه کردن یک خط از آموزش قدیمی، تضمین رفتار موردنظر نیست.

دو آزمایش جدا انجام دهید

از یک شبکهٔ بیرونی نامجاز، درخواست بازگشتی برای یک دامنهٔ خارج از zoneهای خودتان را امتحان کنید. سپس رکورد یک دامنهٔ میزبانی‌شده، مانند A یا MX آن را بپرسید. انتظار دارید نقش غیرمجاز محدود شود و پاسخ دامنهٔ خودتان همچنان درست باشد. پاسخ موردنیاز شبکهٔ خصوصی مجاز را نیز جدا امتحان کنید.
DNS هم از UDP و هم در شرایط لازم از TCP استفاده می‌کند. باز بودن یک مسیر و مسدود بودن دیگری ممکن است فقط بعضی پاسخ‌ها را خراب کند. آزمایش را با نوع درخواست و مسیر واقعی سرویس انجام دهید و پاسخ را با تنظیمات فعلی تطبیق دهید.
اگر بعد از تغییر دامنه‌ها خطا دارند، آخرین تغییر ACL و view را بررسی کنید. بستن همهٔ درخواست‌های DNS برای خاموش شدن هشدار، راه‌حل نیست. نتیجهٔ درست یعنی سرور درخواست نامجاز را محدود کند و رکوردهای معتبر کاربران شما همچنان از بیرون قابل دریافت باشند.

منابع و ادامهٔ مطالعه

دیدگاه‌ها (۲)

دیدگاه‌های تاییدشده و پاسخ‌های تیم نت‌آرام

حسن بسطامی

۱۳۹۹/۱/۲۱ ۲۲:۴۳:۳۰
پاسخ

با سلام و احترام
از آموزش های خوبتون بسیار سپاسگزارم
آموزش هاتون خیلی به درد من خورد
خدا خیرتون بده
امیدورام همیشه تندرست، شاد و موفق باشید
با سپاس
بسطامی

مصطفی جانقربان

نویسنده مقاله
۱۴۰۱/۱۱/۱۸ ۱۰:۳۴:۰۲
پاسخ

با درود خدمت شما خیلی ممنون از دیدگاه ارزشمندتون موفق و سلامت باشید برادر عزیزم