آنچه در این مقاله می خوانید:
DNS چیست؟
در دنیای اینترنتی امروزه ما، خیلی برنامه ها، نرم افزارها و حتی سخت افزارهایی که با آن ها کار می کنیم، صرفا نحوه کار کردن با آن ها را یاد گرفته ایم و از پایه ممکن است آن ها نشناسیم. برای مثال DNS یکی از مفاهیمی است که همه در حال استفاده از آن هستند ولی ممکن است حتی اسم آن را هم نشنیده باشند. DNS مخفف عبارت Domain Name System است. شما در طول روز ممکن است به طور مداوم در حال استفاده از DNS در دنیای اینترنت باشید اما خودتان متوجه آن نباشید. حالا این سوال پیش میاد که اصلا DNS چیست؟ ما در این مقاله به شما توضیح خواهیم داد، پس تا پایان با ما همراه باشید.
DNS چیست؟
فهرست محتوا
در پاسخ به سوال DNS چیست؟ می توان گفت به طور کلی راه ارتباط میان کامپیوترها در یک شبکه آدرس IP هستش که به خاطر رساندن این اعداد برای ما بسیار دشوار خواهد بود. در واقع کاری که DNS انجام می دهد این است که هنگامی که نام یک وب سایت و یا هر چیزی را که قصد داریم جستجو کنید را داخل مرورگر خود تایپ می کند به صورت خودکار به آدرس IP وب سایت مورد نظر تبدیل می کند.
همگامی شما mrshabake.com را داخل مرورگر خود تایپ می کنید، DNS یا Domain Name System آن را به اعداد خوانا برای کامپیوتر یعنی آدرس IP تبدیل می کنید. و حتی برعکس این را هم می توان گفت که DNS سیستمی است که نام دامنه وب را سازماندهی میکند و آنها را برای همه کسانی که میخواهند به شبکه وصل شوند، قابلفهمتر میکند. حال که با مفهوم DNS چیست، آشنا شدید به بررسی تاریخچه DNS می پردازیم؛
تاریخچه DNS:
در دهه 1970، همه Hostname ها و آدرس های عددی مربوط به آنها در یک پرونده به نام “HOSTS.TXT” موجود بود و توسط الیزابت فینلر از موسسه تحقیقاتی استنفورد نگهداری می شد. این به عنوان شبکه آژانس پروژه های تحقیقاتی پیشرفته یا ARPANET، شناخته می شد و Feinler آدرس های عددی را به صورت دستی به نام دامنه اختصاص می داد. افزودن نام جدید به فهرست راهنما نیاز به تماس تلفنی با Feinler داشت.
در دهه 1980، این سیستم برای نگهداری بسیار ناکارآمد شد. در سال 1983، Domain name ایجاد شد تا در ابتدا یک فایل متمرکز با هر آدرس در سرورها و مکان های مختلف توزیع شود.
در سال 1986، IETFT این DNS را به عنوان یکی از استانداردهای اصلی اینترنت ذکر کرد. آن سازمان دو سند RFC-1034 و RFC-1035 را منتشر کرد که پروتکل DNS را توصیف کرده و انواع داده هایی را که می تواند حمل کند را شرح داده است. از آن زمان، DNS به طور مداوم به روز می شود و گسترش می یابد. امروزه، شرکت های بزرگ فناوری اطلاعات، مانند مایکروسافت و گوگل، خدمات میزبانی DNS اختصاصی خود را ارائه می دهند.
DNS سرور چیست؟
پس تا به اینجا متوجه شدید که درواقع پروتکلی که سبب تبدیل دامین به آدرس IP قابل فهم وب سرور تبدیل می کند. اما قبل از هر چیز باید این آدرس IP در DNS Server ثبت شود. DNS Server در حقیقت یک دیتابیس یا سرور بزرگ است که دارای دامینها و IPهای مرتبط به هم است.
DNS سرور های زیادی در شرکت های هاستینگ و سازمان ها وجود دارد. این سرور ها با یکدیگر در ارتباط هستند. بنابراین تنها کافی است شرکت هاستینگ، نام دامنه شما را در سرور DNS اضافه نماید تا در حدود ۴۸ ساعت بعد با سایر DNS ها در سراسر جهان هماهنگ شود.
نحوه عملکرد این سرورها بر اساس معماری شبکه client/server میباشد. به این صورت که مرورگر شما به عنوان DNS Client شناخته میشود که به آن DNS Resolver هم گفته میشود و به هنگام بازدید وبسایتها، وظیفه این DNS Client ارسال درخواست به سرویسدهنده اینترنت شما میباشد.
اما این سوال پیش می آید که بعد از ارسال درخواست از DNS Client به DNS سرور اگر اگر اطلاعات مورد نظر در دیتابیس سرور موجود نباشد چه اتفاقی می افتد؟
هر زمان یک DNS Server از سمت یک Client Server مانند مرورگرتان درخواستی دریافت میکند که اطلاعات مورد نظر Client Server در دیتابیسش موجود نباشد، خود آن DNS Server نیز نقشش به صورت موقت به DNS Client تغییر میکند و از طرف DNS Client اول که مرورگر است، همان درخواست را به سمت DNS Server رده بالاتر خود در این زنجیره و سلسله مراتب ارسال میکند.
این عمل تا جایی ادامه پیدا میکند تا سرانجام در دیتابیس یک DNS Server سطح بالا اطلاعات موجود باشد و در اختیار DNS Client قرار گیرد. پس در این لحظه DNS Server رده بالاتری که اطلاعات IP و نام مورد نظر در دیتابیسش موجود است، آن را به DNS Server سطح پایینتر خود میدهد و این مورد تا زمان در اختیار قرار گرفتن اطلاعات به DNS Client نخست ادامه پیدا میکند.
انواع سرور DNS:
4 سرور DNS ی که در بارگیری صفحه وب دخیل هستند:
ـDNS Recursor: این DNS را می توان یک کتابدار در نظر گرفت که از او خواسته شده است که یک کتاب خاص را در جایی در کتابخانه پیدا کند. DNS recursor سروری است که برای دریافت درخواست از ماشین های سرویس گیرنده از طریق برنامه هایی مانند مرورگرهای وب طراحی شده است. معمولاً DNS recursor مسئول درخواست های اضافی به منظور برآوردن درخواست DNS مشتری است.
ـ Root nameserver: اولین قدم در ترجمه نام میزبان برای انسان به آدرس IP است. می توان آن را مانند یک فهرست در کتابخانه تصور کرد که به قفسه های مختلف کتاب اشاره می کند و معمولاً به عنوان مرجع سایر مکان های خاص تر عمل می کند.
ـ TLD nameserver: این سرور را می توان مجموعه ای خاص از کتابها در یک کتابخانه در نظر گرفت. این سرور نام گام بعدی در جستجوی آدرس IP خاص است و آخرین قسمت نام میزبان را میزبانی می کند (در example.com، سرور TLD “com” است).
ـ Authoritative nameserver: این سرور را می توان به عنوان یک فرهنگ لغت در مجموعه ای از کتاب ها در نظر گرفت، که در آن می توان نام خاصی را ترجمه کرد و در جستجوی نام سرور است. اگر سرور به رکورد درخواست شده دسترسی داشته باشد، آدرس IP نام میزبان درخواست شده را به DNS Recursor (کتابدار) که درخواست اولیه را دریافت می کند، باز می گرداند.
بیشتر بخوانید: CDN چیست و چه کاربردی دارد؟
چرا ما از DNS Server استفاده میکنیم؟
قبل از اینکه به این سوال پاسخ دهیم، ابتدا سوالی طرح می کنیم که شما پاسخ ما را بدهید؟ این سوال این است که به خاطر نام www.mrshabake.com راحت تر است یا حفظ آدرس IP آن؟
مطمئناً پاسخ شما هم نام مسترشبکه هستش پس وقتی میخواهیم به یک وبسایت مانند mrshabake مراجعه کنیم، تنها آدرس www.mrshabake.com را در مرورگر وارد میکنم و تنها چیزی که لازم است به خاطرمان بسپاریم نام mrshabake است. این مورد برای وبسایتهای دیگر نیز مانند Google.com صادق است.
البته عکس این مورد را نیز در نظر بگیرید، یعنی ما به عنوان یک انسان کلمات URL را میفهمیم و آن را بسیار راحتتر از آدرس آیپی به خاطر میسپاریم اما کامپیوترها و دستگاههای متصل به شبکه آدرس IP را متوجه میشوند.
بنابراین برای دسترسی به وبسایتها از DNS Server استفاده میکنیم نه تنها به این دلیل که تنها میخواهیم از نامهای آسان قابل فهم برای انسان استفاده کنیم بلکه به این دلیل که کامپیوترها برای دسترسی به وبسایتها نیاز به استفاده از آدرس IP دارند. در این مابین سرور دیاناس به عنوان مترجمی بین دامنه و IP عمل میکند.
Zone File چیست و کجا نگهداری می شود؟
در واقع اطلاعات مربوط به هر دامنه بر روی فایلی به نام Zone File نگهداری می شود که بر روی سرور DNS قرار دارد. هر دامنه و زیر دامنه یک Zone File دارد که کار آن ایجاد پیوند میان دامنه و زیردامنه با آدرش های IP مربوط به آن است.
مزایای DNS چیست؟
اصلیترین مزیت سیستم DNS این است که استفاده از اینترنت را بسیار آسان میکند. در صورت عدم وجود DNS می بایست کلیه آدرس های IP را به خاطر بسپارید که بسیار دشوار خواهد بود. با استفاده از آن دیگر نیازی به حفظ کردن این رشته اعداد نیست و برای دستهبندی، بایگانی و کمک به موتورهای جستجو مناسب است.
یکی دیگر از مزیتهای قابلتوجه ثبات آن است. به دلایل مختلف، ممکن است آدرسهای IP تغییر کنند، بنابراین اگر میخواهید به یک وبسایت دسترسی پیدا کنید، نه تنها باید آدرس IP آن را بدانید بلکه این اطلاعات نیز باید به روز باشد. سیستم DNS وظیفه دارد تا آدرسهای IP را به روشی بسیار سریع و ثابت، به روز کند و دسترسی ما به وبسایت ها را آسان کند.
DNS میتواند امنیت زیرساخت را ارتقا بخشد، همچنین میتواند به روزرسانیهای ایمن پویا را فراهم کند. این سیستم شما را قادر میسازد تا عملکرد فنی سرویس دیتابیس را مشخص کنید. همچنین میتواند، مشخصات دقیق ساختار دادهها و مبادلات ارتباطی داده مورد استفاده در DNS را تعریف کند. در واقع DNS به عنوان نوعی توازن بار یا یک لایه اضافی امنیتی استفاده میشود.
معایب DNS چیست؟
سرور DNS در کنار مزیت های آن، معایبی نیز دارد که در این قسمت می خواهیم معایب DNS را بررسی کنیم. به عنوان یکی از اصلیترین معایب DNS می توان به DNS Attacks اشاره کرد که در آن مهاجم آدرس واقعی را با یک آدرس جعلی به منظور کلاهبرداری جایگزین میکند و با فریب کاربران آنها را بدون اطلاع به آدرسهای مخرب هدایت میکند. معمولاً هدف از این کار گرفتن اطلاعات بانکی یا سایر دادههای مهم و حساس کاربران است.
اگر بدافزار تنظیمات سرور DNS شما را تغییر داده باشد ، با وارد کردن URL ممکن است شما را به یک وب سایت کاملاً متفاوت یا به وبسایتی که به نظر می رسد مانند وب سایت بانک شما باشد منتقل کند. ممکن است نام کاربری و رمزعبور شما را ضبط کند و اطلاعاتی که برای دسترسی به حساب بانکی شما مورد نیاز باشد را به دست افراد سوءاستفادهگر برساند.
بدافزارها برخی از سرورهای DNS را میربایند تا شما را از وبسایت های محبوب و پربازدید به وبسایتهای ویروسی جعلی و پر از تبلیغات هدایت کنند و حتی شما را متقاعد کنند که برای حذف ویروسها از کامپیوتر خود، برنامههایی که در واقع مخرب و ویروسی هستند را دانلود و نصب کنید.
برای جلوگیری از چنین مشکلاتی، لازم است که برنامههای آنتی ویروس معتبر را بر روی سیستم خود نصب کنید و از ورود به سایتهایی که ظاهر متفاوتی با وبسایت درخواستی شما دارند پرهیز کنید. همچنین از وارد کردن اطلاعات شخصی و بانکی خود در سایتهای نامعتبر خودداری کنید.
خطای DNS چیست؟
خطای DNS از رایجترین خطاهایی است که مانع دسترسی کاربران به وب سایتهای مختلف و همچنین قطع اینترنت میشود. هنگام عیبیابی مشکلات شبکه نیز تنها پاسخی که دریافت میکنیم این است که سرور پاسخ نمیدهد. زمانی که سرور DNS از کار افتاده باشد و شما یک آدرس URL را وارد کنید، کامپیوتر نمیتواند آدرس IP را برای آن URL وارد کند. چون سیستم نمیداند چطور به Google دسترسی پیدا کند. در این حالت شما با یک پیام DNS error روبهرو میشوید.
این خطاها به دلایل مختلفی از جمله نصب برنامههای آنتی ویروس، مشکلات روتر، خرابی درایور، مشکلات ارائه دهنده سرویس DNS و… روی میدهد.
بیشتر بخوانید: پروتکل DHCP چیست و مکانیزم کاری آن
استفاده از دایرکتوری:
اگر سایت از یک دایرکتوری استفاده کند و تعداد بازدیدکنندگان از آن زیاد باشد، سایت کند خواهد شد و این امر باعث میشود کاربران کمی بتوانند وارد سایت شوند. در اینجا است که DNS وارد میشود و سرورهای مختلف آن سایت را به اشتراک میگذارد تا افراد بیشتری بتوانند وارد سایت شده و سایت سرعت بیشتری پیدا کند. جهت آشنایی بیشتر با “دامین کنترلر در اکتیودایرکتوری چیست؟” بر روی لینک کلیک کنید.
البته ناگفته نماند که ممکن است شما در روز از یک سایت زیاد بازدید کنید به همین خاطر DNS از قبل اطلاعات آن سایت را درون رایانه شما ذخیره کرده است و شاید با کوچکترین سرچ در گوگل میتوانید سایت مورد نظر خود را بدون هیچ دردسری پیدا کنید. بنابراین از این موضوع نتیجه میگیریم که تعداد زمانی که سرور DNS به شما کمک میکند تا سایت مورد نظر خود را پیدا کنید بیشتر از زمانی است که شما یک سایت را جستجو میکنید.
DNS مانند یک پایگاهی عمل میکنند که تمامی کارهای آن پایگاه به صورت سلسله مراتب است که هر کدام از کارها برای ذخیره اطلاعاتی در رابطه با دامنه سایتهای مختلف میباشد. شما وقتی قصد دارید وارد یک سایت شوید اولین کاری که رایانه شما انجام میدهد این است که آیا اطلاعات آن سایت از قبل درون DNS موجود است یا خیر.
DNS Leak چیست؟
نشت DNS یک نقص امنیتی است به این صورت که وقتی از VPN استفاده می کنید، انتظار دارید درخواست های شما که به DNS ها ارسال میشه از همان تونل ایجاد شده توسط VPN عبور کند و ردی از IP اصلی شما برجای نماند. حالا بعضی از VPN ها این امکان در درون آن ها تعریف نشده که درخواست هایی که به DNSها ارسال میشود از تونل وی پی ان عبور کند و سیستم شما به ناچار از طریق همان IP اصلی شما این درخواست ها رو ارسال کرده و ناخواسته، IP اصلی شما نشتی پیدا میکند، که به این حالت DNS Leak گفته میشود. جهت اطلاع بیشتر به مقاله DNS Leak چیست؟ مراجعه کنید.
ضرورت استفاده از آنتی ویروس ها:
استفاده از آنتی ویروس های قدرتمند به دلیل حمله بدافزار به سیستم و ایجاد تغییرات در DNS سرورها اهمیت دارد. برای مثال فرض کنید شما در داخل مرورگر خود آدرس سایت یک بانک را سرچ کرده اید. در حالت عادی شما به سایت بانک راه پیدا کرده و با موفقیت می توانید عملیات بانکی خود را انجام دهید. حال اگر یک بدافزار، DNS سرور شما را تغییر داده باشد. ممکن است شما را به یک وب سایت تقلبی ارجاع دهد که بسیار شبیه وب سایت اصلی است.
شما با وارد کردن اطلاعات خود راه خوبی را برای کلاهبرداری آنها آماده کرده اید. در واقع این وبسایت به کلاهبرداران این امکان را میدهد که با استفاده از اطلاعاتی که شما وارد نمودهاید، به صفحه و حساب اصلی بانکتان دسترسی داشته باشند.
حال برای پیشگیری از این مشکلات و حملات دو راه وجود دارد:
ـ نصب آنتی ویروس قدرتمند
ـ آگاهی کامل نسبت به وب سایت
علاوه بر موارد فوق توجه داشته باشید ارجاع ناخواسته مخصوصاً Redirect شدن وبسایت شما بدون اطلاع قبلی اتفاق خوبی نیست و ممکن است حاکی از وقوع نفوذ به وبسایت باشد. این مورد میتواند از طریق ویرایش کدهای فایل htaccess. محتوای دیتابیس و یا ویرایش محتوای فایلهای وبسایت روی میدهد.
بیشتر بخوانید: پروتکل HTTPS چیست؟
شما می توانید کلیه تجهیزات شبکه مورد نیاز خود را از فروشگاه اینترنتی مسترشبکه با بهترین قیمت و کیفیت، همراه با گارانتی معتبر خریداری نمایید. |