محتوانوشته

اگر در سایت خود از https استفاده می‌کنید، یکی از ترفندهایی که می‌توانید سرعت و امنیت وب‌سایت خود را افزایش دهید، فعالسازی HSTS است. در واقع HSTS مخفف عبارت HTTP Strict Transport Security است که به شما کمک می‌کند تا از وب سایت خود در برابر انواع حملات محافظت کنید. به همین منظور ما در این مطلب از نوین وردپرس قصد داریم شما را با تعریف HSTS چیست و نحوه فعال سازی HSTS آشنا کنیم. با نوین وردپرس همراه باشید.

چگونگی فعال سازی HSTS در وردپرس

اچ اس تی اس چیست ؟

با وجود تمام موارد نقض امنیتی که در سال‌های گذشته شاهد آن بودیم، کاملا منطقی است که بخواهیم همه چیز را به SSL منتقل کنیم. گوگل در حال حاضر شروع به استفاده از سایت‌های SSL در نتایج جستجو کرده و وقتی بازدیدکنندگان شما مشاهده می‌کنند که سایت شما از طریق SSL ایمن شده است، اطمینان بیشتری پیدا خواهند کرد.

اچ اس تی اس یک روش امنیتی وردپرس است که با اضافه کردن آن به سایت، بازدیدکنندگان شما را ایمن نگه می‌دارد. این امر همچنان از سایت شما در برابر حملات MITM (man-in-the-middle) محافظت می‌کند. قبل از اینکه بخواهید این گواهی را در سایت خود فعال کنید، چندین نکته وجود دارد که باید آن‌ها را رعایت کنید:

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

در ادامه مقاله با چگونگی فعال سازی HSTS در وردپرس آشنا خواهیم شد.

افزونه اسلایدر روولوشن | خرید افزونه داپلیکیتور پرو | خرید افزونه پرفومترز

پروتکل HSTS چیست؟

HSTS یا همان HTTP Strict Transport Security یک پروتکل امنیتی در وب است که برای افزایش امنیت سایت‌ها در برابر حملات اینترنتی مانند شنود اطلاعات یا حملات مرد میانی (Man-in-the-Middle) طراحی شده است. وقتی سایتی از HSTS استفاده می‌کند، به مرورگر اعلام می‌کند که تنها از طریق اتصال امن HTTPS به آن سایت متصل شود و از HTTP استفاده نکند.

به این ترتیب، حتی اگر کاربر به اشتباه آدرس سایت را با “http://” وارد کند، مرورگر به صورت خودکار او را به نسخه امن‌تر یعنی “https://” هدایت می‌کند.

تاریخچه HSTS

در سال 2009 مهندسان شرکت پی‌پال و موزیلا پیشنهاد دادند مرورگرها بتوانند به اجبار فقط از HTTPS استفاده کنند تا جلوی حملات مرد میانی گرفته شود. این ایده باعث شد در سال 2010 نسخه رسمی HSTS معرفی شود و مرورگر فایرفاکس اولین مرورگری بود که از آن پشتیبانی کرد.

در سال‌های بعد مرورگرهای دیگری مانند گوگل کروم و سافاری نیز HSTS را پشتیبانی کردند و گوگل حتی لیستی به نام HSTS Preload List ساخت تا برخی سایت‌ها از همان ابتدا فقط با HTTPS باز شوند. از سال 2016 تا امروز استفاده از HSTS به یکی از معیارهای اصلی امنیت وب تبدیل شده است و بیشتر سایت‌های معتبر دنیا از آن استفاده می‌کنند تا کاربران همیشه از ارتباط امن بهره‌مند شوند.

HSTS چگونه کار می‌کند؟

پروتکل HSTS با استفاده از یک هدر خاص در HTTP به نام Strict-Transport-Security کار می کند. این هدر از سمت سرور برای مرورگر ارسال می شود و شامل دستورالعمل هایی است که مشخص می کنند مرورگر تا مدت زمان مشخصی فقط از اتصال امن HTTPS برای ارتباط با آن سایت استفاده کند.

فرآیند عملکرد HSTS به شکل زیر است:

  • درخواست اولیه به سایت: وقتی کاربر برای اولین بار به یک وب سایت مراجعه می کند، ممکن است از HTTP یا HTTPS استفاده کند.
  • پاسخ سرور با هدر HSTS: اگر ارتباط از طریق HTTP برقرار شده باشد، سرور کاربر را به نسخه امن تر یعنی HTTPS هدایت می کند و در پاسخ خود هدر Strict-Transport-Security را ارسال می کند.
  • ذخیره هدر در مرورگر: مرورگر این هدر را دریافت کرده و اطلاعات آن را ذخیره می کند. یکی از پارامترهای مهم این هدر، مقدار max-age است که مدت زمان استفاده اجباری از HTTPS را مشخص می کند.
  • اجبار به استفاده از HTTPS: از این پس، هر بار که کاربر بخواهد وارد سایت شود، حتی اگر آدرس را با “http://” وارد کند، مرورگر به طور خودکار اتصال را از طریق “https://” برقرار می کند.

مشاهده و خرید افزونه امنیت وردپرس

اجزای هدر HSTS چیست؟

هدر HSTS از چند بخش مختلف تشکیل شده است که هر کدام نقش خاصی در امنیت وب سایت دارند. این اجزا به مرورگر دستور می دهند چگونه سیاست HSTS را اجرا کند.

  • max-age: این پارامتر مدت زمان اعتبار سیاست HSTS را بر حسب ثانیه مشخص می کند. برای مثال، مقدار max-age=31536000 نشان دهنده فعال بودن این سیاست به مدت یک سال است.
  • includeSubDomains: با فعال کردن این گزینه، سیاست HSTS علاوه بر دامنه اصلی، برای تمام زیر دامنه های آن نیز اجرا می شود. این ویژگی برای سایت هایی که چندین زیردامنه دارند بسیار کاربردی است.
  • preload: این گزینه به وب سایت اجازه می دهد در فهرست از پیش بارگذاری شده HSTS مرورگرها قرار گیرد. در این حالت، مرورگر حتی قبل از اولین بازدید کاربر نیز سایت را فقط از طریق HTTPS بارگذاری می کند.

کاربرد پروتکل HSTS چیست؟

پروتکل HSTS برای افزایش امنیت سایت و حفاظت اطلاعات کاربران استفاده می شود. با فعال بودن این پروتکل مرورگر همیشه از اتصال امن HTTPS استفاده می کند و اجازه نمی دهد سایت از طریق HTTP باز شود. این ویژگی از حملات میانی جلوگیری می کند و باعث می شود داده های کاربران امن باقی بماند.

همچنین با HSTS کاربران همیشه به نسخه امن سایت وصل می شوند و پیام هشدار امنیتی مرورگر کاهش می یابد. استفاده از این پروتکل باعث افزایش اعتماد کاربران و بهبود رتبه سایت در موتورهای جستجو می شود.

حتی اگر کاربر آدرس سایت را بدون HTTPS وارد کند مرورگر آن را به صورت امن باز می کند و خطر اتصال ناامن کاهش می یابد. HSTS با دیگر استانداردهای امنیتی وب مانند کوکی های امن و سیاست امنیت محتوا هماهنگ است و امنیت کلی سایت را بالا می برد.

افزونه المنتور پرو | افزونه دیجیتس | افزونه گرویتی فرمز | افزونه دکان پرو

مزایای استفاده از HSTS چیست؟

– جلوگیری از حملات ناامن شدن اتصال

HSTS باعث می‌شود مرورگر همیشه از HTTPS استفاده کند و اجازه اتصال از طریق HTTP را ندهد. این کار مانع هک شدن داده‌ها توسط مهاجمان می‌شود.

– جلوگیری از حملات میانی

با فعال بودن HSTS، مرورگر تنها به سرورهایی با گواهی SSL معتبر وصل می‌شود. بنابراین احتمال سرقت یا تغییر اطلاعات کاهش می‌یابد.

– افزایش اعتماد کاربران

کاربران همیشه به نسخه امن سایت وصل می‌شوند و پیام‌های هشدار امنیتی مرورگر ظاهر نمی‌شود.

– تاثیر مثبت در سئو

گوگل و موتورهای جستجو امنیت سایت را ارزیابی می‌کنند. فعال کردن HSTS باعث افزایش رتبه سایت می‌شود.

– کاهش خطای کاربران

حتی اگر کاربر آدرس سایت را بدون HTTPS وارد کند، مرورگر آن را به صورت امن باز می‌کند.

– هماهنگی با استانداردهای امنیتی

HSTS با دیگر روش‌های امنیتی مانند کوکی‌های امن و سیاست امنیت محتوا (CSP) همخوانی دارد و امنیت سایت را بالا می‌برد.

معایب و محدودیت‌های HSTS چیست؟

با اینکه HSTS امنیت وب سایت را به شکل قابل توجهی افزایش می دهد، اما محدودیت ها و معایبی هم دارد که باید مدنظر قرار گیرد:

  • اشکال در توسعه و تست سایت: وقتی HSTS فعال باشد، مرورگر همیشه اتصال HTTPS را الزامی می کند. این موضوع ممکن است فرآیند توسعه و تست سایت را دشوار کند، به خصوص اگر توسعه‌دهندگان از محیط های محلی یا گواهی‌ های آزمایشی استفاده کنند.
  • مشکلات در صورت انقضای گواهی SSL: اگر گواهی SSL سایت منقضی شود یا مشکلی در آن پیش بیاید، کاربران نمی توانند به سایت دسترسی پیدا کنند زیرا مرورگر اجازه اتصال HTTP را نمی دهد.
  • حذف دشوار از مرورگر: پس از فعال شدن HSTS، مرورگر تا پایان مدت زمان مشخص شده در max-age سایت را مجبور به استفاده از HTTPS می کند. این باعث می شود حذف یا غیرفعال کردن HSTS از مرورگر برای کاربران معمولی دشوار باشد.
  • نیاز به HTTPS از ابتدا: HSTS تنها زمانی مفید است که سایت از ابتدا با HTTPS راه اندازی شده باشد. اگر سایت ابتدا با HTTP منتشر شود، HSTS نمی تواند از حملات اولیه Man-in-the-Middle جلوگیری کند.

پیشنهاد محصول» افزونه Really Simple SSL Pro

نحوه فعال سازی اچ اس تی اس در وردپرس

برای فعال سازی اچ اس تی اس در وردپرس، در ابتدا وارد کنترل پنل هاست خود شوید و سپس به روت هاست خود مراجعه کنید. حال باید فایل functions.php را پیدا و وارد صفحه ویرایشگر آن شوید. پس از آن کد زیر را به آن اضافه کنید:

/**

 * Enables the HTTP Strict Transport Security (HSTS) header in WordPress.

 * Includes preloading with subdomain support.

 */

function tg_enable_strict_transport_security_hsts_header_wordpress() {

    header( ‘Strict-Transport-Security: max-age=31536000; includeSubDomains; preload’ );

}

add_action( ‘send_headers’, ‘tg_enable_strict_transport_security_hsts_header_wordpress’ );

همچنین یک راه دیگر برای فعال سازی اچ اس تی اس این است که وارد کنترل پنل خود شده و سپس به پوشه public_html مراجعه کنید. سپس فایل htaccess را پیدا و کدهای زیر را درون آن قرار دهید. با استفاده از این کد می‌توانید ریدایرکت 301 درست را تنظیم کرده و پروتکل HSTS را در سایت خود فعال کنید. برای فعال کردن آن آموزش فعال سازی HSTS زیر را دنبال کنید.

طریقه فعال کردن HSTS در وردپرس

خرید قالب هاستینگ وردپرس؛ سرمایه‌گذاری برای موفقیت آنلاین

نحوه فعال سازی HSTS برای وب سایت های www:

 # Set HSTS env var only if HTTPS

RewriteCond %{HTTPS} on

RewriteRule ^ – [E=HSTS:1]

# Redirect HTTP to HTTPS on the same host

RewriteCond %{HTTPS} !=on

RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# Redirect non-www to www (HTTPS only)

RewriteCond %{HTTP_HOST} !^www\.

RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# Set HSTS header conditionally if request is over HTTPS only (based on HSTS env var)

Header always set Strict-Transport-Security “max-age=63072000; includeSubDomains; preload” env=HSTS

افزونه  imagify | افزونه pwa | افزونه UserWP | افزونه wpform | افزونهsmush  | افزونه wpml| افزونه acf pro 

چرا کسب و کار شما باید HSTS را پیاده‌سازی کند؟

پیاده‌ سازی HSTS برای کسب و کار ها اهمیت زیادی دارد زیرا امنیت وب سایت و اعتماد کاربران را به شکل قابل توجهی افزایش می دهد. دلایل اصلی استفاده از HSTS عبارتند از:

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

HSTS Preloading چیست؟

HSTS Preloading قابلیتی است که باعث می شود سایت شما حتی قبل از اولین بازدید کاربران، همیشه از اتصال امن HTTPS استفاده کند. برای این کار، سایت باید گزینه preload را فعال کند و دامنه خود را در فهرست HSTS Preload ثبت کند. مرورگرهایی که این فهرست را دارند، بدون نیاز به ورود کاربران به نسخه HTTP، سایت را مستقیم با HTTPS بارگذاری می کنند. این کار امنیت سایت را بالا می برد و احتمال شنود اطلاعات یا حملات مرد میانی را کاهش می دهد.

 

پیاده‌سازی HSTS برای وب‌سایت

برای فعال کردن HSTS روی وب سایت، ابتدا سایت شما باید با HTTPS راه اندازی شده باشد و گواهی SSL معتبر داشته باشد. سپس کافی است هدر Strict-Transport-Security را به سرور اضافه کنید. این هدر مشخص می کند که مرورگرها همیشه از اتصال امن HTTPS استفاده کنند و می تواند شامل گزینه هایی مثل مدت زمان اجرا (max-age)، شامل کردن زیر دامنه ها (includeSubDomains) و ثبت در فهرست پیش بارگذاری (preload) باشد.

بعد از این تنظیم، حتی اگر کاربر آدرس سایت را با HTTP وارد کند، مرورگر او را به نسخه امن HTTPS هدایت می کند و امنیت سایت بالا می رود.

افزونه های امنیتی و سرعتی: افزونه وردفنس | افزونه آیتم سکوریتی پرو | افزونه  ssl | افزونه راکت

الزامات HSTS چیست؟

الزامات HSTS شرایطی هستند که برای فعال کردن و استفاده صحیح از این پروتکل امنیتی باید رعایت شوند تا سایت بتواند به درستی از HTTPS بهره ببرد و امنیت کاربران را تضمین کند. مهم ترین الزامات عبارتند از:

  • وجود HTTPS فعال و گواهی SSL معتبر: قبل از فعال کردن HSTS، سایت باید با HTTPS راه اندازی شده باشد و گواهی SSL آن معتبر باشد تا مرورگر بتواند اتصال امن برقرار کند.
  • پشتیبانی سرور از هدر HSTS: سرور وب باید امکان ارسال هدر Strict-Transport-Security را داشته باشد و بتواند پارامترهای آن را به درستی تعیین کند.
  • تنظیم مدت زمان مناسب (max-age): مقدار max-age باید تعیین شود تا مرورگر بداند سیاست HSTS تا چه مدت اجرا شود.
  • استفاده از preload در صورت تمایل به ثبت در فهرست پیش بارگذاری: اگر می خواهید سایت در لیست HSTS Preload مرورگرها قرار گیرد، پارامتر preload باید فعال و دامنه در فهرست ثبت شود.

نصب HSTS برای وب سرور آپاچی

برای فعال کردن HSTS روی آپاچی به صورت ساده، کافی است مراحل زیر را انجام دهید:

  • مطمئن شوید سایت شما با HTTPS فعال است و گواهی SSL معتبر دارد.
  • فایل پیکربندی سایت را باز کنید (معمولاً در /etc/apache2/sites-available/).
  • داخل بلاک <VirtualHost *:443> این خط را اضافه کنید:

Header always set Strict-Transport-Security “max-age=31536000; includeSubDomains; preload”

  • اگر فعال نیست، ماژول هدر آپاچی را با این دستور فعال کنید:

sudo a2enmod headers

  • سرور آپاچی را ریستارت کنید:

sudo systemctl restart apache2

  • حالا سایت شما HSTS فعال دارد و مرورگرها همیشه از HTTPS برای دسترسی به آن استفاده می کنند.

نصب HSTS برای NGINX

برای فعال کردن و نصب hsts  روی NGINX  به صورت ساده، مراحل زیر را انجام دهید:

  • مطمئن شوید سایت شما با HTTPS فعال است و گواهی SSL معتبر دارد.
  • فایل پیکربندی سایت را باز کنید (معمولاً در /etc/nginx/sites-available/).
  • داخل بلاک server که HTTPS دارد، این خط را اضافه کنید:

add_header Strict-Transport-Security “max-age=31536000; includeSubDomains; preload” always;

  • پیکربندی NGINX را بررسی و سرور را ریستارت کنید:

sudo nginx -t

sudo systemctl reload nginx

  • حالا HSTS روی سایت فعال است و مرورگرها همیشه از HTTPS استفاده می کنند.

رفع خطای hsts

برای رفع خطای hsts ابتدا باید علت مشکل مشخص شود. معمول ‌ترین خطاها مربوط به گواهی SSL نامعتبر، تنظیمات نادرست سرور یا کش مرورگر هستند.

1- بررسی گواهی SSL

مطمئن شوید گواهی SSL سایت معتبر است و تاریخ آن منقضی نشده است.

2- پاک کردن کش مرورگر

مرورگر ممکن است به‌ خاطر HSTS کش شده سایت را غیرقابل دسترس نشان دهد.

3- استفاده از HTTPS برای همه منابع

تمام لینک‌ ها و منابع سایت باید با HTTPS بارگذاری شوند.

قالب بی تم | قالب فلت سام |قالب استادیار | قالب دیوی | قالب آوادا | قالب اسنشیالز | قالب انفولد | قالب وودمارت

اضافه کردن دامنه به لیست پیش بارگذاری پروتکل HSTS

لیست Preload شامل دامنه‌ هایی است که مرورگرها از قبل می‌دانند باید همیشه از طریق HSTS و اتصال امن HTTPS به آن‌ها دسترسی پیدا کنند. برای اضافه کردن یک دامنه به این فهرست، باید چند مرحله ساده اما مهم را دنبال کنید:

  • داشتن گواهی SSL معتبر: اولین قدم این است که وب‌سایت شما دارای گواهی SSL فعال و معتبر باشد تا مرورگر بتواند اتصال امن برقرار کند.
  • ریدایرکت همه ترافیک HTTP به HTTPS: تمامی بخش‌های سایت که هنوز از HTTP استفاده می‌ کنند باید به نسخه HTTPS هدایت شوند تا امنیت کامل برقرار شود.
  • اعمال تنظیمات روی دامنه اصلی و زیر دامنه‌ ها: مطمئن شوید که دو مرحله قبلی هم برای دامنه اصلی و هم برای تمام زیر دامنه‌ ها انجام شده باشد.
  • تنظیم هدر HSTS: هدر Strict-Transport-Security را برای دامنه اصلی اضافه کنید و مقدار max-age را حداقل روی ۳۱۵۳۶۰۰۰ ثانیه (یک سال) تنظیم کنید.
  • ثبت دامنه در HSTS Preload: پس از انجام مراحل بالا، به وب‌ سایت org مراجعه کرده و دامنه خود را وارد کنید. این سایت بررسی می ‌کند که آیا همه تنظیمات به درستی انجام شده‌اند یا خیر و در صورت وجود مشکل، پیام خطا نمایش می ‌دهد.

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

پروتکل HSTS چیست؟

HSTS یک پروتکل امنیتی برای سایت‌ها است که مجوز استفاده از SSL ناامن را نمی‌دهد و باعث می‌شود که سایت شما امنیت بیشتری داشته باشد.

چرا باید HSTS را فعال کنیم؟

با فعال سازی HSTS می‌توانید سرعت و امنیت وبسایت خود را افزایش داده و از سایت خود در برابر انواع حملات جلوگیری کنید.

بیشتر بخوانید: 9 مرحله برای ایجاد و ساخت یک فروشگاه اینترنتی آنلاین در سال 2022

جمع‌بندی

پروتکل HSTS یک پروتکل امنیتی وردپرس است که به منظور جلوگیری از حملات MITM معرفی شد. این پروتکل دسترسی به وب سایت را بدون استفاده از HTTPS ممنوع می کند که این باعث می شود هکرها نتوانند به سایت شما وارد شوند. ما در این مطلب شما را با تعریف HSTS چیست و نحوه فعال سازی HSTS آشنا کردیم. امیدوارم این آموزش مورد رضایت شما عزیزان قرار گرفته باشد.

منبع: host-stage.net

نظراتمقاله

چیزی اینجا نیست!

چیزی اینجا نیست!

خوشحال می شویم همین الان می‌توانید اولین نظر خود را ارسال نمایید!

بیشتر بخوانید ازاین نویسنده