DNS Validation روشی برای اثبات کنترل شما بر یک دامنه از طریق رکوردهای DNS است. مرجع صدور گواهی یا سرویس مدیریت SSL/TLS یک مقدار مشخص در اختیار شما میگذارد؛ شما آن را در DNS دامنه ثبت میکنید و پس از مشاهده رکورد، مالکیت یا کنترل دامنه تأیید میشود. این روش برای صدور و تمدید خودکار گواهیها بسیار مهم است و در سرویسهایی مانند Let’s Encrypt و AWS Certificate Manager کاربرد گسترده دارد.
خلاصه سریع
- DNS Validation یعنی اثبات کنترل دامنه با ایجاد یک رکورد DNS.
- در چالش ACME DNS-01 معمولاً یک رکورد TXT زیر نام
_acme-challengeساخته میشود. - در AWS Certificate Manager اعتبارسنجی DNS با رکورد CNAME انجام میشود.
- مزیت اصلی این روش، امکان اتوماسیون، تمدید مدیریتشده و عدم وابستگی به دریافت ایمیل تأیید است.
- اشتباه در نام رکورد، مقدار رکورد، Zone انتخابی یا حذف رکورد پس از صدور میتواند اعتبارسنجی و تمدید را مختل کند.
DNS Validation دقیقاً چیست؟
وقتی برای یک دامنه گواهی SSL/TLS درخواست میکنید، صادرکننده گواهی باید مطمئن شود درخواستکننده واقعاً کنترل آن دامنه را در اختیار دارد. یکی از روشهای استاندارد برای این کار، افزودن یک رکورد موقت یا پایدار در DNS است. سرویس صادرکننده رکورد را Query میکند و اگر مقدار مورد انتظار را ببیند، Domain Control Validation با موفقیت انجام میشود.
اگر با ساختار DNS آشنا نیستید، ابتدا مقاله DNS چیست و چگونه کار میکند؟ را بخوانید. همچنین برای آشنایی با انواع گواهیها، راهنمای معرفی SSL و انواع DV، OV و EV مفید است.
DNS Validation چه تفاوتی با Email Validation دارد؟
| روش | نحوه اثبات کنترل دامنه | اتوماسیون | مناسب برای |
|---|---|---|---|
| DNS Validation | ایجاد رکورد DNS مانند TXT یا CNAME | بسیار مناسب | سرورها، زیرساخت ابری، CI/CD و تمدید خودکار |
| Email Validation | تأیید لینک ارسالشده به ایمیلهای دامنه | ضعیفتر | فرآیندهای دستی و محدود |
| HTTP Validation | قرار دادن فایل یا پاسخ مشخص روی وبسرور | مناسب | وبسایتهای در دسترس از اینترنت |
DNS Validation در محیطهایی که تعداد زیادی دامنه، زیردامنه یا گواهی مدیریت میشود مزیت مهمی دارد؛ چون میتوان ایجاد رکورد و تمدید گواهی را با API یا ابزارهای Infrastructure as Code خودکار کرد.
DNS-01 در Let’s Encrypt چگونه کار میکند؟
در پروتکل ACME، چالش DNS-01 یکی از روشهای اصلی اثبات کنترل دامنه است. Let’s Encrypt برای این چالش از شما میخواهد یک مقدار مشخص را داخل رکورد TXT در نامی مانند زیر قرار دهید:
_acme-challenge.example.comپس از انتشار رکورد، مرجع صدور مقدار TXT را از DNS میخواند. اگر مقدار با Challenge مورد انتظار مطابقت داشته باشد، اعتبارسنجی انجام میشود. این روش برای گواهیهای Wildcard نیز اهمیت ویژهای دارد، چون DNS-01 میتواند مالکیت دامنه را بدون نیاز به قرار دادن فایل روی هر زیردامنه ثابت کند.
AWS ACM چرا از CNAME استفاده میکند؟
در AWS Certificate Manager یا ACM، روش DNS Validation با یک رکورد CNAME انجام میشود. AWS برای هر نام دامنه یک Record Name و Record Value میدهد و شما باید آن را در DNS Provider خود ثبت کنید. اگر رکورد معتبر باقی بماند، ACM میتواند وضعیت اعتبارسنجی را بررسی کند و در شرایط پشتیبانیشده تمدید مدیریتشده گواهی را ادامه دهد.

این تفاوت مهم است: DNS Validation همیشه به معنی CNAME نیست. سرویس صادرکننده مشخص میکند چه نوع رکوردی، با چه نام و مقداری باید ساخته شود.
آموزش مرحلهبهمرحله DNS Validation
- درخواست گواهی را ایجاد کنید. در پنل سرویس موردنظر، دامنه یا زیردامنهها را وارد کنید.
- روش DNS Validation را انتخاب کنید. سرویس معمولاً Record Type، Name و Value را نمایش میدهد.
- وارد DNS Zone شوید. این بخش ممکن است در پنل ثبتکننده دامنه، هاست، Cloud DNS یا CDN شما باشد.
- رکورد را دقیقاً مطابق مقدار ارائهشده ثبت کنید. حذف یا اضافه شدن ناخواسته نام دامنه در فیلد Host یکی از خطاهای رایج است.
- منتظر DNS Propagation بمانید. بسته به Provider و TTL، رکورد ممکن است از چند ثانیه تا مدت بیشتری برای Resolverهای مختلف قابل مشاهده شود.
- وضعیت Validation را دوباره بررسی کنید. پس از مشاهده رکورد، سرویس گواهی را صادر میکند.
- رکورد لازم برای تمدید را بیدلیل حذف نکنید. برخی سرویسها برای تمدید خودکار به باقی ماندن رکورد اعتبارسنجی وابستهاند.
مثال عملی رکوردهای DNS Validation
نمونه ACME DNS-01
Type: TXT
Name: _acme-challenge.example.com
Value: xxxxxxxxxxxxxxxxxxxxنمونه AWS ACM
Type: CNAME
Name: _token.example.com
Value: _validation.acm-validations.aws.مقادیر بالا صرفاً نمونهاند؛ نام و مقدار واقعی را باید دقیقاً از سرویس صادرکننده گواهی دریافت کنید.
چرا DNS Validation برای سرور و هاستینگ مهم است؟
در یک سایت ساده شاید تأیید دستی گواهی دردسر زیادی ایجاد نکند، اما در محیطهای حرفهای تعداد دامنهها، زیردامنهها، Load Balancerها، APIها و سرویسهای داخلی افزایش پیدا میکند. در چنین شرایطی DNS Validation میتواند بخشی از فرایند خودکار مدیریت گواهی باشد.
- صدور و تمدید خودکار گواهی برای سرویسهای متعدد
- کاهش وابستگی به حسابهای ایمیل مدیریتی دامنه
- مدیریت بهتر Wildcard Certificateها
- قابلیت اتصال به Terraform، Ansible، CI/CD و APIهای DNS
- کاهش ریسک فراموش شدن تمدید گواهی در زیرساختهای بزرگ
اگر به زیرساختی نیاز دارید که مدیریت DNS، SSL و سرویسهای وب روی آن قابل کنترل باشد، میتوانید سرویسهای هاست وان سرور و سرور مجازی وان سرور را بررسی کنید. برای تهیه گواهی نیز صفحه خرید SSL در دسترس است.
خطاهای رایج DNS Validation
1. وارد کردن نام رکورد به شکل اشتباه
بعضی DNS Providerها نام Zone را بهصورت خودکار به Host اضافه میکنند. اگر مقدار کامل FQDN را دوباره وارد کنید ممکن است رکوردی مانند _token.example.com.example.com ساخته شود.
2. استفاده از نوع رکورد نادرست
اگر سرویس TXT میخواهد، CNAME نسازید و برعکس. دستورالعمل همان CA یا سرویس مدیریت گواهی مرجع اصلی است.
3. حذف رکورد بعد از صدور
در بعضی سرویسها رکورد برای تمدید مدیریتشده نیز استفاده میشود. حذف آن ممکن است در زمان Renewal مشکل ایجاد کند.
4. انتظار برای TTL بدون بررسی Authoritative DNS
گاهی مشکل از Propagation نیست و رکورد اصلاً در Zone صحیح ایجاد نشده است. با ابزارهایی مانند dig یا nslookup مستقیماً رکورد را بررسی کنید.
5. محدود کردن بیش از حد دسترسی API
در اتوماسیون DNS-01 بهتر است Token یا API Key فقط اجازه تغییر رکوردهای لازم را داشته باشد. دسترسی کامل به حساب DNS برای یک ابزار صدور گواهی، اصل Least Privilege را نقض میکند.
چطور DNS Validation را امنتر کنیم؟
- برای APIهای DNS از Token محدودشده به Zone و Permission لازم استفاده کنید.
- کلیدهای API را داخل Git Repository یا فایل عمومی ذخیره نکنید.
- برای محیط Production از Secret Manager یا متغیرهای امن CI/CD استفاده کنید.
- رکوردهای اعتبارسنجی دائمی را مستند کنید تا مدیر بعدی آنها را تصادفی حذف نکند.
- لاگ صدور و تمدید گواهی را مانیتور کنید تا قبل از Expiry متوجه خطا شوید.
تغییر جدید AWS چه ارتباطی با DNS Validation دارد؟
AWS در ۱۳ آگوست ۲۰۲۶ اعلام کرد که ACM امکان تغییر روش اعتبارسنجی گواهی عمومی موجود از Email به DNS را بدون صدور مجدد گواهی و بدون تغییر ARN فراهم کرده است. AWS همچنین طبق برنامه اعلامشده، صدور گواهیهای Email-validated را از ۳۱ مارس ۲۰۲۷ و تمدید آنها را از ۳۰ سپتامبر ۲۰۲۷ متوقف میکند. این تغییر نشان میدهد DNS Validation نه فقط یک روش فنی جایگزین، بلکه بخشی از حرکت صنعت به سمت اعتبارسنجی قابلاتوماسیون و پایدارتر است.
سوالات متداول
آیا DNS Validation همان DNS-01 است؟
خیر. DNS Validation یک مفهوم کلی برای اثبات کنترل دامنه از طریق DNS است. DNS-01 نام یک Challenge مشخص در پروتکل ACME است که معمولاً از رکورد TXT استفاده میکند.
برای AWS ACM باید TXT بسازیم یا CNAME؟
در DNS Validation سرویس AWS ACM، AWS رکورد CNAME موردنیاز را در اختیار شما قرار میدهد. همان نام و مقدار را مطابق مستندات ACM ثبت کنید.
آیا بعد از صدور SSL میتوان رکورد Validation را حذف کرد؟
بستگی به سرویس دارد. اگر سرویس برای Renewal مدیریتشده به آن رکورد نیاز داشته باشد، حذف رکورد میتواند تمدید خودکار را متوقف کند. مستندات صادرکننده را بررسی کنید.
DNS Validation امنتر از Email Validation است؟
امنیت نهایی به نحوه مدیریت DNS و دسترسیها بستگی دارد، اما DNS Validation قابلیت اتوماسیون و کنترل دقیقتری فراهم میکند و وابستگی به دریافت ایمیلهای مدیریتی را کاهش میدهد.
برای Wildcard SSL کدام روش مناسب است؟
در ACME، چالش DNS-01 روش رایج برای اعتبارسنجی گواهی Wildcard است، چون میتواند کنترل دامنه را از طریق DNS ثابت کند.
جمعبندی
DNS Validation روشی مقیاسپذیر برای اثبات کنترل دامنه و مدیریت چرخه عمر گواهی SSL/TLS است. نکته کلیدی این است که نوع رکورد را سرویس تعیین میکند: Let’s Encrypt در DNS-01 معمولاً TXT میخواهد و AWS ACM از CNAME استفاده میکند. اگر نام رکورد، مقدار و دسترسی DNS را درست مدیریت کنید، این روش میتواند صدور و تمدید گواهی را بسیار قابلاعتمادتر و خودکارتر کند.
منابع
- Let’s Encrypt — Challenge Types
- AWS Certificate Manager — DNS Validation
- AWS ACM — Troubleshooting DNS Validation
- AWS — Switching from Email to DNS Validation
