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