كيف يعمل HTTPS و TLS حقًا: دليل عملي

Security2026-11-03TryQuickToolBox

ربما رأيت أيقونة القفل في متصفحك وافترضت أنها تعني أن الموقع آمن. لكن ماذا يحدث فعليًا عند زيارة عنوان URL يستخدم HTTPS؟ لماذا تسبب بعض الشهادات تحذيرات؟ وكيف يمكنك معرفة ما إذا كان الاتصال مشفرًا حقًا من طرف إلى طرف؟ يشرح هذا الدليل HTTPS و TLS بعبارات عملية، موضحًا خطوات المصافحة، وكيفية التحقق من الشهادات، وكيفية فحص الاتصالات الحقيقية باستخدام أدوات سطر الأوامر. بحلول النهاية، ستفهم الآليات جيدًا بما يكفي لتصحيح مشكلات TLS واتخاذ قرارات مستنيرة بشأن أمان الويب الخاص بك.

ما هو HTTPS في الواقع

HTTPS هو HTTP فوق طبقة TLS (أمان طبقة النقل). يوفر TLS ثلاث ضمانات:

بدون TLS، يرسل HTTP كل شيء كنص عادي - كلمات المرور وملفات تعريف الارتباط والمحتوى - عبر الشبكة. يلف TLS تلك الحركة في نفق مشفر. القفل يعني أن الاتصال مشفر والشهادة صالحة، لكنه لا يعني أن الموقع موثوق أو آمن بطرق أخرى (على سبيل المثال، قد لا يزال يحتوي على ثغرات).

مصافحة TLS بلغة واضحة

قبل تبادل أي بيانات HTTP، يقوم العميل والخادم بإجراء مصافحة TLS. تختلف الخطوات الدقيقة قليلاً بين TLS 1.2 و 1.3، لكن الفكرة الأساسية هي نفسها: الاتفاق على الخوارزميات، ومصادقة الخادم، وإنشاء مفاتيح مشتركة. إليك تدفقًا مبسطًا لـ TLS 1.3 (الافتراضي الحديث):

  1. Client Hello: يرسل العميل قائمة بمجموعات التشفير المدعومة، وقيمة عشوائية، ومشاركة مفتاح (لتبادل المفاتيح).
  2. Server Hello: يختار الخادم مجموعة تشفير، ويرسل قيمته العشوائية ومشاركة المفتاح، ويوفر سلسلة شهادته.
  3. التحقق من الشهادة: يتحقق العميل من صلاحية الشهادة واسم النطاق وسلسلة الثقة.
  4. اشتقاق المفتاح: يحسب كلا الطرفين نفس السر المشترك باستخدام Diffie-Hellman (غالبًا X25519). ومن ذلك، يستمدان مفاتيح جلسة متماثلة.
  5. Finished: يرسل كلا الطرفين MAC عبر نص المصافحة لتأكيد عدم التلاعب بأي شيء.

بعد المصافحة، يتم تشفير بيانات التطبيق (طلبات/استجابات HTTP) باستخدام مفاتيح الجلسة. يقلل TLS 1.3 المصافحة إلى رحلة ذهاب وعودة واحدة (1-RTT) ويدعم استئناف 0-RTT، مما يجعله أسرع من TLS 1.2.

التحقق من الشهادات: كيف يقرر متصفحك الوثوق بموقع ما

عندما يرسل الخادم شهادته، يجب على العميل التحقق منها. يقوم المتصفح (أو عميل HTTP الخاص بك) بعدة فحوصات:

إذا فشل أي فحص، يعرض المتصفح تحذيرًا. على سبيل المثال، شهادة موقعة ذاتيًا تؤدي إلى ظهور "اتصالك ليس خاصًا" لأنها غير موقعة من CA موثوقة.

فحص اتصال TLS حقيقي

يمكنك رؤية تفاصيل المصافحة بنفسك باستخدام OpenSSL. قم بتشغيل هذا الأمر في terminal الخاص بك (استبدل اسم المضيف):

openssl s_client -connect example.com:443 -servername example.com -showcerts

يتضمن الإخراج سلسلة الشهادة، والتشفير المتفاوض عليه، وإصدار TLS. ابحث عن أسطر مثل:

New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit

يخبرك هذا أن الاتصال يستخدم TLS 1.3 مع AES-256-GCM. يمكنك أيضًا استخدام curl -v https://example.com لرؤية ملخص مصافحة TLS.

الأخطاء الشائعة في تكوين TLS وكيفية اكتشافها

حتى مع تمكين HTTPS، يمكن أن تؤدي الأخطاء في التكوين إلى إضعاف الأمان. فيما يلي المشكلات المتكررة:

المشكلةالخطركيفية التحقق
بروتوكولات ضعيفة (TLS 1.0/1.1)عرضة للهجمات المعروفةopenssl s_client -tls1_1 -connect host:443 يجب أن يفشل
شهادة منتهية الصلاحيةتحذيرات المتصفح، ثقة مكسورةتحقق من تاريخ الانتهاء باستخدام openssl s_client | openssl x509 -noout -dates
شهادات وسيطة مفقودةبعض العملاء يفشلون في التحققاستخدم -showcerts وتحقق من اكتمال السلسلة
لا يوجد رأس HSTSهجمات تخفيض ممكنةتحقق من وجود رأس Strict-Transport-Security

عادةً ما يتضمن إصلاح هذه المشكلات تحديث تكوين الخادم (على سبيل المثال، في Nginx: ssl_protocols TLSv1.2 TLSv1.3;) وضمان اكتمال سلسلة الشهادة.

HTTPS في الممارسة: ما يجب على المطورين فعله

إذا كنت تقوم بتصحيح سجلات الخادم، يمكن أن يساعدك Nginx Log Analyzer في اكتشاف فشل مصافحة TLS وأخطاء الشهادات في سجلات الوصول الخاصة بك.

الأسئلة الشائعة

ما الفرق بين TLS و SSL؟

SSL هو السلف لـ TLS. تم إهمال SSL 2.0 و 3.0 وهما غير آمنين؛ تستخدم الأنظمة الحديثة TLS 1.2 أو 1.3. غالبًا ما يقول الناس "SSL" بشكل عام، لكنهم يقصدون TLS.

هل يجعل HTTPS الموقع آمنًا تمامًا؟

لا. يقوم HTTPS بتشفير حركة المرور ومصادقة الخادم، لكنه لا يحمي من الثغرات مثل حقن SQL أو XSS أو الأذونات التي تم تكوينها بشكل خاطئ. إنه طبقة واحدة من الأمان.

كيف يمكنني التحقق مما إذا كان الموقع يدعم TLS 1.3؟

استخدم openssl s_client -connect host:443 -tls1_3. إذا نجحت المصافحة، فإن TLS 1.3 مدعوم. بدلاً من ذلك، تحقق من البروتوكول في أدوات المطور في متصفحك ضمن علامة التبويب Security.

يساعدك فهم مصافحة TLS والتحقق من الشهادات على بناء وصيانة خدمات ويب آمنة. عندما تحتاج إلى تحليل سجلات الخادم بحثًا عن أخطاء TLS أو مشكلات الأداء، جرب Nginx Log Analyzer لتحليل وتصفية إدخالات السجل بسرعة.