معرفی DNSSEC

معرفی DNSSEC
افزونه های امنیتی سیستم نام دامنه (DNSSEC) مجموعه ای از مشخصات است که پروتکل DNS را با افزودن احراز هویت رمزنگاری برای پاسخ های دریافتی از سرورهای DNS معتبر گسترش می دهد. هدف آن دفاع در برابر تکنیک هایی است که هکرها برای هدایت رایانه ها به وب سایت ها و سرورهای سرکش استفاده می کنند. در حالی که DNSSEC قبلاً برای بسیاری از دامنههای سطح بالای عمومی و سطح کشور (TLD) مستقر شده است، پذیرش در سطح دامنه فردی و سطح کاربر نهایی عقب مانده است.
در سال 2008، محقق امنیتی Dan Kaminsky یک نقص اساسی در پروتکل DNS کشف کرد که پرکاربردترین نرم افزار سرور DNS را تحت تأثیر قرار داد. این نقص به مهاجمان خارجی اجازه میدهد تا حافظه پنهان سرورهای DNS مورد استفاده توسط ارائهدهندگان مخابراتی و سازمانهای بزرگ را تخریب کنند و آنها را مجبور کنند که پاسخهای نادرست به درخواستهای DNS ارائه دهند، که احتمالاً کاربران را به وبسایتهای جعلی یا سرورهای ایمیل سرکش ارسال میکند.
این نقص در بزرگترین واکنش هماهنگ صنعت IT به یک آسیبپذیری امنیتی تا آن زمان اصلاح شد اما تهدید حملات ربودن DNS همچنان پابرجا بود. از آنجایی که ترافیک DNS احراز هویت یا رمزگذاری نشده بود، هر مهاجمی که کنترل سرور DNS را در مسیر وضوح DNS کاربر به دست میگیرد، میتواند پاسخهای مخرب را ارائه کند و آنها را به یک سرور مخرب هدایت کند. DNS مانند دفترچه تلفن اینترنت است.
این به رایانه ها اجازه می دهد تا نام های دامنه قابل خواندن توسط انسان را به آدرس های پروتکل اینترنت عددی IP تبدیل کنند که باید با آنها ارتباط برقرار کنند زیرا پروتکل های شبکه اصلی از آدرس های IP استفاده می کنند، و از نام میزبان به هیچ وجه به کار نمی رود.
سیستم نام دامنه دارای یک ساختار سلسله مراتبی با 13 خوشه سرور در بالا است که آنچه به عنوان منطقه ریشه شناخته می شود را مدیریت می کند، سپس سرورهای هر دامنه سطح بالا TLD مانند .com یا .net یا TLD های کد کشور مانند .us. یا .ca، سپس سرورهای هر نام دامنه خاص مانند google.com، سپس سرورهای جداگانه ای که زیر دامنه های خاصی مانند cloud.google.com را مدیریت می کنند.
هر بار که یک کلاینت مانند یک کامپیوتر یا دستگاه، یک پرس و جو می کند این سلسله مراتب از بالا تا زمانی که سرور DNS معتبر برای نام میزبان درخواست شده قرار گیرد و با آدرس IP پاسخ دهد طی می شود. با این حال برای بهبود عملکرد DNS پاسخ ها را می توان برای یک دوره زمانی در سرورهای موجود در مسیر ذخیره کرد. اکثر دستگاهها خودشان منطقه ریشه را پرس و جو نمیکنند اما یک سرور DNS محلی را که به عنوان یک حلکننده عمل میکند پرس و جو میکنند که به نوبه خود ممکن است از یک DNS Resolver دیگر سؤال کند.
به عنوان مثال، روترهای خانگی معمولاً به عنوان یک حل کننده DNS و اولین پرش در زنجیره DNS برای همه رایانه ها و دستگاه های موجود در شبکه محلی عمل می کنند. روترها معمولاً درخواست ها را به حل کننده های DNS که توسط ISP مشتری اداره می شوند، ارسال می کنند.
درک اینکه چگونه DNS کار می کند مهم است زیرا هر سرور در آن زنجیره می تواند یک پیوند ضعیف و نقطه ای باشد که مهاجمان می توانند از آنجا پاسخ های سرکش را ارائه دهند. برخی از بدافزارها تنظیمات DNS را در رایانه ها تغییر می دهند تا از سرورهای DNS که توسط مهاجمان اداره می شوند استفاده کنند، در این صورت کاربران رایانه های مخرب تحت تأثیر قرار خواهند گرفت. حملات انبوه تنظیمات DNS روی روترهای خانگی را به خطر انداخته است این به عنوان روتر فارمینگ شناخته میشود همه کاربران شبکههایی که توسط آن روترها ارائه میشوند را تحت تأثیر قرار میدهد. سایر حملات حلکنندههای DNS یک ISP را به خطر میاندازند، در این صورت همه مشتریان ISP که به آن سرورها متکی هستند ممکن است تحت تأثیر قرار گیرند.
نحوه وارد کردن DNSSEC
DNSSEC برای رسیدگی به این خطرات و ارائه تأیید رمزنگاری از طریق امضاهای دیجیتالی طراحی شده است که می تواند برای تأیید اینکه سوابق ارائه شده در یک پاسخ DNS از سرور DNS معتبری که نام دامنه مورد نظر را ارائه می دهد و در طول مسیر تغییر نکرده است، استفاده شود.مانند امنیت لایه حمل و نقل TLS و سایر پروتکل های ارتباطی امن DNSSEC بر رمزنگاری کلید عمومی متکی است.
هر سرور نام معتبر دارای یک جفت کلید متشکل از یک کلید خصوصی و یک کلید عمومی است که به صورت رمزنگاری به یکدیگر مرتبط هستند. کلید خصوصی برای امضای سوابق استفاده می شود در واقع مجموعه ای از رکوردها در یک منطقه و امضا خود به عنوان یک رکورد DNS منتشر می شود. کلید عمومی را می توان برای تایید اعتبار استفاده کرد و همچنین در یک رکورد DNS ذخیره می شود.
چگونه حلکنندهها مطمئن میشوند که امضا و کلید عمومی از سرور نام معتبر واقعی است و نه یک مهاجم آنها در زنجیره سلسله مراتبی بالاتر می روند و به ناحیه والد ناحیه فرزند که امضای آن را می خواهند تأیید کنند می روند. به عنوان مثال منطقه .com والد منطقه google.com و منطقه . Root والد منطقه com است.یکی دیگر از جفت کلید خصوصی و عمومی که سرورهای DNS از آن استفاده می کنند، به عنوان کلید امضای کلید KSK شناخته می شود. کلید خصوصی KSK برای امضای کلید عمومی از اولین جفتی که برای امضای رکوردها استفاده شد استفاده می شود.
سپس بخش عمومی KSK به منطقه والد داده می شود که آن را به عنوان بخشی از رکوردهای خود برای منطقه فرزند منتشر می کند و اساساً برای تأیید اعتبار اطلاعات ارائه شده در منطقه فرزند استفاده می شود.
به طور خلاصه یک حلکننده DNS از کلید عمومی یک سرور نام استفاده میکند تا بررسی کند که رکوردهایی که ارائه میکند با کلید خصوصی مربوطه آن امضا شدهاند. سپس با نگاه کردن به رکورد دیگری که حاوی امضای آن کلید است، اطمینان حاصل می کند که کلید عمومی ارائه شده توسط سرور در وهله اول مشروع است و آن را با رکوردی از ناحیه والد به نام رکورد DS برای اعتبارسنجی مقایسه می کند.این یک زنجیره اعتماد بین مناطق والدین و فرزند ایجاد می کند.
اگر در زنجیره بالاتر و بالاتر بروید، چه کسی بالاترین جفت کلید را که برای امضای منطقه DNS ریشه اینترنت استفاده شده است تأیید می کند جفت کلید ریشه در یک ماژول امنیتی سختافزاری که در مکانی امن نگهداری میشود تولید میشود و بهطور دورهای در یک مراسم عمومی و بسیار حسابرسی شده با حضور نمایندگان جامعه مورد اعتماد از سراسر جهان چرخش میشود.
همچنین یک فرآیند بازیابی کلید در صورت وقوع یک فاجعه بزرگ وجود دارد که در آن چندین نفر به نام دارندگان سهام کلید بازیابی باید در یک مکان گرد هم آیند و از توکن های رمزنگاری که در اختیار دارند برای بازسازی کلید استفاده کنند.
ماهیت کلی DNSSEC
DNSSEC عالی به نظر می رسد اما همه مشکلات مربوط به امنیت DNS را حل نمی کند. اول برای دستیابی به پتانسیل بالای آن باید در همه جا پشتیبانی و اجرا شود در همه مناطق DNS در همه دامنه ها و در همه حل کننده های DNS. ما از آن دنیای کامل فاصله داریم و شکاف هایی باقی مانده است که مهاجمان می توانند خود را در زنجیره قرار دهند.
به عنوان مثال انتقادی که اغلب از DNSSEC شنیده می شود فقدان محافظت برای به اصطلاح آخرین مایل است. از آنجا که اعتبار سنجی DNSSEC توسط حل کننده ها انجام می شود آنچه از یکپارچگی پاسخ های DNS بین حل کننده و کاربران آن حل کننده محافظت می کند. برای مثال اگر حلکننده آگاه DNSSEC یک روتر خانگی باشد مهاجمان همچنان میتوانند روتر خانگی را در معرض خطر قرار دهند و آخرین مایل را به خطر بیاندازند و این اغلب اتفاق میافتد بسیاری از روترهای خانگی به ویژه مدل های قدیمی تر ممکن است از DNSSEC پشتیبانی نکنند یا آن را فعال نکرده باشند. شاید آن ها پرس و جوها را به یک DNS Resolver که از DNSSEC آگاه است ارسال می کنند مانند موردی که توسط یک ISP اجرا می شود. این بهتر از هیچ است، اما آخرین مایل ناامن اکنون تمدید شده است.
DNSSEC همچنین محرمانه و حریم خصوصی را ارائه نمی دهد زیرا خود پروتکل DNS رمزگذاری نشده است. امضای دیجیتالی برای تأیید صحت سوابق ارائه می شود اما خود سوابق هنوز در متن ساده هستند. یک مهاجم وسط یک ISP یا یک دولت در کشورهای خاصی که نظارت اینترنتی را انجام میدهند، میتوانند با نگاه کردن به جستارهای DNS خود، ببینند کاربر به چه دامنهها و بنابراین وبسایتهایی دسترسی دارد.آنها همچنین می توانند از DNS برای مسدود کردن وب سایت های خاص استفاده کنند. ISPها در برخی کشورها از طریق دادگاه یا دستورات دولتی مجبور شده اند دسترسی به وب سایت های خاصی را که غیرقانونی تلقی می شوند مانند ردیاب Bit torrent مسدود کنند و این کار از طریق DNS انجام شده است.
DNSSEC برای رفع این مشکلات طراحی نشده است و پروتکل های دیگری مانند DNS-over-HTTPS (DoH) می توانند برای رمزگذاری ترافیک DNS بین کاربران نهایی و حل کننده های DNS مورد اعتماد آنها استفاده شوند. حلکنندههای DNS عمومی مانند Cloud flare’s 1.1.1.1، Google’s 8.8.8.8 و سایر نمونه ها از DNSSEC یا DoH پشتیبانی میکنند و به طور فزایندهای توسط کاربران به جای ISPهای محلی خود ترجیح میدهند که به دلایل تجاری یا قانونی از تداخل یا جمع آوری داده های ترافیک DNS دوری کنند.
استقرار و پذیرش DNSSEC
استقرار DNSSEC دارای لایه های زیادی است. با تولید اولین جفت کلید ریشه در سال 2010 شروع شد، اما سپس جفت کلید در یک فرآیند جابجایی که چندین سال طول کشید تا برنامه ریزی و اجرا شود، به روز شد و در اکتبر 2018 نهایی شد. بخش عمومی جفت کلید باید باشد. به اشتراک گذاشته شده با ارائه دهندگان خدمات اینترنتی، مدیران شبکه سازمانی، اپراتورهای حل کننده DNS، توسعه دهندگان نرم افزار حل کننده DNS، ادغام کننده های سیستم و توزیع کنندگان سخت افزار و نرم افزار که یک فرآیند طولانی بود.
اپراتورهای TLD و ccTLD همچنین باید کلیدها و فرآیندهای خود را تولید و مستقر می کردند تا DNSSEC را برای مناطق DNS مربوطه خود فعال کنند. سپس این مسئله وجود دارد که صاحبان دامنه در واقع تصمیم می گیرند سوابق خود را امضا کنند.
با پاور سئو همراه باشید تا از مقالات و آموزش های تخصصی و کاربردی بیشتر به طور رایگان بهره مند شوید…
دیدگاهتان را بنویسید