أمن سيبراني
TLS 1.3: الجيل الجديد من التشفير — ايش تغيّر
كلاود|٢١ أبريل ٢٠٢٦|3 دقائق قراءة|٣٦٣ مشاهدة

أسرع بـ 40% في handshake. أكثر أماناً. بدون cipher suites ضعيفة. نشرح TLS 1.3 وكيف تفعّله.
TLS 1.3: ما الجديد وكيف تستفيد؟
TLS 1.3 صدر رسمياً في 2018 (RFC 8446) لكنه أصبح المعيار الفعلي في 2024-2025. إذا كان موقعك لا يزال يعمل بـ TLS 1.2 فقط، أنت تخسر أداءً وأماناً.
الفرق بين TLS 1.2 و TLS 1.3
الأداء: 1-RTT بدل 2-RTT
TLS 1.2 Handshake:
Client → Server: ClientHello
Server → Client: ServerHello, Certificate
Client → Server: ClientKeyExchange (+ verification)
Server → Client: Finished
Total: 2 Round-Trip Times (RTT)
= ~100-200ms إضافية قبل بداية نقل البيانات
TLS 1.3 Handshake:
Client → Server: ClientHello (+ key_share)
Server → Client: ServerHello, Certificate, Finished
Total: 1 RTT
= ~50-100ms إضافية فقط
0-RTT Mode (للاتصالات المتكررة):
زيارة ثانية للموقع:
Client → Server: Early Data (مع طلب HTTP مباشرة!)
Server: يعالج الطلب فوراً
Total: 0 RTT
الأمان: إزالة البروتوكولات الضعيفة
TLS 1.2 يدعم (بعضها ضعيف):
├── RSA key exchange (معرض للـ BEAST attack)
├── RC4 cipher (مكسور تماماً)
├── MD5 و SHA-1 (ضعيفة)
└── Export-grade encryption (ضعيفة جداً)
TLS 1.3 يدعم فقط:
├── ECDHE key exchange (Perfect Forward Secrecy إلزامي)
├── AES-GCM, AES-CCM, ChaCha20-Poly1305
└── SHA-256, SHA-384
تفعيل TLS 1.3 على Nginx
# /etc/nginx/sites-available/yoursite
server {
listen 443 ssl http2;
server_name yoursite.com;
ssl_certificate /etc/letsencrypt/live/yoursite.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yoursite.com/privkey.pem;
# تفعيل TLS 1.3 (مع الاحتفاظ بـ 1.2 للمتصفحات القديمة)
ssl_protocols TLSv1.2 TLSv1.3;
# Cipher suites مُحسَّنة
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off; # مهم في TLS 1.3
# OCSP Stapling (للأداء)
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/yoursite.com/chain.pem;
resolver 8.8.8.8 8.8.4.4 valid=300s;
# Session Cache
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off; # أفضل للـ Forward Secrecy
# 0-RTT (اختياري — تحقق من مخاطر replay attacks)
# ssl_early_data on;
}
تفعيل TLS 1.3 على Apache
# /etc/apache2/sites-available/yoursite.conf
<VirtualHost *:443>
ServerName yoursite.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/yoursite.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yoursite.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/yoursite.com/chain.pem
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
SSLHonorCipherOrder off
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
</VirtualHost>
اختبار التكوين
# فحص نسخة TLS المدعومة
openssl s_client -connect yoursite.com:443 -tls1_3
# يجب أن تُعيد:
# SSL-Session:
# Protocol: TLSv1.3
# Cipher: TLS_AES_256_GCM_SHA384
# أداة أشمل
nmap --script ssl-enum-ciphers -p 443 yoursite.com
# أداة أونلاين
# https://www.ssllabs.com/ssltest/ (هدف: A+ rating)
HSTS: إجبار HTTPS دائماً
# إضافة HSTS header
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
# بعد التحقق من عمل HTTPS بشكل صحيح:
# أرسل نطاقك لـ HSTS Preload List
# https://hstspreload.org/
شهادات Let's Encrypt المجانية
كلاود (cloud.net.sa) توفر Let's Encrypt مجاناً على جميع الباقات.
# تثبيت Certbot
apt install certbot python3-certbot-nginx -y
# إصدار شهادة وتفعيلها تلقائياً في Nginx
certbot --nginx -d yoursite.com -d www.yoursite.com
# التجديد التلقائي
crontab -e
# أضف: 0 12 * * * /usr/bin/certbot renew --quiet
الخلاصة
TLS 1.3 = أداء أفضل (خطوة握手أقل) + أمان أعلى (بروتوكولات ضعيفة محذوفة). تفعيله لا يأخذ أكثر من 15 دقيقة. موقعك يستحق A+ من SSL Labs.
ابدأ الآن
تبي بيئة آمنة لتطبيقاتك؟ اختر سيرفر محمي بحماية DDoS وجدار ناري متقدم. راجع اتفاقية مستوى الخدمة وسياسة الخصوصية.
مشاركة


