همانند اطلاعاتی که در اکتیو دایرکتوری وجود دارد، اطلاعات موجود در Zone های DNS نیز میتوانند با سایر DNS سرورهای موجود در مجموعه همگام سازی شوند.
انتقال اطلاعات مربوط به Zone های DNS در اصطلاح فنی Zone Transfer نامیده میشود.
دلیل این کار افزودن افزونگی شبکه است ( تا در صورت بروز مشکل برای سرور اصلی ، سرور جانبی وارد مدار شود). بدیهی است که در حالت عادی بایستی این قابلیت غیرفعال باشد و در صورت نیاز برای یک یا چند آدرس خاص مجاز شمرده شود.
آموزش غیر فعال کردن Zone Transfer در سرویس BIND و سرورهای لینوکسی:
برای این اقدام فایل named.conf را در مسیر etc ویرایش کنید :
nano /etc/named.conf
سپس در قسمت options مقدار زیر را وارد کنید:
allow-transfer { none;};
در نهایت فایل را ذخیره کنید و سرویس named ریستارت کنید.
وظیفه برخی از سرویس دهندههای DNS موجود در سطح اینترنت، ارائه سرویس ترجمه نام برای تنها یک نام دامنه است. در این حالت ممکن است عملیات ترجمه نام برای کلاینتهای محلی توسط سرویسدهنده مجزایی صورت گرفته و سرویس دهنده Authoritative، تنها وظیفه پاسخ دادن به درخواستهای بیرون از شبکه را داشته باشد. اینگونه از سیستمها نیازی به ترجمه نام بهصورت بازگشتی نداشته و بایستی عملیات Recursion Resolution در آنها غیرفعال گردد.
تصمیمگیری راجع به فعال بودن یا نبودن این عملیات برعهده مدیر سرور است
از نظر امنیتی بهتر است این مورد غیر فعال باشد.
یکی از فواید غیر فعال کردن Recursion در سرور ، محافظت سرور شما در برابر حملات DNS amplification است که در لینک زیر توضیحات تکمیلی در مورد این نوع حملات ارائه شده است:
حملات DNS amplification
آموزش غیر فعال کردن Recursion در سرورهای لینوکسی
برای غیر فعال کردن ان در سرورهای لینوکسی فایل named.conf مقدار زیر را وارد میکنیم:
1
2
allow-recursion {“none”;};
recursion no;
در پایان سرویس named را ریستارت میکنیم.
آموزش غیر فعال کردن Recursion در سرورهای ویندوزی
1- DNS Manager را باز کنید (برای باز کردن به منو Start بروید سپس روی Administrative Tools و بعد از آن روی DNS کلیک کنید)
2- در شاخه کنسول روی DNS Server راست کلیک و سپس به Properties بروید
3- به تب Advanced بروید
4- در Server options تیک Disable recursion را بزنید
5- زیر تب Root Hints همه ریشه ها (root) را پاک کنید و سپس OK را بزنید
6- DNS service را ریستارت کنید (از control panel سرویس ها)
در قسمت Tools and Settings روی DNS Template Settings کلیک میکنیم.
سپس DNS Recursion section را روی Localnets تنظیم میکنیم.
————————
شما می توانید از طریق سایت زیر بررسی کنید که این قابلیت در سرور شما فعال است یا خیر:
http://openresolver.com
البته این سایت برای ای پی ایران در دسترس نمی باشد.
خطرات Recursive DNS
وقتی شما یک سایت در اینترنت را مشاهده می کنید، سیستم شما از سرویس DNS برای پیدا کردن سایت مورد نظر استفاده می کند و سایت را به شما نمایش می دهد.
سرورهای اختصاصی و مجازی نیز دارای سرویس جستجو DNS در پیکره خود هستند. دو نوع DNS query برای سرورها می تواند تعریف شود:
Recursive requests:
این ویژگی سایت را در حافظه cache local سرور DNS جستجو می نماید. در صورتی که موفق به پیداکردن پاسخ نشود درخواست را به DNS server دیگری منتقل می شود (با توجه به اینکه روی سرور تنها یک DNS server وجود دارد) تا زمانی که جستجو به نتیجه برسد. سپس درخواست ارسالی با نتیجه هر سرور DNS بررسی می شود.
Iterative requests:
این ویژگی سایت را در حافظه cache local سرور DNS جستجو می نماید. در صورتی که موفق به پیداکردن پاسخ نشود درخواست را به DNS server دیگری خواهد شد اما پیغامی مبنی بر “I don’t know, but you could try asking this server” (و جستجو ادامه پیدا نمی کند)
چرا استفاده از recursive DNS requests خطر دارد؟
سرورهایی که از این نوع DNS استفاده می نمایند می توانند در مقابل ارسال درخواست ها از یک IP جعلی آسیب پذیر باشند.
آدرس IP جعلی (spoofed IP) می تواند سرور را با درخواست های زیادی غرق نماید به این معنی که سرور قادر به پاسخ گویی در مقابل سیل عظیم درخواست ها نخواهد بود. این مشکل Amplifier attack نام دارد زیرا حمله با توجه به بازگشت درخواست ها می تواند تقویت و با ارسال حجم بیشتری از بسته های ارسالی سرور را قربانی نمود.
این مشکل ممکن است باعث مسدود شدن IP شما از سمت سرویس دهنده IP و یا قرار گرفتن سرور شما در لیست blacklist DNS شود.
در صورت غیر فعال کردن recursive DNS چه اتفاقی می افتد؟
در این صورت سرور شما در حالت Iterative requests خواهد بود و در مقابل درخواست های نامعتبر مشکلی نخواهد داشت.