پرش به مطلب اصلی

راهنمای تکمیلی صدور SSL

در این بخش جزئیات و موارد خاص در رابطه با صدور SSL توضیح داده خواهد شد.

شرایط فورس ماژور در زیرساخت شبکه کشور

لندین برای شرایطی که به دلایل مختلف وضعیت شبکه کشور به حالت ناپایدار رسیده و اتصال اینترنت بین‌الملل قطع می‌گردد تمهیدات خاصی اتخاذ نموده است.

همانطور که مستحضر هستید، صدور SSL یک فرآیند سلسله مراتبی و بین‌المللی است. بدین معنی که تنها سازمان‌های خاصی در دنیا مجوز صدور SSL را به شکلی دارند که دستگاه‌های الکترونیک کاربران به آن‌ها اعتماد می‌کنند. با توجه به این موضوع باید متذکر شد که هیچ روش جایگزین بومی و داخلی برای حل این مسئله وجود ندارد و برای صدور SSL نیاز به اینترنت بین‌المللی است.

در شرایط قطع یا اختلال شدید اینترنت بین‌الملل ممکن است ارتباط با مراکز صادرکننده گواهی SSL و سرویس‌های اعتبارسنجی آن‌ها برقرار نشود و فرآیند صدور گواهی جدید یا تمدید گواهی‌های قبلی را دچار اختلال کند. گرچه لندین تمهیدات خاص خود را برای جلوگیری از این مشکلات در نظر گرفته است و در اکثر اوقات فرآیند صدور SSL کاربران بدون مشکل ادامه خواهد داشت اما نمی‌تواند تضمینی در این رابطه در شرایط غیرعادی ارائه دهد

اگر برای دامنه شما از قبل یک گواهی SSL معتبر صادر شده باشد، قطع اینترنت بین‌الملل به خودی خود باعث باطل شدن آن گواهی نمی‌شود و گواهی تا تاریخ انقضای خود معتبر خواهد بود.

مشکل زمانی ایجاد می‌شود که در مدت اختلال نیاز به یکی از موارد زیر وجود داشته باشد:

  • صدور SSL برای یک دامنه جدید
  • تمدید گواهی SSL منقضی‌شده یا در آستانه انقضا
  • اعتبارسنجی مجدد مالکیت دامنه
  • دریافت زنجیره گواهی از مرجع صادرکننده
  • برقراری ارتباط با زیرساخت مرجع صادرکننده SSL

در ادامه‌ی این سند، توضیحات مختلفی راجع به ماهیت SSL، نحوه صدور آن در شرایط خاص شبکه کشور و مشکلات احتمالی ارائه خواهد شد.

گواهی SSL چیست؟

گواهی SSL یک گواهی دیجیتال است که برای ایجاد ارتباط امن و رمزنگاری‌شده بین مرورگر کاربر و سرور وب استفاده می‌شود.

در عمل امروزه پروتکل TLS جایگزین نسخه‌های قدیمی SSL شده است، اما در ادبیات عمومی همچنان از عبارت SSL برای اشاره به گواهی‌های HTTPS استفاده می‌شود.

زمانی که یک وب‌سایت دارای SSL معتبر باشد، آدرس آن با https:// باز می‌شود و مرورگر می‌تواند هویت دامنه و اعتبار گواهی ارائه‌شده توسط سرور را بررسی کند.

استفاده از SSL سه هدف اصلی دارد:

  • رمزنگاری اطلاعات: اطلاعات منتقل‌شده بین مرورگر و سرور برای اشخاص ثالث قابل خواندن نخواهد بود.
  • تأیید هویت دامنه: مرورگر اطمینان حاصل می‌کند گواهی ارائه‌شده برای همان دامنه‌ای صادر شده که کاربر در حال مشاهده آن است.
  • حفظ یکپارچگی اطلاعات: از تغییر محتوای منتقل‌شده در مسیر ارتباط جلوگیری می‌شود.

چرا SSL ضروری است؟

مرورگرهای امروزی وب‌سایت‌هایی را که از HTTPS استفاده نمی‌کنند به عنوان ناامن نمایش می‌دهند. حتما دیده‌اید که برخی از وب‌سایت‌هایی که گواهی آن‌ها منقضی شده است در مرورگر کاربران با هشدار نمایش داده می‌شوند.

وجود SSL برای موارد زیر ضروری یا بسیار مهم است:

  • نمایش صحیح سایت روی HTTPS
  • جلوگیری از نمایش هشدار امنیتی در مرورگر
  • محافظت از اطلاعات کاربران
  • ارسال امن فرم‌ها
  • افزایش اعتماد کاربران
  • سازگاری با قابلیت‌های جدید مرورگرها
  • جلوگیری از Mixed Content در صفحات HTTPS

فرآیند صدور SSL چگونه انجام می‌شود؟

برای اینکه یک مرجع صادرکننده گواهی یا Certificate Authority بتواند برای یک دامنه SSL صادر کند، ابتدا باید اطمینان حاصل کند درخواست‌کننده کنترل آن دامنه را در اختیار دارد.

این فرآیند معمولاً شامل مراحل زیر است:

  1. درخواست صدور گواهی برای دامنه ثبت می‌شود.
  2. مرجع صادرکننده مالکیت یا کنترل دامنه را بررسی می‌کند.
  3. دامنه از طریق یکی از روش‌های اعتبارسنجی تأیید می‌شود.
  4. گواهی SSL صادر می‌شود.
  5. گواهی روی زیرساخت ارائه‌دهنده سرویس نصب می‌شود.
  6. از آن پس درخواست‌های HTTPS با استفاده از گواهی معتبر پاسخ داده می‌شوند.

بخش مهم این فرآیند، Domain Validation یا تأیید کنترل دامنه است.

این اعتبارسنجی می‌تواند به روش‌های مختلفی انجام شود که از جمله آن‌ها می‌توان به DNS Validation و HTTP Validation اشاره کرد.

زنجیره اعتماد SSL چیست؟

مرورگرها به هر گواهی SSL اعتماد نمی‌کنند.

برای اینکه یک گواهی معتبر شناخته شود، باید توسط یک مرجع صادرکننده مورد اعتماد صادر شده باشد.

ساختار اعتماد معمولاً به شکل زیر است:

Root CA → Intermediate CA → Domain Certificate

گواهی Root مربوط به مرجع اصلی صادرکننده است و معمولاً از قبل در سیستم‌عامل‌ها و مرورگرها وجود دارد.

گواهی Intermediate توسط Root CA تأیید شده و گواهی مربوط به دامنه نیز توسط Intermediate CA صادر می‌شود.

مرورگر با بررسی این زنجیره تشخیص می‌دهد که آیا می‌تواند به گواهی سایت اعتماد کند یا خیر.

اگر یکی از بخش‌های این زنجیره ناقص یا نامعتبر باشد، ممکن است مرورگر هشدار امنیتی نمایش دهد.

اعتبار SSL

گواهی‌های SSL دارای تاریخ شروع و تاریخ پایان اعتبار هستند.

پس از رسیدن به تاریخ انقضا، گواهی دیگر معتبر نخواهد بود و مرورگر برای سایت هشدار امنیتی نمایش خواهد داد.

به همین دلیل گواهی‌ها باید قبل از پایان اعتبار تمدید یا مجدداً صادر شوند.

تغییر DNS و تأثیر آن بر SSL

صدور SSL معمولاً به وضعیت صحیح DNS دامنه وابسته است.

اگر رکوردهای DNS دامنه به درستی تنظیم نشده باشند یا هنوز تغییرات DNS در اینترنت منتشر نشده باشند، اعتبارسنجی دامنه ممکن است با شکست مواجه شود.

پس از تغییر DNS باید زمانی برای انتشار تغییرات یا DNS Propagation در نظر گرفته شود.

این زمان بسته به موارد مختلفی مانند TTL رکورد قبلی و سرویس‌دهنده DNS متفاوت است.

در این مدت ممکن است بعضی DNS Resolverها مقدار جدید را مشاهده کنند و برخی همچنان مقدار قبلی را نمایش دهند.

تحریم‌های بین‌المللی

مراجع صادرکننده SSL شرکت‌ها و سازمان‌های بین‌المللی هستند و فعالیت آن‌ها تابع قوانین، مقررات و سیاست‌های کشورهای محل فعالیتشان است.

در برخی موارد ممکن است یک مرجع صادرکننده به دلایل حقوقی، تحریم‌های بین‌المللی یا سیاست‌های داخلی خود از صدور گواهی برای یک دامنه، مجموعه یا نوع خاصی از فعالیت خودداری کند.

در چنین شرایطی محدودیت مستقیماً از سمت مرجع صادرکننده SSL اعمال می‌شود و لندین امکان نادیده گرفتن یا دور زدن سیاست‌های مرجع صادرکننده را ندارد.

ممکن است دامنه از نظر فنی به درستی به لندین متصل شده باشد اما مرجع صادرکننده اجازه صدور SSL برای آن را ندهد. در این حالت مشکل مربوط به تنظیمات DNS یا اتصال دامنه نیست.

جزئیات مربوط به دامنه‌ها یا کسب‌وکارهایی که شامل این محدودیت‌ها می‌شوند، بسته به سیاست مرجع صادرکننده و شرایط جاری ممکن است متفاوت باشد.

مشکلات رایج

در این بخش به برخی از رایج ترین مشکلات کاربران هنگام اتصال دامنه به لندین اشاره خواهیم کرد.

رکورد DNS اشتباه

لطفا با بررسی دقیق از صحیح بودن مقدار رکورد DNS خود (طبق مقادیر اعلام شده توسط لندین) اطمینان حاصل کنید.

ابزار هایی مانند DNS Checker می‌توانند در این زمینه به شما کمک کنند. نحوه استفاده از آن در بخش بررسی رکورد DNS در مرکز دانش لندین توضیح داده شده است.

تغییرات DNS هنوز منتشر نشده است

پس از ایجاد یا تغییر یک رکورد DNS ممکن است مدتی طول بکشد تا مقدار جدید توسط تمام DNS Resolverها مشاهده شود.

اگر بلافاصله پس از تغییر DNS برای اتصال دامنه اقدام کرده‌اید و SSL صادر نمی‌شود، ابتدا وضعیت رکورد را از چند موقعیت مختلف بررسی کنید.

وجود رکوردهای متناقض

وجود چند رکورد ناسازگار برای یک نام دامنه می‌تواند باعث اختلال در اعتبارسنجی شود.

برای مثال، اگر برای یک زیردامنه همزمان رکوردهایی وجود داشته باشند که آن را به مقصدهای متفاوت هدایت می‌کنند، نتیجه DNS ممکن است با انتظار لندین متفاوت باشد.

در این شرایط رکوردهای دامنه را بررسی کرده و رکوردهای قدیمی یا متناقض را حذف نمایید.

فعال بودن Proxy هنگام اعتبارسنجی

اگر از یک سرویس Proxy یا CDN استفاده می‌کنید، ممکن است Proxy مانع رسیدن درخواست اعتبارسنجی به مقصد مورد انتظار شود.

در این شرایط لازم است تنظیمات Proxy و مسیر درخواست‌ها بررسی شود.

دامنه به مقصد اشتباه متصل است

ممکن است رکورد DNS از نظر ساختاری صحیح باشد اما مقدار آن به آدرس دیگری اشاره کند.

مقدار مقصد باید دقیقاً مطابق مقداری باشد که لندین برای دامنه شما اعلام کرده است.

SSL قبلی هنوز در Cache قرار دارد

در برخی شرایط ممکن است مرورگر، سیستم‌عامل، CDN یا Proxy همچنان نسخه قبلی گواهی SSL را در Cache خود نگه داشته باشد.

برای بررسی دقیق‌تر می‌توانید دامنه را در مرورگر دیگری، حالت Private/Incognito یا از یک شبکه دیگر بررسی نمایید.

تاریخ و ساعت اشتباه دستگاه

اعتبار گواهی SSL بر اساس زمان بررسی می‌شود.

اگر تاریخ یا ساعت دستگاه کاربر به شکل قابل توجهی اشتباه باشد، ممکن است یک گواهی معتبر نیز منقضی یا هنوز نامعتبر تشخیص داده شود.

در صورت مشاهده خطاهای غیرمنتظره SSL، صحیح بودن تاریخ و ساعت دستگاه نیز باید بررسی شود.

Redirect Loop

تنظیم نادرست Redirect بین HTTP و HTTPS یا بین چند Proxy مختلف ممکن است باعث ایجاد حلقه Redirect شود.

در این شرایط مرورگر معمولاً خطای Too Many Redirects نمایش می‌دهد.

اگر از CDN یا External Proxy استفاده می‌کنید، لازم است مشخص باشد مدیریت Redirect از HTTP به HTTPS در کدام بخش انجام می‌شود.

نکات مهم

  • حذف یا تغییر رکورد DNS پس از صدور SSL می‌تواند روی تمدید بعدی گواهی تأثیر بگذارد.
  • صدور موفق SSL در گذشته تضمین نمی‌کند که پس از تغییر DNS همچنان امکان تمدید آن وجود داشته باشد.
  • اگر از CDN یا Proxy استفاده می‌کنید، تنظیمات SSL آن سرویس نیز باید بررسی شود.
  • اگر دامنه جدیدی به لندین متصل کرده‌اید، برای انتشار DNS زمان کافی در نظر بگیرید.
  • در زمان اختلال اینترنت بین‌الملل، گواهی‌های موجود تا زمان انقضای خود معتبر باقی می‌مانند اما صدور یا تمدید ممکن است با اختلال مواجه شود.

راه حل لندین در هنگام ناپایداری زیرساخت کشور

چنانچه در بخش های قبلی مشاهده کردید، فرآیند صدور SSL در لندین بدون انجام فرآیند اعتبارسنجی دامنه از سمت شما انجام می‌شود.

در زمانی که شبکه کشور ناپایدار باشد و اتصال به اینترنت بین‌الملل برقرار نباشد، سرور های Let's Encrypt (سازمانی که لندین گواهی های SSL را تهیه می‌کند) نمی‌تواند از طریق HTTP تشخیص دهد که شما صاحب دامنه هستید. با این حساب تنها راه باقی مانده اثبات مالکیت از طریق DNS است.

در چنین حالتی زمانی که روی گزینه «صدور SSL» کلیک می‌کنید پنجره‌ای برای شما باز می‌شود که اطلاعات DNS مورد نیاز برای تایید مالکیت توسط Let's Encrypt را نمایش می‌دهد:

اطلاعات نمایش داده شده توسط لندین جهت تایید مالکیت دامنه توسط Let's Encrypt

نکته

این پنجره در حالت عادی و پایداری شبکه کشور نمایش داده نخواهد شد و تنها زمانی استفاده می‌شود که مشکلی در صدور گواهی SSL به روش HTTP-01 وجود داشته باشد (مانند ناپایداری و قطع اتصال اینترنت بین‌الملل).

قبلا نحوه اضافه کردن و مدیریت رکورد های DNS در بخش مرکز دانش لندین توضیح داده شده است.

یک نمونه دیگر جهت یادآوری:

اضافه کردن رکورد DNS اعتبارسنجی دامنه در آروان

پس از اضافه کردن این رکورد کمی صبر کرده و با استفاده از ابزارهایی مانند DNS Checker از پخش شدن این رکورد DNS در سطح اینترنت بین‌الملل مطمئن شوید. سپس روی دکمه بررسی مانند تصویر بالا کلیک کنید.

ثبت موفقیت آمیز دستور صدور SSL

توجه

همانطور که قبلا توضیح داده شده است، محدودیت صدور SSL در لندین، یک بار در هر ساعت است بنابراین قبل از اطمینان از پخش شدن رکورد DNS، درخواست صدور SSL ثبت نفرمایید. در غیر این صورت خطا دریافت کرده و باید یک ساعت دیگر برای تلاش مجدد صبر کنید.

چرا لندین مالکیت دامنه ما را تایید نمی‌کند؟

همانطور که در ابتدا توضیح داده شد، فرآیند صدور SSL تنها در اختیار مراجع خاص بین‌المللی است که باید خودشان مالکیت دامنه‌ی شما را تایید کنند. بدیهی است زمانی که اینترنت بین‌الملل قطع می‌شود ارتباط سرورهای خارجی با ما قطع شده و نمی‌توانند مالکیت دامنه شما را از طریق HTTP تشخیص دهند بنابراین به روش DNS-01 نیاز داریم.

لندین به تنهایی توانایی صدور گواهی SSL را ندارد بلکه زیرساخت لازم برای صدور SSL برای دامنه شما را فراهم کرده است تا نیازی نباشد شخصا اقدام به انجام تمامی مراحل نمایید.