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

Security2026-11-10TryQuickToolBox

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

ما هو HTTPS حقًا

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

بدون TLS، يرسل HTTP كل شيء كنص عادي: كلمات المرور وملفات تعريف الارتباط والبيانات الشخصية تكون مرئية لأي شخص على مسار الشبكة. HTTPS يصلح ذلك.

مصافحة TLS بعبارات بسيطة

قبل تدفق أي بيانات مشفرة، يقوم العميل والخادم بإجراء مصافحة للاتفاق على مفاتيح التشفير والتحقق من الهوية. إليك ما يحدث في مصافحة TLS 1.3 النموذجية (المعيار الحديث):

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

يقلل TLS 1.3 من ذلك إلى رحلة ذهاب وإياب واحدة (1-RTT) ويدعم حتى استئناف 0-RTT للزوار المتكررين، مما يقلل زمن الوصول بشكل كبير مقارنة بـ TLS 1.2.

الشهادات: مرساة الثقة

تربط الشهادة مفتاحًا عامًا باسم نطاق ويتم توقيعها من قبل سلطة شهادات (CA). تأتي المتصفحات وأنظمة التشغيل مع مخزن من سلطات الشهادات الجذرية الموثوقة. عندما يقدم الخادم شهادته، يتحقق العميل من السلسلة حتى الجذر الموثوق.

أنواع الشهادات الشائعة:

تنتهي صلاحية الشهادات، لذا فإن الأتمتة ضرورية. أدوات مثل Certbot أو عملاء ACME المدمجين مع وكيلك العكسي تتولى التجديد تلقائيًا.

تكوين HTTPS على خادمك

إليك تكوين Nginx بسيط يمكّن HTTPS بإعدادات TLS حديثة:

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';
    ssl_prefer_server_ciphers off;

    # HSTS (enable after testing)
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    location / {
        proxy_pass http://localhost:3000;
    }
}

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

النقاط الرئيسية: استخدم TLS 1.2 و1.3 فقط، وفضل مجموعات تشفير ECDHE للسرية الأمامية، وأعد توجيه HTTP إلى HTTPS. يخبر HSTS المتصفحات دائمًا باستخدام HTTPS لنطاقك، لكن اختبر بعناية قبل تمكينه بحد أقصى طويل.

المزالق الشائعة وكيفية تجنبها

TLS 1.2 مقابل TLS 1.3: ما الذي تغير

الميزةTLS 1.2TLS 1.3
رحلات ذهاب وإياب المصافحة2-RTT1-RTT (0-RTT مع الاستئناف)
تبادل المفاتيحRSA أو ECDHEECDHE فقط (السرية الأمامية إلزامية)
مجموعات التشفيركثيرة، بما في ذلك الضعيفةمجموعة مخفضة، كلها AEAD
بيانات 0-RTTغير مدعومةمدعومة (مع خطر إعادة التشغيل)

TLS 1.3 أسرع وأبسط، ويزيل الخوارزميات القديمة. معظم العملاء الحديثين يدعمونه، لكن احتفظ بـ TLS 1.2 للأجهزة الأقدم.

تصحيح مشكلات TLS

عند فشل HTTPS، تحقق من هذه:

إذا كنت تعمل مع سجلات Nginx بانتظام، فإن محلل سجلات Nginx يمكن أن يساعدك في اكتشاف فشل مصافحة TLS والمشكلات الأخرى بسرعة.

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

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

HTTPS هو HTTP فوق TLS. TLS هو البروتوكول التشفيري الذي يوفر التشفير والسلامة والمصادقة. HTTPS هو النسخة الآمنة من HTTP التي تستخدم TLS.

هل أحتاج إلى شهادة للخدمات الداخلية؟

نعم، للخدمات الداخلية في الإنتاج، استخدم شهادات من CA الخاصة بك أو CA عامة. الشهادات الموقعة ذاتيًا تسبب مشكلات ثقة؛ فكر في استخدام PKI خاصة أو أدوات مثل mkcert للتطوير.

كم مرة يجب تجديد الشهادات؟

أفضل ممارسة حديثة هي شهادات لمدة 90 يومًا مع تجديد تلقائي، كما تقدم Let's Encrypt. تقلل فترات الصلاحية الأقصر من المخاطر إذا تم اختراق مفتاح.

هل أنت مستعد لتأمين موقعك؟ ابدأ باختبار تكوين TLS الحالي الخاص بك باستخدام فاحص SSL، ثم طبق إعدادات Nginx أعلاه. للتعمق أكثر في أمن الويب، استكشف أدلتنا الأخرى حول OWASP Top 10 ومنع XSS.