بدون DNS و دامنه، تجربه ما از مرور وب کاملا متفاوت خواهد بود. بهعنوان کاربر، باید آدرسهای IP وبسایتهایی را که میخواهیم بازدید کنیم، به خاطر بسپاریم که اصلا تجربه کاربری خوشایندی به نظر نمیرسد.در این مطلب به معرفی رکوردهای DNS و وظایفی که هر کدام از آنها بر عهده دارند خواهیم پرداخت.
DNS سرویسی است که نام دامنه را با آدرسهای IP مرتبط میکند، بنابراین هر زمان که parsdev.com را تایپ میکنیم، DNS از یک سری پروتکل برای اتصال ما به سرور DNS معتبر نام دامنه استفاده میکند و محتوایی را که قصد بازدید از آن را داشتیم به ما ارائه میکند. DNS یکی از محبوب ترین سرویس های اینترنتی است و در عین حال در برابر حملات مبتنی بر DNS آسیب پذیر است. درک DNS یک گام مهم برای جلوگیری از حملات DNS است.
سرورهای DNS یک بخش حیاتی به نام فایل DNS zone هستند که حاوی انواع رکوردهای DNS است که هر کدام شامل دستورالعملهای خاصی برای سرورهای دیگر است که باید به منظور اتصال به سرویسهای مختلف در دامنه، مانند وب سرور برای بازدید از یک وبسایت یا سرور ایمیل، از آنها پیروی کنند.
اکثر صاحبان و کاربران دامنه با انواع رکوردهای DNS استاندارد مانند رکوردهای A، CNAME، MX و TXT آشنا هستند، زیرا آنها مسئول اعمال روزمره کاربران آنلاین هستند. اما فراتر از مواردی که بیشتر مورد استفاده قرار می گیرند، لیستی از انواع رکوردهای DNS وجود دارد که بسیاری از کاربران نام آن را هم نشنیده اند.
در این مقاله در مورد رایج ترین انواع رکوردهای DNS صحبت میکنیم و فهرستی از سایر موارد کمتر شناخته شده را که امروزه مورد استفاده قرار می گیرند مرور کنیم.
رکورد DNS چیست؟
همانطور که گفته شد، رکوردهای DNS دستورالعمل هایی هستند که در سرورهای DNS معتبر یافت و در Zone file آنها ذخیره می شوند. همه دامنه ها باید تعداد کمی رکورد ضروری را داشته باشند تا کاربر اجازه دسترسی به یک وب سایت را داشته باشد.
رکورد مرجع (RR)
رکورد مرجع (RR) یا Resource record در dns، توضیحات و اطلاعات است که یک منبع خاص را تعریف می کند. رکورد مرجع واحد اساسی سرویس DNS است. فیلدهای این رکورد به صورت کلی زیر استفاده می شوند:
- Name هاست نیم (hostname)
- TTL زمانی بر حسب ثانیه که در آن مشتری میتواند رکورد را قبل از درخواست مجدد اطلاعات از سرور DNS در حافظه پنهان ذخیره کند
- Class برای رکوردهای DNS رایج که شامل hostname، سرور یا IP است، روی IN (اینترنت) تنظیم شده است
- Data داده های یک رکورد، اطلاعاتی است که بر اساس آن دامنه قابل resolve شدن است. تمام این اجزای رکورد DNS در syntax رکورد DNS ساختار یافته اند
Zone file
فایل Zone شامل تمام رکوردهای مرجع دامنه است. این فایل یک بخش ویژه و یک فضای اجرایی در ساختار DNS می باشد. یک فایل زون با نام مشخص شامل تمام زیرمجموعه های همان دامنه خاص است. همانطور که در دفترچه تلفن، می دانیم که تمام شماره های تماس مربوط به نام هایی که با یک حرف مشخص و ثابت شروع می شوند در صفحه مربوط به همان حرف قرار دارند.
رایج ترین انواع رکورد DNS
از روزهای اولیه DNS، اینترنت به گونه ای شکل گرفته و پیشرفت کرده است که انواع رکورد DNS به طور مداوم همراه با آن تغییر کرده است. بسیاری از آنها منسوخ شده اند و فقط با انواع جدیدتر جایگزین شده اند.
-
رکوردA
رکورد A یکی از ساده ترین و اساسی ترین انواع رکورد DNS هستند. A مخفف Addressاست و هنگامی که می خواهید از یک وب سایت بازدید کنید، ایمیل بفرستید یا در واقع کاری در اینترنت انجام دهید، دامنهای که وارد میکنید باید با آدرس IP مرتبط باشد. رکورد A نشان دهنده آدرس IP دامنه است.
به عنوان مثال، اگر Parsdev.com را وارد کنید، رکورد A آدرس آی پی این دامنه را نشان می دهد و دستگاه شما را به وب سایت ما متصل می کند. اکثر وب سایت ها یک رکورد A دارند، اما می توانید از چندین رکورد A برای یک دامنه برای ایجاد افزونگی استفاده کنید، یا از تعدادی دامنه استفاده کنید که هر کدام یک رکورد A دارند که به آدرس IP یکسانی اشاره دارد. چیزی که باید در مورد رکوردهای A بدانید این است که آنها فقط میتوانند برای آدرس های IPv4 استفاده شوند.
در حال حاضر IPv4 و IPv6 دو نسخه IP محبوب هستندکه هر دو برای لیبل زدن دستگاههای متصل به شبکه استفاده میشوند، اما از جنبههای مختلفی متفاوت هستند. در این مقاله، با تفاوت های بین IPv4 و IPv6 و آینده آنها آشنا خواهید شد.
-
رکورد AAAA
رکوردهای A برای آدرس های IPv4 هستند، رکوردهای AAAA برای آدرس های IPv6 هستند. این رکوردها حاوی آدرس IPv6 برای یک نام دامنه معین است ؛ یک تفاوت مهم بین آدرس های IPv4 و IPv6 این است که آدرس های IPv6 طولانی تر هستند.
IPv6 نشان دهنده نسخه جدیدتر IP هستند و از آنجا که تعداد آدرس های IPv4 در دسترس به سرعت در حال کاهش است، انتظار می رود پذیرش IPv6 رشد کند. در حالی که همه دامنههای موجود در اینترنت دارای یک یا چند آدرس IPv4 هستند، همه دارای آدرس IPv6 نیستند، اما انتظار میرود که در سالهای آینده نیز تغییر کند.
-
رکورد CNAME
رکورد CNAME مخفف canonical name یک نام مستعار را به نام دامنه نگاشت می کند. هنگامی که یک زیر دامنه یا یک دامنه نام مستعار برای یک دامنه دیگر باشد، به عنوان جایگزینی برای یک رکورد A استفاده می شود. رکوردهای CNAME همیشه باید به یک دامنه اشاره کنند و نمیتوانند به آدرس IP متصل شوند.
وقتی وبسایتها دارای زیر دامنههایی مانند blog.domain.com یا mag.domain.com هستند، آن زیر دامنهها دارای رکورد CNAME هستند که به دامنه ریشه، domain.com اشاره میکنند. از آنجایی که آنها حاوی آدرس IP نیستند، اگر آدرس IP دامنه ریشه تغییر کند، رکوردهای CNAME همچنان به دامنه اشاره می کنند. رکوردهای CNAME معمولا حاوی زیر دامنه هایی هستند که به یک رکورد A یا AAAA اشاره می کنند به این معنی که نیازی به ایجاد یک رکورد A یا AAAA برای هر زیر دامنه نیست.
-
رکورد MX
MX یا رکورد تبادل ایمیل مسئول هدایت یک ایمیل به سرور ایمیل است. رکورد MX نحوه مدیریت یک پیام ایمیل را آموزش می دهد و مانند رکوردهای CNAME، همیشه باید به دامنه دیگری اشاره کند. نامهای میزبان MX معمولی که احتمالاً متوجه آن شدهاید عبارتند از mail.domain.com، smtp.domain.com و imap.domain.com.
یک دامنه میتواند چندین رکورد MX داشته باشد و آنها بر اساس اولویت برچسب گذاری می شوند به این شکل که هر چه مقدار عددی بالاتر باشد، اولویت کمتر است. رکورد MX با بالاترین اولویت (کمترین مقدار عددی) به اول متصل میشود، و سایر رکوردهای اولویتدار MX به ترتیب بر اساس مقدار اولویتشان دنبال میشوند؛ بنابراین mailhost 2 فقط در صورتی متصل می شود که mailhost 1 در دسترس نباشد.
-
رکورد NS
NS مخفف nameserver است. nameserver نوعی از سرور DNS است که تمام رکوردهای DNS را برای یک دامنه، از جمله رکوردهای A، MX و CNAME ذخیره می کند. یک رکورد NS حاوی اطلاعاتی است که سرور DNS برای دامنه داده شده معتبر است. به زبان ساده، هنگام تلاش برای دسترسی به یک دامنه، رکوردهای NS نشان می دهد که آدرس IP آن کجاست.
یک دامنه اغلب دارای چندین رکورد NS است که حاوی اطلاعات یکسانی است و برای افزونگی استفاده می شود. اگر یک nameserver در دسترس نباشد، DNS سرور نام دیگری را که پشتیبان است، درخواست می کند. و بدون پیکربندی صحیح رکوردهای NS، کاربران نمیتوانند به یک وبسایت دسترسی داشته باشند، که میتواند زمانی اتفاق بیفتد که سرورهای نام دامنه تغییر میکنند و رکوردهای NS برای منعکس کردن آن بهروزرسانی نمیشوند.
-
رکورد PTR
یک رکورد PTR یا Pointer به عنوان معکوس رکوردهای A و AAAA عمل می کند. در حالی که رکوردهای A و AAAA آدرس IP مرتبط با یک دامنه مشخص را ارائه می دهند، رکوردهای PTR نام دامنه مرتبط با یک آدرس IP را ارائه می دهند. به این ترتیب، رکوردهای PTR در جستجوهای معکوس DNS استفاده می شود. با جستجوی معکوس DNS، سرور DNS اطلاعاتی را در مورد hostname به یک آدرس IP خاص ارائه می دهد، زیرا برای هر آدرس IP در یک رکورد A یا AAAA، یک رکورد PTR مربوطه وجود دارد.
رکوردهای PTR تحت آدرس IPv4 به صورت معکوس ذخیره می شوند و به .in-addr.arpa اضافه می شود، به عنوان مثال، یک رکورد PTR برای آدرس IP 192.158.1.38 در "38.1.158.192.in-addr.arpa" ذخیره می شود.
معمولا شاهد استفاده از رکوردهای PTR برای جلوگیری از اسپم هستیم. بسیاری از فیلترهای اسپم ایمیل از DNS معکوس برای بررسی رکورد PTR همراه با ایمیل استفاده می کنند. آنها این کار را انجام می دهند تا ببینند آیا سرور ایمیلی که پیام را ارسال می کند با آدرس IP که ادعا می کند از آن استفاده می کند مطابقت دارد یا خیر، و آیا با آدرس های IP مرتبط است که احتمالا توسط سرورهای ایمیل قانونی استفاده می شود.
-
رکورد SOA
در DNS، یک Zone منطقه ای است که روی یک namespace کنترل می شود ومی تواند شامل یک دامنه یا چندین دامنه و زیر دامنه باشد. فایل Zone DNS هر دامنه باید حاوی یک رکورد SOA یا Start of Authority باشد. این برای هر zone DNS توسط استانداردهای IETF مورد نیاز است
رکوردهای SOA اطلاعات مهمی مانند آدرس ایمیل مدیر دامنه، آخرین باری که دامنه بهروز شده و همچنین اطلاعاتی درباره DNS Zone را نگهداری میکند.
-
رکورد SRV
یک رکورد SRV یا رکورد خدمات، اطلاعات میزبان و پورت را برای سرویسهای آنلاین خاص مانند ایمیل، صدا از طریق IP (VoIP)، پیامرسانی فوری و موارد مشابه ذخیره میکند. برخلاف سایر انواع رکورد DNS که یک سرور یا یک آدرس IP را مشخص میکنند، رکوردهای SRV شامل یک پورت در آدرس IP است که باید به آن دسترسی داشت. رکوردهای SRV به عنوان راهی برای تعیین یک پورت در DNS استفاده میشوند و برخی از پروتکلهای اینترنتی مانند IMAP، SIP و XMPP به رکوردهای SRV نیاز دارند زیرا برای عملکرد به پورت خاصی نیاز دارند.
-
رکورد TXT
رکوردهای TXT رکوردهای متنی DNS هستند که به مدیران دامنه اجازه می دهد متن را در DNS وارد کنند.در حالی که در ابتدا فقط برای وارد کردن یادداشت های قابل خواندن توسط انسان در نظر گرفته شده بود، امروزه می توان برخی از داده های قابل خواندن توسط ماشین را در رکوردهای TXT وارد کرد.
رکوردهای TXT بیشتر برای جلوگیری از اسپم ایمیل استفاده می شود. این رکوردها به عنوان بخشی از چندین روش مهم و پرکاربرد احراز هویت ایمیل برای تعیین اینکه آیا یک ایمیل از یک منبع قابل اعتماد است یا خیر استفاده می شود. این روش های احراز هویت ایمیل عبارتند از: Sender Policy Framework (SPF) ، Domain Keys Identified Mail (DKIM) و Domain-based Message Authentication, Reporting and Conformance (DMARC). استفاده از این رکوردها به مدیران دامنه اجازه میدهد تا ایمیلها را احراز هویت کنند، بنابراین ارسالکنندگان اسپم میتوانند زمان سختتری برای جعل دامنههای خود داشته باشند.
SPF زمانی به تنهایی یک رکورد بود، اما منسوخ شد و اکنون فقط به عنوان یک رکورد TXT منتشر می شود. این رکورد تمام سرورهای ایمیلی را که مجاز به ارسال ایمیل از یک دامنه هستند را مشخص می کند. SPF به تنهایی در تشخیص فرستنده جعلی محدود است، بنابراین در ترکیب با DMARC استفاده می شود.
DKIM با امضای هر ایمیل با یک جفت کلید عمومی و خصوصی، با کلید عمومی میزبانی شده در رکورد TXT مرتبط با دامنه، کار می کند که اجازه می دهد که ایمیل از دامنه ای که ادعا می کند از آن آمده است تایید شود.
DMARC یک مشخصات فنی منتشر شده در رکورد TXT است که برای احراز هویت ایمیل با همسو کردن خطمشیهای(policies) SPF و DKIM استفاده میشود.
خرید سرور مجازی لینوکس در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.
سایر انواع رکورد DNS در حال استفاده
فهرستی از انواع رکوردهای DNS که معمولا مورد استفاده قرار میگیرند را بررسی کردیم.در حالی که رکوردهای جدید به طور مداوم ایجاد می شوند، رکوردهایی در حال منسوخ شدن هستند و با همان سرعت با رکوردهای جدیدتر جایگزین می شوند. لیست فعلی هر نوع رکورد DNS، از جمله موارد منسوخ، را می توان در وب سایت رسمی IANA یافت.
در اینجا انواع دیگری از رکوردهای DNS که در زمان نگارش این مقاله استفاده می شوند آورده شده است:
انواع رکورد DNS
- AFSDB - از این رکورد برای مکانیابی منابعی از دیتابیسهای نوع AFS و OSF استفاده میشود. به عبارت دیگر، رکورد AFSDB نام دامنه را به سرور AFS متصل میکند.
- APL - مخفف Address Prefix List است. رکورد آزمایشی که فهرستی از محدوده آدرس را مشخص می کند
- AXFR - کل فایل Zone را از Nameserver اولیه به Nameserver ثانویه منتقل می کند.
- CAA - مخفف Certification Authority Authorization است و مشخص می کند که کدام مسئول صدور گواهی (CA) مجاز به صدور گواهینامه برای یک دامنه است.
- DNSKEY - کلید رمز برای DNSSEC و حاوی یکی از کلیدهای عمومی است که برای تایید امضاهای DNSSEC استفاده میشود.
- CDNSKEY - کپی کوچکتر (فرزند) یک DNSKEY برای ارسال سیگنال از یک Zone به والد خود، محتوای مورد نظر رکورد DS منطقه استفاده می شود.
- CDS - کپی فرزند رکورد DS
- CERT - گواهی رمزنگاری، رکورد گواهی که گواهی ها و لیست های ابطال آنها را ذخیره می کند
- CSYNC - مشخص می کند که چگونه یک child zoneدر DNS می تواند رکوردی را منتشر کند تا به والدین نشان دهد که می تواند رکوردهای خاصی را از child zone پردازش کند.
- DHCID - برای مرتبط کردن دامنه های DNS با مشتریان DHCP با استفاده از نام دامنه استفاده می شود.
- DNAME - مخفف Delegation name یک نام مستعار برای subtree دامنه ایجاد می کند (برخلاف رکورد CNAME)
- DS - مخفف Delegation Signer است رکورد مورد استفاده برای شناسایی کلید امضای DNSSEC یک zone تفویض شده است.
- EUI48 - برای ذخیره یک آدرس EUI-48 در DNS استفاده می شود
- EUI64 - برای ذخیره یک آدرس EUI-64 در DNS استفاده می شود
- HINFO - مخفف host Information است اطلاعات کلی در مورد یک میزبان را مشخص می کند
- HIP - مخفف Host Identification Protocol است از پروتکل Host Identity و برای جدا کردن نقشهای یک آدرس IP (بیشتر در محاسبات تلفن همراه) استفاده میکند.
- HTTPS - برای تسهیل جستجوی اطلاعات مورد نیاز برای ایجاد اتصالات منابع مبدا (مانند URL های HTTPS) استفاده می شود.
- IPSECKEY - برای ذخیره کلیدهای عمومی برای استفاده در سیستم های امنیت آیپی (IPsec) استفاده می شود.
- IXFR - با مشخص کردن تفاوتها با شماره سریال قبلی، انتقال ZONE داده شده را درخواست میکند.
- KX - مخفف Key exchange است که با برخی از سیستم های رمزنگاری (نه DNSSEC) برای شناسایی یک عامل مدیریت کلید برای نام دامنه مرتبط استفاده می شود.
- LOC - مکان فیزیکی اجزای شبکه را مشخص می کند
- NAPTR - مخفف Naming Authority Point است که امکان بازنویسی منظم مبتنی بر دامنهها را میدهد که به عنوان URI، دامنههای بیشتر برای جستجوها و غیره استفاده شود.
- NSEC3 - مخفف Next secure (version 3) برای انکار وجود یک نام در DNSSEC استفاده می شود
- NSEC3PARAM - پارامترهای NSEC3
- OPENPGPKEY - کلید عمومی برای OpenPGP است و برای انتشار و مکان یابی کلیدهای عمومی OpenPGP در DNS برای یک آدرس ایمیل خاص استفاده می شود.
- RP - مخفف Responsible Person است و آدرس پست الکترونیکی و توضیحات شخص مسئول zone یا میزبان داده شده را مشخص می کند.
- RRSIG - مخفف Resource record signature for DNSSEC است امضاهای دیجیتال مورد استفاده در فرآیند احراز هویت DNSSEC را مشخص می کند.
- SMIMEA - ارتباط گواهی S/MIME برای مرتبط کردن گواهی موجودیت پایانی یا کلید عمومی با آدرس ایمیل مرتبط استفاده میشود.
- SSHFP - مخفف Secure Shell Fingerprint است و به شناسایی کلیدهای SSH کمک می کند و حاوی اثر انگشت برای کلیدهای عمومی است که برای SSH استفاده می شود.
- SVCB - عملکرد مشتریانی را که برای دسترسی به یک دامنه نیاز به حل و فصل منابع زیادی دارند، بهبود می بخشد.
- TA - یا DNSSEC trust authorities بخشی از یک پیشنهاد استقرار برای DNSSEC بدون ریشه DNS امضا شده
- TKEY - مخفف Transaction signature key است و کوئریها و پاسخ های DNS را با استفاده از کلیدهای مخفی مشترک احراز هویت می کند.
- TLSA - برای مرتبط کردن گواهی سرور TLS یا کلید عمومی با نام دامنه ای که رکورد در آن یافت می شود استفاده می شود.
- TSIG - مخفف Transaction signature است و برای احراز هویت و ایمن سازی پیام های DNS و ارتباطات سرور به سرور استفاده می شود.
- URI - مخفف Uniform Resource Identifier برای انتشار نگاشت ها از نام میزبان به URI استفاده می شود
- WKS - مخفف Well-known services است و خدمات شناخته شده ای را که توسط یک پروتکل خاص پشتیبانی می شوند را مشخص می کند
- ZONEMD - خلاصه پیام بر روی داده های zone: که خلاصه پیام رمزنگاری شده را روی داده های zone DNS در حالت rest ارائه می دهد.
جمعبندی
با این مرور کلی از انواع رکوردهای DNS ، امیدواریم که اطلاعات مفیدی در مورد نحوه عملکرد DNS یک وب سایت داشته باشیم. تشخیص تعداد و عملکرد انواع رکوردها و مکانیسمهای مختلف میتواند بسیار دشوار باشد، اما درک اصول اولیه به شما کمک میکند تا بیشتر به دنیای رکوردهای DNS وارد شوید.
نظرتون برامون مهمه شما اولین نظر رو بنویسید