Hsts چیست | اچ اس تی اس

Hsts چیست؟

Hsts چیست؟ اگر با مفاهیم پایه شبکه ای آشنایی داشته باشید، مسلما نام Hsts زیاد به گوشتان خورده است؛ در خصوص این که Hsts چیست باید به شما بگوییم که Hsts یک سرویس ارتقاء یافته امنیتی برای وب سایت ها به شمار می آید که مجوز به کارگیری از گواهی های نا امن و غیر مجاز SSL را صادر نمی کند.

در این مقاله از قدس وب به شما توضیح می دهیم که Hsts چیست و به چه شکل می توان از آن روی وب سایت ها استفاده نمود، با ما همراه باشید.

آشنایی بیشتر با اچ اس تی اس

Hsts کوتاه شده عبارت Http Strict Transport Security می باشد که یک سرویس با امنیت بسیار بالا بوده و وب سایت ها را به وسیله نپذیرفتن گواهی های SSL نا امن که امنیت وب سایت را به خطر می اندازند ارتقاء می دهد.

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

سرویس HSTS دسترسی به وب سایت را بدون به کارگیری پروتکل ایمن HTTPS فراهم نمی آورد و در این شیوه حتی اگر گواهی SSL وب سایت را نیز بتوان از بین برد، با پروتکل HTTP که نقاط ضعف امنیتی بسیاری هم دارد نمی توان دسترسی پیدا کرد.

در خصوص عملکرد سرویس Hsts برایتان مثالی می زنیم تا بهتر این موضوع را متوجه شوید.

تصور کنید که می خواهید از یک وب سایت دیدن نمایید و وارد آن شوید که از پروتکل Hsts استفاده می کند؛ حال اگر این سایت از Hsts کمک بگیرد، زمانی که شما برای اولین بار به آن مراجعه می کنید وب سرور داده ها و اطلاعات این سرویس را در Header پاسخی که برای Request شما می فرستد قرار می دهد و مرورگر هم به ذخیره این داده ها می پردازد؛ حالا اگر برای بار دوم تمایل داشته باشید وارد این وب سایت گردید و به جای https از http استفاده کنید، مرورگر با همان دیتاهای Header پروتکل Hsts که در خود ذخیره سازی نموده به صورت اتوماتیک وار شما را به صفحه ای با اتصال ایمن https فوروارد و داده هایتان را در امنیت بالا انتقال می دهد و مانند یک سپر محافظ عمل می کند.

در واقع در صورت به کارگیری Hsts برای یک وب سایت حتی اگر خود فرد هم تمایل داشته باشد پیام امنیتی گواهی نامعتبر را باطل و لغو کند، انجام این کار غیر ممکن است و چنین اجازه ای به وی داده نمی شود؛ چرا که سرویس Hsts مانع دسترسی غیر مجاز به کوکی ها نیز می شود؛ به همین منظور همه داده ها و اطلاعات حساس و امنیتی که در کوکی ها ذخیره می گردند با به کارگیری این روش در امنیت کامل خواهند ماند.

چگونه پروتکل Hsts را روی وب سایت نصب کنیم؟

به جهت نصب سرویس Hsts بر روی وب سایت در مرحله اول می بایست که یک گواهی SSL ایمن و معتبر را روی هاست یا سرور سایت نصب نمایید و پس از آن باید چند خط کد به فایل htaccess اضافه کنید.

حالا در صورتی که تمایل دارید به غیر از به کارگیری پروتکل Hsts همه Request هایی که به جهت دسترسی و ورود به سایت بدون www دریافت می شوند را به تیراژه دارای www ریدایرکت نمایید باید که کدهای زیر را در فایل htaccess سرور یا هاست خود اضافه کنید.

RewriteEngine On

# 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 for 365 days including subdomains conditionally if request is over HTTPS only (based on HSTS env var)

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

اگر می خواهید که تنها سرویس Hsts را به کار بگیرید و به درخواست هایی که به آدرس بدون www فرستاده می شوند توجهی نداشته باشید، باید کدهای زیر را استفاده کنید.

RewriteEngine On

# 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 www to non-www (HTTPS only)

RewriteCond %{HTTP_HOST} ^www\.

RewriteRule ^ https://your-domain-name.com%{REQUEST_URI} [R=301,L]

# Set HSTS header for 365 days including subdomains conditionally if request is over HTTPS only (based on HSTS env var)

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

آیا سرویس Hsts کاملا ایمن می باشد؟

همان طور که می دانید، هیچ چیز بدون نقص و ایرادی در دنیا وجود ندارد و پروتکل Hsts هم از این قاعده مستثنی نیست و دارای نقاط ضعفی می باشد و اصلی ترین دلیل این موضوع هم این است که زمانی که برای بار اول وارد وب سایتی می شوید یا به آن متصل می گردید به وسیله سرویس Hsts محافظت نمی شوید و این مسئله بیانگر این بوده که حتی اگر وب سایت هدر Hsts را هم به کانکشن Http اضافه کنید، برای اولین اتصال از این هدر هیچ استفاده ای نمی شود.

پس دو نکته درباره این مسئله وجود دارد که نکته اول این است که هدر Hsts قادر نیست محافظ شما باشد؛ مگر این که به واسطه سرویس https تحویل داده شود و دومین نکته هم مربوط به بخش max_age در کدی است که به وب سرور خود اضافه کرده اید.

هر بار که مرورگر Header وب سایت را می خواند max_age را هم به روزرسانی می کند و این روند تا دو سال ادامه دارد؛ به همین علت اگر در این بخش بیشترین میزان را قرار دهید و این دو بازدید شما از سایت نیز بیشتر از دو سال نگذرد خیالتان در این زمینه راحت باشد.

حالا اگر بیشتر از این مقدار زمانی که در بخش max_age  جای گذاری کرده اید از وب سایت دیدن ننمایید، مرورگر با سایت مانند سایتی تازه رفتار دارد و سرویس Hsts در بازدید اول بعد از دو سال فعالیت نخواهد کرد.

سخن پایان

در این مقاله دانستید که Hsts چیست و چه کاربردی دارد و ما هم تلاش کردیم که اطلاعات جامعی را در این باره در اختیارتان قرار دهیم.

اگر بخواهیم به یک جمع بندی از این مطلب برسیم، باید بگوییم که سرویس Hsts یک سیستم ایمنی می باشد که برای آن دسته از افرادی که امنیت کاربران وب سایتشان برایشان مهم است بسیار حائز اهمیت می باشد و این پروتکل اجازه ورود به وب سایت را بدون این که یک گواهی ایمنی SSL  روی آن نصب شده باشد را نمی دهد.

اگر شما روی سایت خود یک گواهی SSL غیرمجاز یا نامعتبر استفاده کرده باشید و نفوذگران هم توانسته باشند این گواهی را از بین ببرند، سرویس Hsts امکان دسترسی و ورود به وب سایت را حتی با رد پیام های خطای امنیتی مرورگر نیز به مخاطبان نمی دهد.

امیدواریم که خواندن این مقاله برایتان مفید واقع شده باشد؛ در صورت کسب اطلاعات بیشتر می توانید با شماره گیری شماره تلفن های موجود در صفحه با کارشناسان قدس وب جهت مشاوره ارتباط برقرار کنید.

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
0
افکار شما را دوست داریم، لطفا نظر دهید.x