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

Security2026-11-02TryQuickToolBox

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

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

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

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

TLS هو البروتوكول الذي يجعل ذلك ممكنًا. SSL هو سابقه—ستظل ترى "شهادات SSL" في التسويق، لكن الأنظمة الحديثة تستخدم TLS (حاليًا TLS 1.3 هو الأحدث).

مصافحة TLS: خطوة بخطوة

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

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

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

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

تربط شهادة TLS مفتاحًا عامًا باسم نطاق ويتم توقيعها من قبل سلطة شهادات (CA). عندما يتصل متصفحك بـ example.com، فإنه يتحقق من أن الشهادة:

يمكنك الحصول على شهادات مجانًا من Let's Encrypt، التي تصدر شهادات لمدة 90 يومًا عبر بروتوكول ACME. تتولى أدوات الأتمتة مثل Certbot التجديد. للخدمات الداخلية، يمكنك تشغيل CA الخاصة بك، لكن يجب على العملاء الوثوق بها صراحة.

تكوين TLS على الخادم الخاص بك

يوازن التكوين الصحيح بين الأمان والتوافق والأداء. إليك قائمة التحقق:

بالنسبة لـ Nginx، يبدو التكوين الآمن الأدنى كما يلي:

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:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305';
    ssl_prefer_server_ciphers off;

    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;
    ssl_session_tickets off;

    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8;

    add_header Strict-Transport-Security "max-age=63072000" always;

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

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

اختبر تكوينك باستخدام أدوات مثل SSL Labs' SSL Test أو testssl.sh. استهدف درجة A، لكن لا تسعَ وراء درجات مثالية على حساب كسر العملاء الأقدم إذا كان يجب عليك دعمهم.

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

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

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

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

هل أحتاج إلى شهادة منفصلة لـ www وغير www؟

يمكنك تضمين كليهما في حقل أسماء بديلة للموضوع (SAN) لشهادة واحدة. تصدر معظم سلطات الشهادات شهادات تغطي كليهما افتراضيًا أو بتكوين بسيط.

كم مرة يجب أن أدور شهادات TLS الخاصة بي؟

اتبع فترة صلاحية CA—90 يومًا لـ Let's Encrypt. أتمت التجديد باستخدام مهمة cron أو مؤقت systemd. قم بالتدوير فورًا إذا تم اختراق مفتاح خاص.

هل أنت مستعد لفحص حركة المرور على الويب؟ استخدم Nginx Log Analyzer لتحليل سجلات الوصول والتحقق من طلبات HTTPS ورموز الحالة والمشكلات المحتملة.