پیشتر در مورد انواع رکوردهای DNS و خود مبحث DNS مقاله را برای شما آماده کرده بودیم که شما در این مقاله با DNS و نحوه عملکرد آنها آشنا شدید که به چه صورت اطلاعات مربوط به دامنه ها از طریق DNS ها قابل مشاهده میباشد. سیستم پیش فرض DNS بسیار آسیب پذیر میباشد که برخی از این آسیبها را میتوانیم بشرح زیر بررسی کنیم:
DNS Spoofing
در سیستم DNS های دامنه با جعل و تغییر در رکوردهای ذخیره شده یک دامنه توسط هکر ها، عملیات Spoofing روی DNS رخ میدهد، با این اقدام هکرها تمامی درخواست های کاربران را به دامنه هک شده توسط هکر ها، به آی پی های جعلی که مربوط به DNS اصلی خود دامنه نیست انتقال داده میشود. و ترافیک به سوی آی پی تعریف شده هدایت میگردد تا هکر بتواند اقدامات خرابکارانه و یا سوء استفاده از نام دامنه را انجام دهد.
DNS Spoofing یا هک رکورد ها و تغییر در آنها به چه صورتی انجام میگیرد؟
در بسیاری از حملات به اصطلاح جعل دی ان اس اقدامات خرابکارانه روی کش DNS انجام میگیرد، همانطور که میدانید وقتی شما رکورد های DNS خود را روی دامنه ثبت میکنید، رکورد های تعریف شده شما توسط رجیسترر یا سازمانی که رجیسترر با آن همکاری دارد روی سرور های خاص تعریف میگردد و همچنین جهت دسترسی سریعتر این رکورد ها در سرور ها کش میگردند تا دسترسی سریعتر به رکورد های DNS داشته باشید. هکر ها معمولا با استفاده از باگ های نرم افزاری DNS سرور ها اقدام به نفوذ سیستم های DNS نموده و با جعل آنها به اهداف خود میرسند که به این حمله نیز cache poisoning گفته میشود.
البته بسیاری موارد مشاهده شده است که علاوه بر جعل کش های DNS، از طریق باگ های نرم افزاری DNS سرور ها، هکر ها اقدام به تغییر رکورد ها موجود در DNS مینمایند که باعث میگردد سایت شما از هاست شما فراخوانی نگردد و از مقصد تعیین شده هکر لود میگردد که به اصطلاح DNS Spoofing گفته میشود.
همه این مشکلات مطرح شده در واقع از Nonauthoritative بودن Resolve رکورد های مربوط به DNS دامنه میباشد. چراکه هکر برای تغییر در رکورد های dns نیازی مراحل Authorize ندارد و این مراحل را با باگ های DNS سرور ها براحتی پشت سر میگذارد و مانعی در سر راه آنها وجود ندارد که تغییر رکورد ها را با مشکل مواجه کنند.
البته این نقص که در سیستم DNS بصورت پیش فرض وجود دارد مربوط به طراحی اولیه آن میباشد که در زمان طراحی این پروتکل بیشتر کاربرد آن بصورت محلی بود و همچنین قدرت نفوذ هکر ها نیز به این اندازه بیشتر نشده بود که بتوانند این رکورد ها را تغییر دهند، با پیشرفت تکنولوژی های هکرها، سامانه هایی نیز برای جلوگیری از نفوذ آنها ایجاد شد که دسترسی هکر ها را محدودتر و قابلیتی روی تمامی رکورد های DNS اضافه نمودند که کاربر از سرور امن اطلاعات مربوط به دامنه را دریافت کند.
DNSSEC چیست؟
Domain Name System Security Extensions که مخفف آن DNSSEC میباشد دقیقا بدین منظور طراحی شده است که جلوی تمامی اقدامات خرابکارانه هکر ها را از جمله DNS Spoofing و cache poisoning متوقف میکند و اجازه هرگونه دستکاری بدون Authorize و بررسی را به هکرها DNS نمیدهد.
عملکر DNSSEC به چه صورتی میباشد؟
بصورت خلاصه میتوان عملکرد DNSSEC را اینطور بیان نمود: تمامی درخواست های کاربران برای مشاهده محتوای یک سایت از طریق رکورد های ثبت شده DNS انجام میگیرد، هنگام درخواست کاربر برای مشاهده وب سایت با تایید سرور اصلی که میزبان دامنه میباشد احتمال نفوذ را کاهش میدهد.
در واقع DNSSEC بصورت مستقیم با Spoofing و جعل کش DNS مقابله نمیکند بلکه، با استفاده از امضای دیجیتالی و عملیات Authentication مابین DNS سرور اصلی و سرور میزبان و کاربر دریافت کننده اطلاعات، این اطمینان را به DNS سرور میدهد که اطلاعات درخواستی کاربر از طریق سرور میزبان Trust شده لود میگردد.
نحوه استفاده DNSSEC از امضای دیجیتالی جهت امنیت بدین صورت میباشد که روی DNS سرور اصلی دامنه، از رمزنگاری نامتقارن که بصورت دو کلید عمومی و محرمانه مطرح میباشد استفاده میکند. کلید رمز نگاری عمومی در دسترس همگان قرار دارد ولی کلید رمز نگاری خصوصی بایستی در DNS سرور میزبان یا سروری که authoritative Nameserver های یک دامنه از طریق آن فراخوانی میگردد، قرار گیرد تا هنگام دریافت اطلاعات درخواستی کاربر طبق مکانیسم ذکر شده عملیات امن سازی پاسخ های DNS انجام گیرد.
رکورد های کلید خصوصی در واقع در authoritative Nameserver ها ذخیره میگردد، در این DNS سرور امن، هنگام ایجاد رکورد های DNS ، ابتدا توسط Resource record signature این امضاهای دیجیتالی به رکورد ها اضافه میگردد. هنگام دریافت رکورد مربوطه از طریق DNS سرور ، این امضاهای دیجتالی بررسی میگردند تا صحت سرور میزبان بررسی و به کاربر اطمینان خاطر دهد که اطلاعات از سرور Trust شده توسط DNS اصلی دامنه اطلاعات را مشاهده میکند
جهت درک بسیار ساده از نحوه عملکرد DNSSEC لطفا به تصویر زیر دقت کنید.
در آخر بایستی به این چند نکته توجه کنیم:
- این پروتکل درستی محتوا را تضمین نمیکند.
- این پروتکل فقط صحت آن را از طریق مکانیزم امضای دیجتالی تضمین میکند که از وب سرور Trust شده و واقعی لود میکند.
- با استفاده از این پروتکل هکرها قادر به تغییر آدرس آی پی ها درج شده در DNS نام دامنه شما و یا سوء استفاده از سیستم کش DNS سرور ها نخواهند بود.