DNSSEC چیست؟

شاید این سوال برایتان ایجاد شده باشد که هنگامی که آدرس یک سایت را در مرورگر خود وارد می‌کنید چه فرآیندی طی می‌شود تا محتویات آن وبسایت در مرورگرتان قابل نمایش شود. در پاسخ به این سوال باید بدانید که اطلاعات تمامی وبسایت‌های اینترنتی بر روی کامپیوترهایی قرار دارد که اصطلاحا سرور نامیده می‌شوند. هر سرور دارای یک آدرس منحصر به فرد به اسم آدرس IP در شبکه اینترنت می‌باشد. با این اوصاف برای مشاهده یک وبسایت باید آدرس IP آن را به خاطر بسپارید که کار نسبتا دشواری است. ضمن اینکه با این روش امکان نگه‌داری یک سایت بر روی هر سرور می‌باشد و یا باید به ازای هر سایت یک IP هم در نظر گرفت.

به همین دلیل استفاده از دامنه‌ها برای آدرس‌دهی وبسایت‌ها استفاده می‌شود. اما برای این که یک دامنه بداند باید به کدام سرور اشاره کند نیاز به سرویس واسطی می‌باشد. این سرویس که DNS نامیده می‌شود، وظیفه ترجمه نام دامنه به IP را دارد. DNSSEC نوعی خاص از DNS می‌باشد که به منظور افزایش ضریب امنیت استفاده از سرویس DNS ایجاد شده است که در ادامه به شرح آن خواهیم پرداخت.

 

چرا DNSSEC؟

هنگام طراحی سرویس DNS بحث امنیتی خاصی در این زمینه مطرح نبود. دلیلی هم وجود نداشت که کسی بخواهد با اطلاعات DNS کلاهبرداری انجام دهد. چرا که اکثر پاسخ‌های DNS به درخواست‌های محلی (Local) انجام می‌شد. به همین خاطر به گونه‌ای طراحی شده بود که در کمترین زمان ممکن و با دریافت اولین درخواست پاسخ به آن را ارسال کند.

امروزه حملات هک و فیشینگ به عنوان یک خطر همیشگی در شبکه اینترنت وجود دارد و در زمینه سرویس‌های DNS نیز حملات DNS Spoofing انجام می‌شود که درخواست‌های ارسال شده از سمت کلاینت در خصوص یک دامنه را به سروری اشتباه که معمولا سرور هکر می‌باشد هدایت می‌کند و این امر می‌تواند خسارت‌های جبران‌ناپذیری به کاربران وارد کند.

DNSSEC که کوتاه شده عبارت Domain Name System Security Extensions می‌باشد برای این منظور طراحی شده است که درخواست‌هایی که از طریق کلاینت ارسال می‌شود در صورتی که به مقصد صحیح (سرور اصلی) رسیدند این مقصد را تایید کند و احتمال نفوذهای بین کلاینت و سرور را از بین ببرد.

DNSEC چگونه کار می‌کند؟

DNSSEC با استفاده از امضاهای دیجیتال (Digital signatures) و کلیدهای رمزنگاری (cryptographic keys) دی‌ان‌اس‌هایی که معتبر هستند را اعتبار سنجی می‌کند.

هنگامی که DNSSEC بر روی یک DNS zone فعال می‌شود، دو جفت کلید که key-pairs نامیده می‌شوند تولید می‌کند. این کلیدها اساس یک رمزنگاری می‌باشند. یک کلید عمومی (Public key) و دیگری کلید خصوصی (Private key) نامیده می‌شوند. کلید خصوصی به منظور رمزگذاری درخواست‌های dns استفاده می‌شود که این رمزگذاری تنها توسط کلید عمومی قابل بازگشایی می‌باشد.

کلیدهای عمومی در DNS zoneها و در رکوردی با عنوان DNSKEY لیست شده و کلیدهای خصوصی در نیم‌سرورهای معتبر (authoritative Nameserver) نگهداری می‌شوند.

هنگامی که یک زون دی‌ان‌اس آپدیت می‌شود، تمامی رکوردها (اعم از رکوردهای نوع A – MX و … ) توسط رکورد جدیدی به نام RRSIG که کوتاه شده عبارت Resource record signature می‌باشد امضای دیجیتالی می‌شوند. RRSIG بوسیله کدکردن رکوردهای منبع و به منظور کد کردن نتایج ایجاد می‌شود. سپس هنگامی که درخواست‌های DNS ارسال می‌شوند، سرور DNS درخواست‌ها و RRSIG را دریافت می‌کند و سپس موارد دریافتی به نیم‌سرور برای بازگشایی کلید خصوصی توسط کلید عمومی بازگردانی می‌شوند. اگر کلید عمومی امکان بازگشایی کلید خصوصی را داشته باشد، پس امضای دیجیتالی ارسال شده معتبر است و به dns zone درستی هدایت شده‌ایم.

 

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Time limit is exhausted. Please reload the CAPTCHA.