مبین کبیر · مهندس شبکه بازگشت به بلاگ ←
HTTPS

HTTPS و گواهی TLS؛ چرا و چگونه رمزنگاری وب را فعال کنیم؟

۱۶ شهریور ۱۴۰۵ · 6 دقیقه مطالعه

وقتی صفحه‌ی https باز می‌شود، مرورگر و سرور قبل از هر تبادل داده یک دست‌دهی TLS انجام می‌دهند؛ در همین لحظه هویت سرور با گواهی دیجیتال تأیید می‌شود و یک کلید موقت برای رمزنگاری بعدی توافق می‌شود.

رمزنگاری متقارن و نامتقارن؛ ترکیب هوشمندانه TLS

  • متقارن (AES): سریع است و برای خودِ داده به‌کار می‌رود
  • نامتقارن (RSA / ECDHE): کندتر اما برای تبادل امن کلید و امضا

TLS اول با نامتقارن، کلید جلسه را امن مبادله می‌کند و بعد بقیه‌ی داده با متقارن رمز می‌شود. همین ترکیب است که سرعت و امنیت را هم‌زمان ممکن می‌کند.

چرا همه‌ی سایت‌ها باید HTTPS داشته باشند؟

حتی اگر داده «حساس» نباشد:

  • جلوگیری از دستکاری محتوا در مسیر (حمله‌ی MITM)
  • محافظت از کاربر در شبکه‌های مشترک و وای‌فای‌های عمومی
  • اعتماد مرورگرها و سیگنال سئو

همان‌قدر که HTTPS برای سرویس‌دهی مهم است، فایروال مرز شبکه است؛ فایروال و اصول پیکربندی را برای تکمیل خط دفاعی بخوان.

نصب رایگان گواهی با Let’s Encrypt

برای مدیران سایت:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com

certbot گواهی را نصب و تمدید خودکار را تنظیم می‌کند؛ وضعیت تمدید را با Status سیستم‌وار و فایل‌timer بررسی کن.

تنظیم‌ات پس از نصب

  • غیرفعال‌کردن TLS 1.0/1.1؛ فقط نسخه‌های 1.2 و 1.3 در سرور
  • HSTS: مرورگر را وادار کن همیشه https بماند (هدر Strict-Transport-Security با max-age بالا)
  • ریدایرکت کامل http به https برای دامنه و زیردامنه‌ی www
  • اسکن را با Qualys SSL Labs اجرا کن و امتیاز را بالای A نگه دار

برای کاربران؛ آخرین خط

همیشه به قفل و نام دامنه در نوار آدرس دقت کن؛ یک https روی دامنه‌ی اشتباه (مثل paypa1.org) همان‌قدر خطرناک است که صفحه‌ی بدون https. درباره‌ی فیشینگ، تشخیص و مقابله با فیشینگ را بخوان.

سوالات متداول

تفاوت HTTP و HTTPS چیست؟

HTTPS همان HTTP روی TLS است؛ داده‌ها قبل از ارسال رمز می‌شوند و هویت سرور با گواهی تأیید می‌شود.

آیا گواهی SSL رایگان امن است؟

بله؛ Let’s Encrypt گواهی معتبر و مورد اعتماد مرورگرهاست. تفاوت گواهی پولی در سطح اعتبار هویت و خدمات است، نه ضعف رمزنگاری.

چرا سایت من بعد از HTTPS «غیر امن» نشان داده می‌شود؟

معمولاً به دلیل محتوای ترکیبی (منابع http در صفحه) یا گواهی نامعتبر/منقضی. ریدایرکت‌ها را کامل کن و گواهی را درست تمدید کن.

HSTS چیست و باید فعالش کنم؟

HSTS به مرورگر می‌گوید فقط با https ارتباط بگیرد و از پایین‌آمدن به http جلوگیری کند. بعد از اطمینان از HTTPS کامل، فعالش کن.