خطاهای SSL و رفع آنها

9 مورد از خطاهای رایج در مجوزهای SSL و رفع آن

9 مورد از خطاهای رایج در مجوزهای SSL و رفع آن

خطاهای مختلفی می تواند در مجوز های SSL به وجود آید. در اینجا به بررسی 9 مورد از رایج ترین خطاهای SSL می پردازیم. سپس برای حل و جلوگیری از این خطاها یک راه حل نیز ارائه می دهیم.

1. Expired Certificate (منقضی شدن مجوز)

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

نکته: گاهی اوقات ممکن است این خطا به دلیل تنظیم نبودن تاریخ و ساعت سیستم شما، ممکن است خطا رخ دهد.

 

رفع خطای Expired Certificate

مجوز های SSL وب سرور خود را با مجوز های معتبر و جدید، به روز کنید.

 

برای جلوگیری از خطاهای ناشی از گواهی منقضی شده، مطمئن شوید که اعتبار مجوز SSL خود را قبل از به پایان رسیدن تمدید و به روز می کنید. می توانید برای نظارت و کنترل اینکار از یک ابزار مدیریتی مثل AWS Certificate Manager برای به روز رسانی خودکار گواهینامه ها، قبل از انقضا نیز استفاده کنید.

 

2. Inactive Certificate (غیرفعال شدن مجوز)

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

نکته: تاریخ و زمان سستم سرویس گیرنده باید به درستی تنظیم شده باشد.

 

رفع خطای Inactive Certificate

گواهی SSL کنونی را با مجوز جدید و معتبری که تهیه کرده اید، جایگزین کنید. مطمئن شوید که زمان سیستم مشتری با سرور همگام است.

 

برای جلوگیری از بکارگیری مجوزهای غیرفعال، هنگام تهیه مجوز زمان شروع اعتبار آن را به درستی بررسی کنید. همچنین هنگامی که از یک ابزار مدیریتی برای مدیریت مجوز و گواهی خود استفاده می کنید، مطمئن شوید که از جزئیات کامل مجوزهای جدید مطلع می شوید.

 

3. Certificate lifetime greater than 398 days (طول عمر مجوز بیشتر از 398 روز)

در اوایل سال جاری، برای اطمینان از محیط وب امن برای کاربر، CA/B Forum تصمیم گرفت که طول عمر کلیه گواهینامه های تازه صادر شده را به 398 روز محدود کند. سپس از اول سپتامبر 2020، همه مرورگر های اصلی مثل google، Chrome، Mozilla Firefox و Apple Safari مجوزهای صادر شده پس از تاریخ را با مدت اعتبار بیش از 398 روز رد می کنند.

 

رفع خطای Certificate lifetime greater than 398 days

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

 

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

 

4. Missing Hostname (نام میزبانی وجود ندارد)

این خطا نشان می دهد که در مجوز و گواهی نام میزبان وب سایت درج نشده است. برای جلوگیری از حملات، مرورگر عملکرد سرور را بررسی میکند تا ببیند درست عمل کرده یا خیر. مرورگر نام میزبان وب سایت را با لیست نام های میزبان موجود در گواهی نیز بررسی می کند. در صورت عدم مطابقت گواهینامه را رد کرده و اتصال را مسدود می کند. جزئیات نام میزبان در فیلدهای گواهینامه commonName و subjectAltName یا همان SAN نیز موجود است.

 

رفع خطای Missing Hostname

هنگامی که میخواهید از یک مجوز در چندین وب سایت یا زیر دامنه استفاده کنید. ابتدا مطمئن شوید که آن مجوز نام دامنه همه وب سایت ها را پوشش می دهد.

 

برای جلوگیری از بروز خطای Missing Hostname و پوشاندن تمام زیر دامنه های خود، ، از یک گواهینامه SAN استفاده کنید.

 

5. Invalid or Incomplete Certificate Chain (زنجیره گواهی نامعتبر یا ناقص)

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

هر مرورگر مجموعه ای از مجوزهایی که ریشه قابل اعتماد دارند را نگهداری میکند. مرورگر پس از دریافت گواهینامه از سرور، شروع به بررسی دقیق گواهی های وب سایت شما می کند و از معتبر بودن آن مطمئن می شود. همچنین سعی می کند یک SSL Chain of Trust ایجاد کند تا بتواند با استفاده از فهرست مرتبی از مجوزها، صحت مجوزهای صادر شده را با توجه به وب سرور، تایید کند. درصورتی که مرورگر نتواند برای مجوز های شما یک زنجیره ایجاد کند، مجوز شما را رد میکند.

 

رفع خطای Invalid or Incomplete Certificate Chain

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

 

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

 

6. Revoked Certificate (باطل شدن مجوز)

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

مرجع صدور مجوز، گواهی هایی را که قبل از منقضی شدن به خطر افتاده اند را لغو می کند. گواهی ها و مجوز های لغو شده در فهرست گواهی باطل شده (CRL) قرار دارند. هنگام بارگیری سایت، مرورگر بررسی می کند که آیا هر یک از مجوزهای زنجیره ای در CRL وجود دارد یا خیر. اگر هر یک از مجوزهای زنجیره ای شما در CRL وجود داشته باشد، مرورگر مجوزهای شما را رد خواهد کرد. هر مرورگر برای تایید وضعیت لغو گواهی ها، از یک مکانیزم متفاوت استفاده می کند.

برای اینکه بررسی کنید که مجوز شما باطل شده یا نه، باید به صورت دوره ای، درخواست CRL دهید. همچنین می توانید از پروتکل وضعیت گواهی آنلاین (OCSP) برای بررسی وضعیت مجوز خود نیز استفاده کنید. ناگفته نماند که پیاده سازی این مکانیزم ها کمی دشوار و پیچیده است.

 

رفع خطای Revoked Certificate

برای رفع این مشکل فقط کافیست مجوز باطل شده را با مجوز جدید جایگزین کنید. همچنین باید علت لغو و باطل شدن مجوز را بررسی کنید تا پس از دریافت مجوزهای جدید دیگر با این مشکل رو برو نشوید.

 

برای جلوگیری از  خطای باطل شدن مجوز، می توانید از ابزارهای نظارت بر گواهی های SSL استفاده کنید که از مرورگر Google Chrome برای نظارت بر سایت شما استفاده می کنند. زیرا مرورگر وضعیت لغو گواهی های شما را بررسی میکند و هنگامی که مجوز در CRL قرار بگیرد، به شما هشدار می دهد.

 

7. Untrusted Certificate Authority (مرجع صدور مجوز غیر قابل اعتماد)

این خطا زمانی رخ می دهد که مرورگر نتواند ریشه یک مجوز را در لیست مجوزهای معتبر پیدا کند. در صورتی که شما یک SSL Chain of Trust ایجاد کنید اما مرورگر نتواند برای آن یک ریشه قابل اعتماد و لوکال پیدا کند، مجوز را در لیست گواهی های غیرقابل اعتماد نیز قرار می دهد.

 

رفع خطای Untrusted Certificate Authority

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

 

برای جلوگیری از این اتفاق، هنگام خرید مجوز SSL مطمئن شوید که از یک فروشگاه و مرجع معتبر خرید می کنید.

 

8. Insecure Signature Algorithm (امضا با الگوریتم ایمن نشده)

این هشدار زمانی رخ می دهد که هر کدام از مجوزهای SSL، توسط وب سرور شما بازگردانده شوند و از الگوریتم های هش قدیمی SHA-1 منسوخ شده نیز استفاده کنند.

قدرت عملکرد هش که برای امضای مجوز استفاده می شود، نقش مهمی در قدرت امنیت مجوز ایفا می کند. برخی از مجوزهای قدیمی نیز به عملکرد هش SHA-1 متکی هستند که در حال حاضر گواهی های نا امن محسوب میشوند.

 

رفع خطای Insecure Signature Algorithm

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

 

9. Missing/Incorrect Certificate Transparency Information (عدم صحت و شفافیت اطلاعات در مجوز)

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

هنگامی که یک کلاینت وصل می شود، سرور با مجوزها و مهر زمان امضا شده گواهی (SCT) نیز پاسخ می دهد. SCT یک رکورد در گزارش شفافیت مجوز است. اگر SCT وجود نداشته باشد و یا درست نباشد، مرورگر مجوز را رد و لغو می کند.

 

برای جلوگیری از این مشکل، مطمئن شوید که مجوز خود را از یک مرجع معتبر خریداری کرده اید.

بستن