Loading...

راهنمای CDN.com.tr

روشن کردن HSTS برای نام‌میزبان‌های شما

پیش‌تنظیم امنیتی Hsts باعث می‌شود لبه شبکه در پاسخ‌های HTTPS هدر Strict-Transport-Security: max-age=31536000 را ارسال کند، تا مرورگری که یک بار سایت شما را دیده دیگر برای یک سال حاضر به باز کردن آن روی HTTP ساده نباشد.

روشن کردن HSTS برای نام‌میزبان‌های شما

پیش‌تنظیم امنیتی Hsts باعث می‌شود لبه شبکه در پاسخ‌های HTTPS هدر Strict-Transport-Security: max-age=31536000 را ارسال کند، تا مرورگری که یک بار سایت شما را دیده دیگر برای یک سال حاضر به باز کردن آن روی HTTP ساده نباشد.

پیش و پس از روشن کردن آن

HSTS فقط روی گواهی‌های کارآمد معنا دارد، و بهتر است در کنار پس‌زمینه‌ای که واقعاً این هدر چه چیزی را تضمین می‌کند خوانده شود.

اول گواهی‌ها

Auto SSL

پیش از آنکه HSTS بازگشت به HTTP را غیرقابل‌دسترس کند، هر نام‌میزبان به یک گواهی معتبر نیاز دارد.

باز کردن این موضوع
پس‌زمینه

HSTS چیست؟

این هدر به مرورگر چه چیزی را تضمین می‌کند، چرا max-age اهمیت دارد، و preload چه چیزی اضافه می‌کند.

خواندن راهنما

مسیر در پنل

  1. Management Panel
  2. CDN Accounts
  3. Delivery Rules
  4. Security defaults
  5. Security Setting (preset multiselect)

پیش‌نیازها

  • هر نام‌میزبانی که این حساب سرویس می‌دهد باید از قبل روی HTTPS با یک گواهی معتبر کار کند — از جمله میزبان‌های دارایی و هر زیردامنه‌ای که از سایت به آن لینک می‌دهید.
  • محتوای مختلط باید ابتدا پاک‌سازی شود. وقتی HSTS فعال شد، یک دارایی http:// روی HTTP دوباره تلاش نمی‌شود، فقط شکست می‌خورد.
  • به نقشی نیاز دارید که بتواند delivery rules را ذخیره کند: owner یا editor. یک viewer می‌تواند صفحه را بخواند اما نمی‌تواند آن را ثبت کند.

مدل تصمیم‌گیری

برای HSTS آماده‌اید؟

این تنها تصمیم واقعی است. HSTS روی سایتی که کاملاً روی HTTPS است بی‌خطر است و روی سایتی که نیست دردسرساز.

  • آماده: هر نام‌میزبان روی حساب، و هر دارایی‌ای که بارگذاری می‌کند، روی HTTPS با گواهی معتبر پاسخ می‌دهد.
  • آماده نیستید: یک میزبان تصویر، یک زیردامنه قدیمی، یا یک ابزار داخلی هنوز فقط روی HTTP پاسخ می‌دهد. اول آن‌ها را درست کنید.
  • مطمئن نیستید: سایت خودتان را با کنسول مرورگر باز نگه دارید و پیش از روشن کردن پیش‌تنظیم، دنبال هشدارهای محتوای مختلط بگردید.

این پیش‌تنظیم چه چیزی را پوشش می‌دهد و چه چیزی را نه

دانستن دامنه دقیق آن هم از اعتماد بیش‌ازحد جلوگیری می‌کند هم از تیکت پشتیبانی که چرا یک زیردامنه تأثیر نگرفته.

  • پوشش می‌دهد: همان نام‌میزبانی که پاسخ را داد، برای یک سال، روی HTTPS.
  • پوشش نمی‌دهد: زیردامنه‌ها — هدر هیچ دستور includeSubDomains ندارد.
  • پوشش نمی‌دهد: فهرست‌های preload — سایت به فروشندگان مرورگر ارسال نشده.

راهنمای گام‌به‌گام

1

بررسی کنید که HTTPS کامل است

این مرحله تمام ریسک این قابلیت است. هرچه بعد از آن بیاید دو کلیک است.

  • سایت خودتان را با کنسول توسعه‌دهنده باز نگه دارید و دنبال هشدارهای محتوای مختلط بگردید.
  • نام‌میزبان‌های روی حساب را در Content Delivery Points فهرست کنید و هر کدام را روی https:// باز کنید.
  • در SSL Management تأیید کنید هر گواهی معتبر است و به انقضا نزدیک نیست.

نتیجه مورد انتظار: هر نام‌میزبان روی حساب بدون هشدار گواهی یا محتوای مختلط روی HTTPS بارگذاری می‌شود.

معادل cdnctl
curl -sI https://www.example.com/ | head -1
curl -sI https://assets.example.com/ | head -1
2

افزودن پیش‌تنظیم Hsts

فیلد Security Setting یک چندانتخابی از پیش‌تنظیم‌های امنیتی است. افزودن Hsts بقیه را دست‌نخورده می‌گذارد.

  • حساب را انتخاب کنید و Delivery Rules را باز کنید.
  • به Security defaults اسکرول کنید و روی فیلد Security Setting کلیک کنید (جای‌نگه‌دارنده‌اش شما را به انتخاب یا جست‌وجوی یک پیش‌تنظیم دعوت می‌کند).
  • از فهرست، Hsts را انتخاب کنید، هر پیش‌تنظیمی که از قبل انتخاب شده را نگه دارید، و ثبت کنید.

نتیجه مورد انتظار: مجموعه پیش‌تنظیم‌ها ذخیره می‌شود و یک deploy در صف قرار می‌گیرد، تا پیکربندی لبه شبکه با HSTS بازتولید شود.

معادل cdnctl
POST /api/accounts/update_account_presets/<account_uuid>
{"type":"security","presets":["Waf","Hsts"]}
این فراخوانی کل مجموعه پیش‌تنظیم آن نوع را جایگزین می‌کند — هر پیش‌تنظیمی که می‌خواهید نگه دارید را هم بفرستید.
3

هدر را روی یک درخواست واقعی تأیید کنید

پیش‌تنظیم ذخیره‌شده یک قصد است؛ هدر پاسخ یک واقعیت است.

  • بررسی HTTPS زیر را اجرا کنید و هدر و مقدار max-age آن را تأیید کنید.
  • همان بررسی را روی http:// اجرا کنید و تأیید کنید هدر آنجا نیست — این رفتار درست است.
  • سایت را در یک پروفایل مرورگر تازه باز کنید و تأیید کنید چیزی خراب نشده.

نتیجه مورد انتظار: پاسخ HTTPS حامل Strict-Transport-Security: max-age=31536000 است و سایت به‌طور عادی بارگذاری می‌شود.

معادل cdnctl
curl -sI https://www.example.com/ | grep -i strict-transport
curl -sI http://www.example.com/ | grep -i strict-transport

راستی‌آزمایی

  • پاسخ HTTPS حامل Strict-Transport-Security: max-age=31536000 است.
  • پاسخ ساده HTTP آن را ندارد.
  • دیگر هیچ نام‌میزبانی روی حساب فقط-HTTP نیست، و هیچ صفحه‌ای محتوای مختلط گزارش نمی‌دهد.
  • پذیرفته‌اید که برداشتن تیک پیش‌تنظیم، هدر را از مرورگرهایی که قبلاً آن را ذخیره کرده‌اند پاک نمی‌کند.

موارد کاربرد

سایت شما به‌طور کامل روی HTTPS است و می‌خواهید شکاف اولین درخواست را ببندید: اولین کلیک روز همچنان به‌صورت http:// ارسال می‌شود و تازه بعد از آن ریدایرکت می‌شود. HSTS این درخواست را کاملاً حذف می‌کند — مرورگر پیش از خروج از دستگاه آن را ارتقا می‌دهد.

جریان کاری سریع

  1. تأیید کنید که هر نام‌میزبان روی حساب هم‌اکنون با یک گواهی معتبر روی HTTPS پاسخ می‌دهد. HSTS راه بازگشت به HTTP را حذف می‌کند، پس هر چیزی که هنوز فقط HTTP است برای بازدیدکنندگانی که هدر را دیده‌اند غیرقابل‌دسترس می‌شود.
  2. Delivery Rules حساب را باز کنید و پنل Security defaults را پیدا کنید.
  3. فیلد پیش‌تنظیم Security Setting را باز کنید، Hsts را انتخاب کنید و ثبت کنید. پیش‌تنظیم‌هایی که از قبل انتخاب شده بودند، مانند Waf، انتخاب‌شده باقی می‌مانند — این فیلد چندانتخابی است و ذخیره کل مجموعه را جایگزین می‌کند.
  4. منتظر بمانید تا پیکربندی به لبه شبکه برسد، سپس هدر را روی یک درخواست واقعی تأیید کنید.

بررسی‌ها

  • هدر فقط در پاسخ‌های HTTPS ارسال می‌شود. ندیدن Strict-Transport-Security در پاسخ http:// درست است، نه یک خطا.
  • مقدار max-age=31536000 است — یک سال — بدون includeSubDomains و بدون preload. زیردامنه‌ها با این پیش‌تنظیم پوشش داده نمی‌شوند؛ هر نام‌میزبان با پاسخ خودش پین می‌شود.
  • سایت به هیچ فهرست preload مرورگر ارسال نشده، پس خاموش کردن HSTS هرگز نیاز به درخواست به فروشنده مرورگر ندارد.
  • تیک پیش‌تنظیم را بردارید و لبه شبکه ارسال هدر را متوقف می‌کند — اما مرورگرهایی که قبلاً آن را دریافت کرده‌اند تا پایان max-age ذخیره‌شده‌شان همچنان HTTPS را اجبار می‌کنند. HSTS را تا یک سال یک درِ یک‌طرفه بدانید، نه کلیدی که در حین آزمایش عوض می‌کنید.