- 11 مهر 1400
- آموزش های تخصصی وب
DNSSEC چیست؟چه تاثیری بر امنیت سایت دارد؟
DNSSEC یک نوع پروتکل برای حفاظت سایت ها از حملات مخرب روی دامنه و نام سایت ها است. امروزه عملکرد صحیحی سایت ها بر اساس نام آنها است. نام سایت ها به صورت مخفف با کلمه DNS نشان داده میشود. هر ایمیلی که ارسال می شود و هر تصویری که در اینترنت مشاهده می کنید به خاطر عملکرد صحیح DNS است.
در دنیای اینترنت هر سایت روی یک سرور قرار گرفته است. به همین دلیل برای اینکه به سایت مورد نظر وصل شوید باید به سرور مورد نظر وصل شوید. سرور ها با اعدادی به نام IP از یکدیگر متمایز داده می شوند و هر سرور یک عدد مانند 192.0.43.7 دارد. با توجه به تعداد بالای سایت ها تعداد زیادی از این عدد ها در دنیای اینترنت وجود دارد. قطعا حفظ شدن این عدد ها برای کاربران ارمی محال و غیر ممکن است.
برای اینکه کاربران به راحتی بتوانند به رایانه و سایت مد نظر خود متصل شود از یک پروتکل به نام DNS استفاده می کنند در واقع DNS نام سایت ها را به IP سرور ها متصل می کند و شما با تایپ کردن نام سایت به سرور مورد نظر هدایت می شوید. این فرایند به صورت یک استاندارد است و تمامی روتر ها، سرور ها و سایت ها از این قاعده پیروی می کنند. این فرآیند در کل اینترنت در تمام دنیا با یک روش استاندارد و پایه انجام می شود.
DNSSEC چه کاربردی دارد؟
اخیراً آسیب پذیری های زیادی در پروتکل DNS کشف شده است که نیاز به ارتقا و بهبود این پروتکل را الزامی کرده است. هکر ها با در اختیار گرفتن اطلاعاتی که در زمان ارسال درخواست ها برای DNS ها استفاده می شود، اطلاعات مهمی از سیستم و رایانه فرد مورد نظر پیدا می کنند فرایند های خرابکاری خود را از طریق این اطلاعات به دست آمده انجام می دهند.
این آسیب پذیر باعث شده است که پروتکل DNSSEC به وجود بیاید. امروزه استفاده از این پروتکل رشد بسیار زیادی داشته است. پروتکل DNSSEC با قرار دادن یک امضای دیجیتال در اطلاعات ارسال شده در DNS امکان احراز هویت دامنه ها و در امان بودن آنها را در برابر حملات مختلف امکان پذیر می کند.
امضاهای دیجیتال استفاده شده در پروتکل DNSSEC در سرور های DNS ذخیره می شوند. با بررسی امضا ها مشاهده شده در سرور ها، رکورد های مختلف DNS ها بررسی شده و هر کدام از آنها که دارای امضای مشابه و مورد تائید قرار می گیرد. با این کار اطلاعات و رکورد های ناشناس مورد تائید واقع نمی شوند.
رکورد های مرتبط با DNSSEC
-
RRset
اطلاعات و رکود هایی با نام، نوع و class یکسان که درون یک RRset قرار میگیرند. برای نمونه تمام رکوردهای NS موجود برای یک دامنه داخل یک RRset قرار میگیرند.
-
RRSIG
دربردارندهی امضای دیجیتال یک RRset
-
DNSKEY
حاوی کلید عمومی مربوط به ZSK یا KSK
-
ZSK
مسوول امضای رکوردها در تمامی فرآیند است البته رکوردهای DNSKEY مرتبط با یک zone در این عملکرد قرار نمی گیرند.
-
KSK
مسئول امضای رکوردهای DNSKEY مرتبط با یک zone است.
-
DS
دربردارندهی hash رکورد DNSKEY حاوی public KSK است. از رکوردهای DS برای ایجاد زنجیرهای از اعتبارسنجی در ساختار سلسله مراتبی DNS استفاده میشود.
استفاده از پروتکل DNSSEC
از سالها قبل مهندسان و تکنسین های موجود در مرکز مهندسی اینترنت یا همان IETF دریافته بودند که عدم احراز هویت در فرآیند DNS یک مشکل بسیار مهم است در آن زمان سایت های اینترنتی رشد آنچنانی پیدا کرده بودند. با این حال در سال های اخیر رشد سایت های اینترنت بسیار سریع بوده است و با همین رشد این مشکل خیلی سریع تر خودش را نشان داده است.
با این حال از سال 1990 مهندسان این مرکز به دنبال یک راه حل بودند و نتیجه آن راه حل استفاده از پروتکل DNSSEC بوده است. پروتکل DNSSEC با استفاده از رمز نگاری و استفاده از کلید عمومی باعث تقویت فرایند احراز هویت در DNS ها می شود. در واقع با استفاده از پروتکل DNSSEC دیگر درخواست ها و اطلاعات ارائه شده از سمت کاربر رمز گذاری نمیشوند بلکه تمامی فرایند DNS توسط خود صاحب DNS رمزنگاری و امضا می شود.
امروزه در دنیای اینترنت هر منطقه جغرافیای دارای یک DNS با یک جفت کلید عمومی / خصوصی منحصر به فرد است. استفاده از این کلید ها باعث میشود که ما با مشاهده آنها در DNS متوجه شویم که مربوط به کدام منطقه جغرافیایی است. با فراخوانی DNS کلید عمومی آن نیز فراخوانی می شود.
با استفاده از این کلید عمومی شما می توانید برای صحت سنجی DNS استفاده کنید. حال استفاده از پروتکل DNSSEC باعث میشود که فرایند اعتبار سنجی سایت ها بهتر و کامل تر انجام شود. در نتیجه در این پروتکل از امضاها ی قانونی استفاده می شود. اگر امضای مشاهده شده روی DNS ها معتبر و قانونی نباشد این فرایند از نظر مرورگر و سرویس دهنده به عنوان یک فعالیت مخرب و حمله در نظر گرفته می شود. در این حالت داده ها کنار گذاشته می شوند و پیغام خطا برای کاربر ارسال می شود. این پیغام خطا روی مرورگر کاربر نمایش داده می شود.
پروتکل DNSSEC دو ویژگی مهم را به فرایند DNS اضافه می کند.
-
احراز هویت منبع داده به یک درخواست کننده اجازه می دهد تا اطاعات را به صورت رمزنگاری مورد بررسی قرار داده و آنها را تائید کند. این فرایند همچنین دریافت اطلاعات را تائید می کند. با اینکار مشخص می شود که اطلاعات ارسال شده واقعاً از جانب منبع و منشأ اولیه بوده است.
-
حفاظت از یکپارچگی داده ها، به درخواست کننده این امکان را می دهد تا بداند که داده ها از زمان امضای اصلی توسط مالک دامنه و یا مالک منطقه با استفاده از کلید خصوصی منطقه، در زمان ارسال و دریافت مورد تغییر واقع نشده اند.
فرآیند اعتماد به کلید های پروتکل DNSSEC
بر اساس اطلاعات اعلام شده در هر منطقه جغرافیایی از یک کلید عمومی استفاده می شود. در این حالت درخواست کننده می تواند یک فرایند بازگشتی برای دریافت اعتبار دادها در منطقه جغرافیای مورد نظر را اجرا کند؛ اما سؤال مهم این است که یک درخواست کننده چگونه می تواند از اعتبار یک کلید عمومی اطمینان حاصل کند؟
کلید عمومی مورد استفاده شده نیز مانند دیگر اطلاعات ارسال شده به صورت رمزنگاری است. با این حال کلید عمومی توسط یک کلید خصوصی در منطقه جغرافیای والد امضا می شود. به عنوان مثال در دامنه سایت ICANN.org کلید عمومی بخش.org را امضا می کند. این فرایند به عنوان یک کلید عمومی شناخته می شود در این منطقه جغرافیای والد مسئول انتشار لیست سرور های معتبر منطقه است. در نتیجه مسئول اعتبار کلید عمومی نیز است. کلید عمومی هر منطقه توسط منطقه جغرافیای والد خود مورد تائید قرار می گیرد. البته این فرایند در منطقه جغرافیای ریشه امکان پذیر نیست و در این منطقه هیچ والدی برای امضای کلید عمومی وجود ندارد.
هنگامی که پروتکل DNSSEC روی یک DNS فعال می شود دو جفت کلید که key-pairs نامیده میشوند تولید می شود. این کلید ها اساس فرآیند رمزنگاری می باشند. یکی از این جفت کلید به صورت کلید عمومی مورد استفاده قرار می گیرد و کلید دیگر به عنوان کلید خصوصی مورد استفاده قرار می گیرد. کلید خصوصی به منظور رمزگذاری درخواست های DNS استفاده می شود. این فرایند رمزگذاری تنها توسط کلید عمومی قابل بازگشایی می باشد.
چه کسی فرآیند استفاده از پروتکل DNSSEC را مدیریت می کند؟
فرایند مدیریت و استفاده از پروتکل DNSSEC بر عده موسسه ICANN است. این موسسه کلید ها را مدیریت می کند. با این حال گواهی نامه های جهت ایجاد کلید های خاص توسط گروه های دیگر نگهداری و ایجاد می شود. این موسسه راهکار های خاصی را برای نگهداری اعتبار ها توسط نهاد های گوناگون ارائه می دهد. در نهایت با استفاده از پروتکل DNSSEC سایت ها می توانند ضریب امنیتی خود را در برابر حملات انجام شده روی نام و دامنه سایت ها به شدت افزایش دهند.
امروز با رشد استفاده از پروتکل DNSSEC می توان پایه و اساس پروتکل های بعدی در اینترنت را با استفاده از روش های نوین تغییر داد. پروتکل های جدید ایجاد شده می توانند هماهنگ با ساختار پروتکل DNSSEC بوده و تنها در مناطقی فعالیت کنند که امضاهای دیجیتال در آنجا اعتبار داشته باشند.
در راستای همین فرایند در سال 2018 موسسه ICANN برخی بخش های اساسی و ریشه های پروتکل DNS را بر مبنای پروتکل DNSSEC تغییر داده است. با این کار اپراتور های ارائه دهنده خدمات اینترنت توانستند از ساز کار اعتبار سنجی بهتر و بهینه تر استفاده کنند. در سال های آینده موسسه ICANN امیدوار است که استفاده از پروتکل DNSSEC رشد بیشتری پیدا کند. این به این معنی است که دیگر با خیال راحت می توان آدرس سایت ها را تایپ کرد و مدیران سایت ها نیز از حملات احتمالی هکر ها و افراد خرابکار روی دامنه سایت ها در امان خواهند بود.