چگونه رفع می شود؟؛ ارور TLS چیست و
وقتی مرورگر مسیر ورود به یک سایت را با یک هشدار امنیتی مسدود میکند، در واقع فرایند احراز هویت بین کلاینت و سرور با شکست مواجه شده است. خطای TLS دقیقا همین نقطه توقف است. یک دیوار دفاعی که مرورگر برای محافظت از دادهها ایجاد میکند، اما برای صاحب وبسایت به معنای ریزش آنی ترافیک و از دست رفتن اعتماد کاربر است.
این خطا یکی از چالشهای همیشگی در مدیریت وبسرورها است و اگر بهسرعت رفع نشود، علاوه بر مسدود کردن دسترسی، ضربه سنگینی به جایگاه سایت در موتورهای جستوجو وارد میکند. در این مقاله از بخش آموزش SSL در بلاگ پارسپک، ساختار خطای TLS و تفاوت آن با خطاهای قدیمیتر SSL را کالبدشکافی میکنیم و راهکارهای عملی رفع آن را در هر دو سمت کاربر و سرور آموزش میدهیم.
پروتکل TLS یا Transport Layer Security وظیفه رمزنگاری تبیینات مبادلهشده بین مرورگر و سرور را بر عهده دارد. خطای TLS زمانی رخ میدهد که این فرایند رمزنگاری و برقراری ارتباط ایمن به هر دلیلی مختل شود. در این وضعیت، مرورگر به جای بارگذاری سایت، هشدار ناامن بودن اتصال را نمایش میدهد، زیرا قادر به تایید صحت گواهینامه سایت یا ویرایش پروتکل نیست. منقضی شدن گواهی، پیکربندی اشتباه سرور یا ناسازگاری نسخه جدید TLS بین کلاینت و سرور از مهمترین دلایل بروز این اختلال هستند.
پروتکل TLS چیست و چگونه کار میکند؟ جواب این سوال را در مقاله زیر بخوانید. با مطالعه این مقاله میتوانید با تاریخچه گواهینامه TLS و مشخصههای این گواهی آشنا شوید:
TLS چیست؟
از نظر فنی، SSL نسخه جدید قدیمیتر و TLS نسخه جدید بهروزتر و امنتر همین پروتکل رمزنگاری است. به همین دلیل بسیاری از کاربران و حتی برخی مقالات این دو اصطلاح را بهجای هم بهکار میبرند، در حالیکه از نظر ساختار فنی تفاوتهای مهمی با هم دارند. نکته مهم اینجاست که وقتی مرورگر ارور TLS نمایش میدهد، در واقع باز هم به مشکل در همان لایه امنیتی گواهی سایت اشاره دارد.
اگر میخواهید با اطلاعات این تفاوتها آشنا شوید، پیشنهاد میکنیم که مقاله زیر را از دست ندهید:
تفاوت SSL و TLS چیست؟
پیش از رفع مشکل، بهتر است بدانید ارور TLS میتواند به شکلها و پیامهای مختلفی روی مرورگرهای گوناگون ظاهر شود. هرکدام از این پیامها بهطور خاص به یک ریشه فنی مشخص اشاره دارند که شناخت آنها اولین قدم برای عیبیابی درست است. در ادامه انواع خطاهای TLS را ارزیابی میکنیم:
این خطا زمانی رخ میدهد که فرایند Handshake بین مرورگر و سرور، یعنی همان مرحلهای که دو طرف باید بر سر الگوریتم رمزنگاری و کلیدهای امنیتی به توافق برسند، ناتمام میماند. علت آن معمولا ناسازگاری ویرایش پروتکل، مشکل در فایروال یا آنتیویروس، یا حتی تنظیم نادرست ساعت سیستم کاربر است.
این ارور زمانی نمایش داده میشود که مرورگر کاربر از ادیشن قدیمیتری از TLS پشتیبانی میکند اما سرور فقط ادیشنهای بهروزتر مانند TLS 1.2 یا 1.3 را میپذیرد، یا برعکس. به عبارت دیگر، دو طرف زبان مشترکی برای مذاکره امنیتی پیدا نمیکنند.
یکی از پرتکرارترین دلایل بروز این خطا، مشکل در خود گواهینامه است؛ گواهی منقضیشده، صادرشده برای دامنه دیگر، یا نصب ناقص زنجیره گواهی (Certificate Chain) از رایجترین دلایل این نوع ارور هستند.
اگر هنوز هم نمیدانید که کدام نوع SSL برای شما مناسب است؟ مقاله زیر یک راهنمای جامع برای شماست: راهنمای تهیه گواهی SSL
این پیام مخصوص مرورگر کروم است و معمولا زمانی ظاهر میشود که سرور اصلا پروتکل SSL/TLS را بهدرستی پیکربندی نکرده یا پورت اشتباهی برای ارتباط امن در نظر گرفته شده است.
این خطا دقیقا به ناسازگاری در الگوریتمهای رمزنگاری (Cipher Suites) پشتیبانیشده توسط سرور و مرورگر اشاره دارد؛ یعنی حتی اگر نسخه جدید TLS مشترک باشد، ممکن است سرور از الگوریتم رمزنگاری خاصی استفاده کند که در مرورگر کاربر غیرفعال یا منسوخ شده است.
حفظ حریم خصوصی کاربران، دادههای مهم و شرح حساس را با خریداری گواهی SSL از پارسپک تضمین کنید. صدور این گواهی در شتابانترین زمان ممکن به شما کمک میکند تا از اتلاف وقت جلوگیری نمایید.
خوشبختانه در اغلب موارد، رفع ارور TLS نیازی به دانش فنی عمیق ندارد و با چند تحلیل ساده قابل حل است؛ اما گاهی هم ریشه مشکل در تنظیمات سرور است و نیاز به دخالت مدیر سایت دارد. نکته مهم این است که این خطا هم میتواند از سمت کلاینت (مرورگر و سیستم کاربر) شروع کار شود و هم از سمت سرور، و شناسایی دقیق منشأ آن اولین قدم برای رفع با سرعت مشکل است. در ادامه هر دو حالت را بهصورت جداگانه و گامبهگام مرور میکنیم.
برای رفع این مشکل در سیستم کاربر، راهکارهای زیر را به ترتیب امتحان کنید:
اگر مدیریت سرور یا هاست سایت را بر عهده دارید، مراحل زیر را به ترتیب دنبال کنید:
۱. تحلیل وضعیت و زنجیره گواهی: ابتدا مطمئن شوید گواهی منقضی، باطلشده (Revoked) یا هنوز فعال نشده (Inactive) نیست، نام دامنه ثبتشده در گواهی (CN) دقیقا با آدرس سایت مطابقت دارد و تمام گواهیهای میانی (Intermediate) بهدرستی و بهصورت مفصل نصب شدهاند. ناقصبودن زنجیره گواهی یکی از رایجترین دلایل بروز این خطا از سمت سرور است. برای اینکار از ابزارهای تست آنلاین گواهی میتوانید کمک بگیرید. اگر گواهی باطل شده باشد، باید از طریق CA صادرکننده درخواست صدور گواهی تازه (CSR) بدهید و پس از تایید مالکیت دامنه، گواهی تازه را جایگزین کنید.
۲. غیرفعالسازی ادیشنهای قدیمی TLS: با ورود به فایلهای پیکربندی وبسرور (مانند Nginx یا Apache)، نسخه جدیدهای منسوخ TLS 1.0 و TLS 1.1 را غیرفعال کرده و استانداردهای تازه (ویرایشهای ۱.۲ و ۱.۳) را اعمال کنید؛ برای مثال در Nginx این تنظیم با افزودن خط زیر به فایل پیکربندی انجام میشود:
ssl_protocols TLSv1.2 TLSv1.3;
۳. اطمینان از سازگاری ویرایش پروتکل: باید مطمئن شوید سرور با ادیشن مرورگر کاربر روی یک پروتکل مشترک به توافق میرسد، چون ناسازگاری ادیشن TLS بین کلاینت و سرور یکی از علل اصلی شکست Handshake است.
۴. تحلیل و آپدیت Cipher Suiteها: مطابقت Cipher Suiteها با استانداردهای امنیتی روز را ارزیابی کنید؛ از آنجا که TLS 1.3 دیگر از الگوریتمهای رمزنگاری قدیمی پشتیبانی نمیکند، حذف الگوریتمهای ضعیف و اولویتدهی به رمزهای قویتر در تنظیمات سرور باعث کم شدن این نوع خطا میشود. برای انجام این کار، ابتدا باید فهرست Cipher Suiteهای فعال روی سرورتان را مشخص کنید؛ سادهترین راه، اجرای یک تست آنلاین پروتکل SSL/TLS روی دامنه سایت است که در گزارش خروجی، تمام رمزهای فعال به همراه سطح امنیتی هرکدام نمایش داده میشود. اگر در این گزارش به الگوریتمهای قدیمی و ناامن مانند RC4، DES، 3DES یا هر Cipher مبتنی بر SHA-1 برخوردید، باید آنها را از پیکربندی سرور حذف کنید.
در مرحله بعد، وارد فایل پیکربندی وبسرور شوید و رمزهای مجاز را بهصورت صریح تعریف کنید. برای مثال در Nginx این کار با افزودن دستورات زیر انجام میشود:
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256'; ssl_prefer_server_ciphers on;
در Apache نیز میتوانید با دستور مشابه SSLCipherSuite همین تنظیم را در فایل پیکربندی سایت اعمال کنید. پس از ذخیرهی دگرگونیها، سرویس وبسرور را ریاستارت کنید تا پیکربندی تازه اعمال شود، و در نهایت یکبار دیگر همان تست آنلاین را اجرا کنید تا مطمئن شوید که فقط رمزهای قوی و بهروز فعال هستند و امتیاز امنیتی سایت بهبود یافته است.
۵. ارزیابی تنظیمات SNI: در سرورهایی که چند سایت روی یک IP مشترک میزبانی میشوند، باید تنظیمات SNI (Server Name Indication) بهدرستی پیکربندی شده باشد تا سرور بتواند گواهی متناسب با هر نام میزبان را بهدرستی ارائه دهد؛ در غیر این صورت ممکن است خطای عدم تطابق نام گواهی رخ دهد.
۶. تحلیل قوانین فایروال: قوانین فایروال و گروههای امنیتی سرور را تحلیل کنید تا مطمئن شوید پورت ۴۴۳ یا سایر پورتهای مرتبط با TLS بهاشتباه مسدود نشدهاند.
۷. تست نهایی پیکربندی: پس از اعمال هر تغییر، بهترین کار این است که با یک ابزار آنلاین تست گواهی SSL/TLS مانند ssllabs، صحت پیکربندی نهایی سرور را ارزیابی و تایید کنید.
همهچیز درباره انواع خطای SSL و نحوه رفع آنها را در مقاله زیر بخوانید:
خطای احراز ssl چیست؟
پیشگیری از این خطا بسیار سادهتر از رفع آن پس از وقوع است. تمدید بهموقع گواهی SSL پیش از تاریخ انقضا، فعالسازی هشدارهای خودکار برای نزدیکشدن به تاریخ انقضا، آپدیت منظم نرمافزار وبسرور و پنل مدیریتی هاست، و غیرفعالسازی ویرایشهای قدیمی و ناامن پروتکل از ابتدای راهاندازی سرور، همگی از اقداماتی هستند که احتمال بروز ارور TLS را بهشدت نزول میدهند. علاوه بر این توصیه میشود بهصورت دورهای، سلامت گواهی و پیکربندی امنیتی دامنه را با ابزارهای آنلاین تست SSL مرور کنید تا از هرگونه مشکل احتمالی پیش از تاثیرگذاری روی بازدیدکنندگان مطلع شوید.
گواهینامه SSL مجانی پارسپک را به راحتی و بدون پرداخت هیچ هزینهای تنها با یک کلیک تهیه کنید و آن را برای حفظ امنیت دادههایتان استفاده نمایید:
ارور TLS نشاندهنده نقص در پیکربندی ارتباط امن یا پایان کار اعتبار گواهینامه سایت است. با شناخت دقیق نوع خطا میتوان فرایند عیبیابی را در سمت کاربر یا سرور با سرعت بالایی انجام داد. پایداری دسترسی کاربران مستقیما به اعتبار گواهینامه و پیکربندی صحیح زیرساخت بستگی دارد. سرویس SSL و گواهینامه امنیتی پارسپک، با پشتیبانی از تازهترین استانداردهای رمزنگاری، زیرساختی پایدار و بدون قطعی را برای میزبانی امن پروژههای شما فراهم میکنند.
۱. آیا ارور TLS به معنای هکشدن سایت است؟
نه لزوما. این خطا معمولا از مشکلات پیکربندی یا انقضای گواهی SSL ناشی میشود و ارتباط مستقیمی با نفوذ یا هک سایت ندارد؛ هرچند نادیدهگرفتن آن میتواند سایت را در برابر تهدیدات امنیتی آسیبپذیرتر کند.
۲. چرا ارور TLS فقط در برخی مرورگرها ظاهر میشود؟
چون هر مرورگر از ویرایشها و الگوریتمهای رمزنگاری متفاوتی پشتیبانی میکند؛ ممکن است سرور با یک مرورگر سازگار باشد اما با مرورگر دیگری به دلیل عدم پشتیبانی از ادیشن خاصی از TLS، خطا نمایش دهد.
۳. آیا رفع ارور TLS همیشه نیاز به دسترسی سرور دارد؟
خیر. در بسیاری از موارد، مشکل از سمت کاربر و ناشی از تنظیمات نادرست تاریخ، مرورگر قدیمی یا کش خراب است و بدون نیاز به دسترسی سرور قابل رفع است.
۴. بعد از تمدید گواهی SSL، چرا هنوز ارور TLS نمایش داده میشود؟
معمولا این اتفاق به دلیل نصب ناقص زنجیره گواهی یا کششدن نسخه جدید قدیمی گواهی در مرورگر یا سرور رخ میدهد؛ ریاستارت سرویس وبسرور و پاککردن کش مرورگر معمولا این مشکل را برطرف میکند.
