dns
هر دامنه یا وبسایت، از یک یا چند DNS خاص استفاده میکند. در این مطلب، DNS را بهطورکامل توضیح میدهیم و به این سوال که دی ان اس DNS چیست و چگونه کار میکند؟ پاسخ می دهیم.
دی ان اس DNS سیستمی جهانی است که تمامی وبسایتها و دامنهها از آن استفاده میکنند و بدون آن هیچ وبسایتی پابرجا نخواهد ماند.
DNS چیست؟
تمامی کامپیوترهای موجود در اینترنت، از تلفن هوشمند یا لپتاپ گرفته تا سرورهای وبسایتها، با استفاده از اعداد یکدیگر را شناسایی و ارتباط برقرار میکنند. این اعداد IP نام دارد. اما زمانی که میخواهیم وارد وبسایتی شویم و با سرور آن ارتباط برقرار کنید، نیازی به وارد کردن آدرس IP آن را نداریم و در عوض نام دامنه وبسایت را وارد می کنیم، این امکان توسط دی ان اس برای ما فراهم می شود، dns نام دامنه را به IP تبدیل می کند و آدرس سایت را قابلفهم برای انسان، به IP قابلفهم برای ماشین تبدیل میشود.
DNS مخفف Domain Name System و بهمعنای «سیستم نام دامنه» است که نام دامنه وبسایت (برای مثال www.sampel.com) را به آدرس IP (برای مثال ۱۹۲.۰.۲.۹۹) تبدیل میکند.
سرور DNS یا Nameserver چیست؟
هنگامیکه آدرس وبسایتی را وارد میکنید، باید به IP سرور مرتبط با دامین خود متصل شوید. حال این اطلاعات در کجا قرار دارد و سیستم چگونه میفهمد که دامنهها مختص کدام سرورند؟ سرور DNS یا Nameserver مانند دفترچهتلفن عمل و تمامی رکوردهای DNS و IPهای مرتبط با آنها را ثبت میکند. بهعبارتدیگر، وظیفه آن ارائه اطلاعات DNS مرتبط با دامنههاست.
معمولاً سرویسهای میزبانی وب Nameserverها را مدیریت میکنند. هر هاست یا سروری که میخرید، آدرس IP مخصوص خود را دارد که باید ثبت شود. هر سرور DNS وظیفه دارد اطلاعات مربوط به دامنه و IP سرورها را درون خود ذخیره کند تا درصورت فراخوانی، بتواند اطلاعات را ارسال کند. DNSهای درون Nameserverها در سراسر جهان پخش شدهاند و برای شناسایی باید دراختیار همگی آنها قرار بگیرد؛ بههمیندلیل، ثبت DNSهای دامنه ممکن است تا ۴۸ ساعت طول بکشد.
هر Nameserver آدرسهای DNS خاص خود را دارد که میتواند رکوردهای بسیاری از دامینها و IPها را در خود ذخیره کند. برای مثال:
- Ns1.parspack.co
- Ns2.parspack.co
هر نام دامنه باید حداقل دوبهدو به DNS متصل باشد؛ چراکه سرور و سرور اصلی و سرورهای بعدی برای زمانهایی استفاده میشوند که سرور اصلی دردسترس نباشد. هنگامیکه آدرس دامنه وبسایتی فراخوانی میشود، اطلاعات IP سرور شما از سرور DNS خوانده و به مرورگر ارسال میشود و سپس درخواست دریافت اطلاعات به سرورتان فرستاده میشود.
DNS چگونه کار میکند؟
همانطورکه گفتیم، DNS وظیفه برگرداندن IP از روی دامین را برعهده دارد. این عملیات طی چندین مرحله انجام میشود تا درنهایت آدرس IP معتبر و سالمی بهدست کاربر برسد. پیداکردن آدرس IP وبسایت در میان تمامی DNSهای موجود در دنیا کمی دشوار است که با معماری DNS این گام آسان میشود. هرکدام از این مراحل با دستهبندیکردن محل ذخیره DNS، به یافتن DNS اصلی کمک خواهند کرد. برای نمونه، در ابتدا منطقه DNS و سپس DNSهای مربوط به پسدامنه آنها بررسی میشود تا بتوان به مکان مناسبی دست یافت.
DNS Recursor .1
در مرحله اول، درخواست کاربر به این بخش ارسال میشود. این بخش با سرورهای DNS سِتشده ارتباط برقرار میکند تا بتواند IP را پیدا کند. برای انجام این کار، کوئریها را به سه بخش بعدی، یعنی Root Nameservers و Top-level Domain Nameservers و Authoritative Nameservers، ارسال میکند تا بتواند IP مناسب را بیابد.
Root Nameservers .2
برای یافتن DNS root zone یا DNS از روی منطقه آن است. این بخش وظیفه پاسخ به درخواستهایی را برعهده دارد که در همان منطقه DNS قرار گرفته است. درنهایت، فهرستی از سرورهای معتبر مطابق با TLD دامنه در یافتن آدرس آیپی کمک میکند.
Top-level Domain Namesevers .3
وظیفه نگهداری از IP مربوط به TDL دامنه را برعهده دارد و IP موجود را ارسال میکند و به مرحله چهارم میرسد.
Authoritative Nameserver .4
آدرس IP واقعی و نهایی را برمیگرداند. در این مرحله، دو نوع سرور وجود دارد: سرور اول، سرور اصلی که IP اصلی سِتشده در DNS اول و سرور دوم، همان DNS جایگزین و پشتیبان شماست. درصورت خرابی سرور اصلی، از سرور ثانویه استفاده میکند و IP نهایی را برمیگرداند.
سیستم نام دامنه چطور کار میکند؟
کش دی ان اس چیست؟
سیستم کش بهمعنای ذخیره موقت دادهها در مکانی نزدیکتر است که به بهبود عملکرد و پاسخ سریعتر منجر میشود. کشکردن DNS بهمعنای ذخیره اطلاعات DNS در نزدیکترین مکان برای کاربر است؛ بهطوریکه با ارسال درخواستهای بعدی، پاسخ DNS از کش کاربر خوانده میشود و دیگر درخواستی به زنجیره DNS ارسال نمیشود و درنهایت، مصرف پهنای باند CPU کاهش و سرعت لود وبسایت افزایش مییابد. دادههای DNS میتوانند در مکانهای مختلف کش و برای مدتزمان مشخصی برحسب TTL ذخیره شوند.
محل ذخیره کش DNS در مرورگر
مرورگرهای وب بهطورپیشفرض از ذخیره کش DNSها پشتیبانی و اطلاعات مربوط به هر DNS را برای مدتزمان مشخصی ذخیره میکنند تا درصورت بارگذاری مجدد، پاسخ DNS از مرورگر خوانده شود. هنگامیکه آدرس دامینی را باز میکنید، قبل از ارسال درخواست DNS، ابتدا کش مرورگر بررسی و درصورت نبود اطلاعات، درخواست به زنجیره DNS ارسال میشود.
در مرورگر کروم با رفتن به آدرس زیر، میتوانید وضعیت کش DNSهای فعلی را مشاهده کنید:
chrome://net-internals/#DNS
بهترین سرورهای DNS خارجی
معمولاً سرویس میزبانی وب سرورهای DNS را دراختیارتان قرار میدهد؛ اما بازهم میتوانید DNSهای دامنه خود را تغییر دهید. سرورهای DNS پولی و رایگانی وجود دارند که از سرعت و امنیت فراوانی برخوردارند و از ابزارهای امنیتی مانند فایروال و فیلتر درخواستها نیز استفاده میکنند. درادامه، برخی از سرورهای برتر DNS را معرفی کردهایم.
- Cloudflare: کلودفلر یکی از سرویسهای ارائهدهنده DNS است که امکانات فراوانی دراختیار کاربران قرار میدهد. Cloudflare علاوهبر امنیت، از حملات DDoS و سایر حملات جلوگیری و با سرویسهای امنیتی و معماری بهینه، امنیت و سرعت لود وبسایتتان را بهینه میکند.
- Google Public DNS: سرویس DNS گوگل که Google Public DNS نام دارد، کمی با سرویس Cloudflare تفاوت دارد و برای کاربران باتجربهتر طراحی شده است. این سرویس کاربردها و امکانات خاص خود را دارد که درصورت نیاز میتوانید از آن استفاده کنید.
- Quad9: سرویس دیاناس Quad9 به سرعت بسیار زیاد مشهور است. همچنین، این سرویس ادعا میکند که میتواند وبسایتها و کاربران مخرب را با استفاده از اطلاعاتش مسدود کند.
معرفی بهترین DNSهای خارجی
DNS Zone چیست؟
DNS به مناطق مختلفی تقسیم میشود و هرکدام از آنها را ارگانهای گوناگونی مدیریت میکنند. فضای نام DNS میتواند یک یا چند منطقه DNS داشته باشد که هرکدام را میزبان یا سرویس DNS خاصی مدیریت میکند. DNS Zone ساختار سلسلهمراتبی دارد که در آن top-level domain، دامنه، زیردامنه و… وجود دارد.
DNS Zoneها به دو دسته تقسیم میشوند:
- منطقه DNS اولیه (Master): دارنده DNS zone اصلی است (حاوی همه رکوردهای DNS برای آن منطقه). شما میتوانید هاست را ازطریق این منطقه مدیریت کنید.
- منطقه DNS ثانویه (Slave): یک کپی از DNS zone را نگه میدارد. شما میتوانید از آنها برای عملکرد بهتر، مخفیکردن Primary خود، پشتیبانگیری و افزونگی (Redundancy) استفاده کنید.
Zone file در DNS چیست؟
DNS zone file اساس فنی برای ذخیره اطلاعات DNS منطقه را تشکیل میدهد. DNS zone file فایلی متنی است که در سرور مدیر DNS ذخیره میشود. ساختار فایل DNS zone نیز در سند RFC 1035 تعریف شده است. طبق قانون DNS zone، فایل متنی است که هر خط دستورالعمل (Resource Record) را ارائه میدهد.
هدایت رکورد های دی ان اس
شما میتوانید DNSهای خود را با استفاده از انواع رکوردهای دامنه هدایت یا عملاً Redirect کنید. برای مثال، فرض کنید دو دامنه متفاوت example.com و examples.com دراختیار دارید و میخواهید هر دو به یک DNS و سرور متصل شوند و یک محتوا را نشان دهند. برای انجام این کار، باید از رکوردهای هدایت DNS استفاده کنید. بسته به اطلاعاتی که میخواهید وارد کنید، میتوانید با استفاده از رکوردهای A ،AAAA ،CNAME ،SRV ،NS ،TXT ،MX ،MXE و… تغییر مسیر URL را تنظیم کنید.
رکورد | کاربرد | ||
---|---|---|---|
1 | A | ||
2 | CNAME | – بهجای آدرس IP، برای اتصال به دامنه از آدرس دامنه دیگر استفاده میکند. – با این رکورد،میتوان تمامی دامنهها را به یک سرور متصل نمود و درصورت نیاز با تغییر تنها یک رکورد اصلی، تمامی رکوردهای CNAME تغییر میکند. – برای پیکربندی ایمیل مارکدار حرفهای مانند Outlook.com قابل استفاده است. | |
3 | MX | خفف Mail Exchanger است که ایمیل سرور را برای مدیریت ایمیلهای نام دامنهای خاص تعریف میکند. این رکورد نوع پروتکل ارسال ایمیل (SMTP یا استاندارد) را نیز مشخص میکند. بهعنوان مثال، با افزودن رکورد MX ارائهشده Outlook.com برای your-domain.com، هر ایمیل دریافتی your-domain.com ازطریق سرورهای ایمیل Outlook.com دریافت میشود | |
4 | TXT | ین رکورد زمانی مفید است که از سرویس پست الکترونیکی شخص ثالثی مانند G-Suite یا Outlook.com در نام دامنه خود استفاده میکنید. رکورد TXT وظیفه ذخیره متنی مشخص در بخش DNS را برعهده دارد که شرکتهایی مانند گوگل معمولاً از آن برای شناسایی و احراز هویت دامنه استفاده میکنند. | |
5 | NS | رکورد NS مخفف Name Server و یکی از رکوردهای پرکاربرد DNS است که Nameserverهای DNS Zone شما را شناسایی میکند. این رکورد سروری را دریافت میکند که باید در زمان فراخوانی DNS پاسخگو باشد و با قراردادن Name Server مدنظر، میتوانید دامنه خود را به سرور دلخواه متصل کنید. رکورد یادشده معمولاً در زمان خرید هاست یا سرور استفاده میشود. |
A records .1
اصلیترین و پرکاربردترین نوع رکورد DNS است. با استفاده از این رکورد، میتوانید آدرسهای دامنه خود را به آدرس IP سرور متصل کنید. این رکورد همان استفاده اصلی از DNS است که ارتباط بین دامنه و IP را برقرار میکند.
CNAME .2
مخفف Canonical Name و نوعی رکورد DNS است که بهجای آدرس IP، برای اتصال به دامنه از آدرس دامنه دیگر استفاده میکند. با استفاده از این رکورد، میتوانید بهراحتی تمامی دامنههای خود را به یک سرور متصل کنید و درصورت نیاز با تغییر تنها یک رکورد اصلی، تمامی رکوردهای CNAME را تغییر دهید. همچنین، از این رکورد برای پیکربندی ایمیل مارکدار حرفهای مانند Outlook.com میتوانید استفاده کنید.
MX .3
مخفف Mail Exchanger است که ایمیل سرور را برای مدیریت ایمیلهای نام دامنهای خاص تعریف میکند. این رکورد نوع پروتکل ارسال ایمیل (SMTP یا استاندارد) را نیز مشخص میکند. بهعنوان مثال، با افزودن رکورد MX ارائهشده Outlook.com برای your-domain.com، هر ایمیل دریافتی your-domain.com ازطریق سرورهای ایمیل Outlook.com دریافت میشود.
TXT .4
این رکورد زمانی مفید است که از سرویس پست الکترونیکی شخص ثالثی مانند G-Suite یا Outlook.com در نام دامنه خود استفاده میکنید. رکورد TXT وظیفه ذخیره متنی مشخص در بخش DNS را برعهده دارد که شرکتهایی مانند گوگل معمولاً از آن برای شناسایی و احراز هویت دامنه استفاده میکنند.
NS .5
رکورد NS مخفف Name Server و یکی از رکوردهای پرکاربرد DNS است که Nameserverهای DNS Zone شما را شناسایی میکند. این رکورد سروری را دریافت میکند که باید در زمان فراخوانی DNS پاسخگو باشد و با قراردادن Name Server مدنظر، میتوانید دامنه خود را به سرور دلخواه متصل کنید. رکورد یادشده معمولاً در زمان خرید هاست یا سرور استفاده میشود.
آشنایی با DNS zone file
فایروال DNS چیست؟
فایروال DNS ابزاری است که خدمات امنیتی بسیار زیادی به DNSها ارائه میدهد. فایروال DNS مانند لایهای امنیتی بین Resolver و Authoritative Nameserver قرار میگیرد تا دسترسی کاربران به IP واقعی سرور مقدور شود. از دیگر ویژگیهای فایروال میتوان به تفکیک ترافیک و فیلتر ترافیک برحسب سن و… و تغییر DNS اشاره کرد. برای برخورداری از امنیت و سرعت کامل، پیشنهاد میکنیم از DNSهای پارس پک استفاده کنید.
DNSSEC چیست؟
DNSSEC مخفف Domain Name System Security Extensions و بهمعنای افزونههای امنیتی DNS است که برای امنیت DNSهای شما بسیار اهمیت دارد. DNSSEC با بهکارگیری سیستم جفتکلید امضای دیجیتال و بدون نیاز به کوئریهای DNS، میتواند صحت سرور پاسخدهنده را تأیید کند و بدینترتیب، امنیت DNS را افزایش دهد. این ویژگی را معمولاً در DNSها میتوان نصب و استفاده کرد. برای کسب اطلاعات بیشتر، میتوانید از ارائهدهنده سرویس میزبانی خود پرسوجو کنید.
آیا دی ان اس امن است؟
امنیت همیشه و همهجا باید وجود داشته باشد. DNS پروتکلی قدیمی است و بدون درنظرگرفتن نکات امنیتی ایجاد شده است. برای حمله ازطریق DNS به وبسایت و نیز ایمنسازی DNS، راههای متفاوتی وجود دارد. امنیت DNS در چندین لایه مختلف لحاظ میشود و از خطر بسیاری از حملهها جلوگیری میکند. یکی از لایههای نفوذپذیر DNS، لایه ارسال کوئری برای دریافت IP است که اطلاعات امنیتی و خصوصی را دربر دارد و نباید در دست هکرها قرار بگیرد.
آیا DNS امن است؟
رایج ترین حملات DNS
DNS نیز مانند سایر پروتکلها و سرویسها درمعرض خطر و هک وجود دارد. حملهها و راههای نفوذپذیری زیادی وجود دارد که ممکن است امنیت DNS و سرور شما را بهخطر بیندازند. درادامه، برخی از این راهها را معرفی میکنیم:
۱. جعل DNS (مسمومیت کش)
همانطورکه میدانید، بخشی از DNS در کش مرورگر ذخیره میشود. هکرها با دسترسی به کش مرورگر و جعل اطلاعات DNS، میتوانند IP وبسایت مدنظر را به IP سرورهای مخرب تغییر دهند و کاربر را به آنها هدایت کنند. همچنین، اغلب به وبسایتهای کپی وبسایت اصلی ریدایرکت میشوند که برای جعل مدارک بهکار میروند.
DNS Tunneling .۲ (تونل DNS)
در این نوع حمله، هکرها از پروتکلهایی برای تونلکردن کوئریهای DNS و از SSH یا TCP یا HTTP برای ارسال اطلاعات به کوئریهای DNS استفاده میکنند.
DNS Hijacking .۳ (ربودن DNS)
هکرها DNS ربودهشده را به IP سرورهای جعلی خود متصل و کوئریهای DNS را به سرور دیگری ارسال میکنند که موجب هک اطلاعات میشود.
۴. حمله NXDOMAIN
این نوع حمله درخواستهای جعلی بسیار زیادی را به DNS ارسال میکند که باعث پرشدن ترافیک سرور DNS میشود و به کاربران اجازه نمیدهد به وبسایت وارد شوند. افزونبراین، این حمله خطر جعل کش DNS را افزایش میدهد. NXDOMAIN به حمله هم DDoS معروف است و ازطریق این لایه انجام میشود.
برای آشنایی با سرویس DNS ابری و عملکرد آن مقاله زیر را بخوانید.
DNS ابری چیست؟
Domain Lock-up .۵
در این حمله، مهاجمان با تنظیم دامنهها و Resolversهای ویژه، اتصالات TCP را دور میزنند و درخواستها را به دیگر Resolversهای غیرقانونی ارسال میکنند که درنهایت، باعث تغییر پاسخ درخواست DNS دلخواه خواهد شد.
Phantom Domain .۶
در این حمله، هکرها سعی میکنند به DNS Resolver اطلاعات جعلی وارد کنند و سیستم DNS شما را در انتظار پاسخ از مکانی نامعلوم قرار دهند. با این کار آنان میتوانند خطای دریافت پاسخ غلط را افزایش دهند و با تأخیر بیجا، لود وبسایتتان را متوقف کنند.
Botnet-Based CPE .۷
در این روش، هکرها سعی میکنند با استفاده از سیستمهای متفاوت، درخواستهای بسیار زیادی به سرور DNS وارد و سیستم سرور اصلی وبسایت را مشغول کنند و درنهایت، وبسایت را از کار بیندازند.
متداولترین حملات DNS کدامند؟
جمعبندی
DNS سیستم ارتباطی میان نام دامنه و IP سرور است که درنهایت، اطلاعات سرور را به کاربر نشان میدهد. DNS متشکل از ۴ بخش است که درنهایت همگی آنها درکنارهم به IP سرور دست مییابند. همچنین، راههای متفاوتی برای تغییر رکورد DNS دامنه وجود دارد (مانند رکورد NS و رکورد A) که میتوانید IP سرور خود را ازطریق روشهای مختلف به دامنه خود متصل کنید. نکته دیگر اینکه برای حفظ امنیت و سرعت بیشتر نیز، میتوانید از سرویسهای DNS استفاده کنید.
سؤالات متداول
۱. DNS چیست؟
DNS سیستم تبدیلکننده نام دامنه به IP سرور برای دریافت اطلاعات و نمایش به کاربر است.
۲. نمونه ای از DNS چیست؟
نمونه DNS گوگل بهترین گزینه شناخته میشود. آدرس DNS اصلی گوگل ۸.۸.۸.۸ است.
۳. چگونه DNS خود را پیدا کنیم؟
در کامپیوتر ویندوزی، میتوانید DNS خود را با رفتن به خط فرمان و تایپ «ipconfig/all» و سپس زدن Enter پیدا کنید.
۴. انواع DNS چیست؟
چهار نوع DNS وجود دارد: ۱. حلکنندههای بازگشتی؛ ۲. سرورهای نام ریشه؛ ۳. سرورهای نام TLD؛ ۴. سرورهای نام معتبر.
۵. آیا تغییر DNS ایمن است؟
بستگی دارد. DNSها همواره در خطر هک قرار دارند و برای افزایش امنیت، میتوانید از سرویسهای DNS استفاده کنید.
۶. آیا باید از DNS خصوصی استفاده کنیم؟
بله، DNS خصوصی میتواند امنیت بیشتری درمقایسهبا سایر DNSها به شما ارائه دهد
منبع:
پارس پک