Recursive DNS چیست و چه خطرهایی دارد؟
وقتی شما یک سایت در اینترنت را مشاهده می کنید، سیستم شما از سرویس DNS برای پیدا کردن سایت مورد نظر استفاده می کند.
این درخواست ها از طریق خدمات دهنده اینترنت شما ISP انجام می شود.
سرورهای اختصاصی و مجازی نیز دارای سرویس جستجو 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 خواهد بود و در مقابل درخواست های نامعتبر مشکلی نخواهد داشت.
با سلام
ممنون عالی بود
سلام ممنون از بابت این مقاله کاربردی
متشکر