آموزشامنیت

HSTS چیست؟ به همراه آموزش فعالسازی HSTS

قبل از اینکه بخواهیم در رابطه با موضوع HSTS توضیح دهیم و هب شما توضیح دهیم که HSTS چیست؟ باید در رابطه با آن توضیح دهیم، نیاز است که بدانید اول HTTPS چیست؟

HTTPS چیست؟

پروتکل HTTPS یک نسخه امن از یک وب سایت HTTP است. این رمزگذاری با استفاده از پروتکل Secure Sockets Layer (SSL) فعال می شود، بدون HTTPS داده‌هایی که بین سرور و مرورگر رد و بدل می‌شوند، ناامن خواهند بود.

این رمزگذاری به شما کمک می کند تا از داده ها در مقابل سرقت اطلاعات از طریق روش Man-in-the-Middle-Attack (MITM) محافظت کنید. لایه امنیتی اضافه شده نیز به بهبود وضعیت وب سایت شما در موتورهای جستجو هم کمک می کند. گفته می شود ، HTTPS هنوز نقص هایی دارد که HSTS می تواند به رفع آن کمک کند.

HSTS چیست؟

HSTS یک هدر واکنشی است که به یک مرورگر اطلاع می دهد که وب سایت های فعال شده فقط از طریق HTTPS قابل دسترسی هستند. این  امر مرورگر شما را مجبور می کند تا فقط به نسخه HTTPS وب سایت و منابع موجود در آن دسترسی داشته باشد. توجه داشته باشید که ممکن است با اینکه شما ssl را برای سایت فعال نموده باشید و ریدایرکت ۳۰۱ به https را نیز تنظیم نموده باشید باز هم سایت همچنان با نسخه http دردسترس باشد.

با فعال کردن HSTS ، حملات پروتکل SSL و ربودن کوکی ، دو آسیب پذیری که در وب سایت های دارای SSL ممکن است رخ دهد، متوقف می شود. علاوه بر ایمن تر کردن وب سایت ، HSTS باعث بارگذاری سریعتر سایت نیز می شود.

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

به طور معمول ، هنگامی که یک URL را در مرورگر وب وارد می کنید ، قسمت پروتکل را رد می کنید. به عنوان مثال ، شما www.iranserver.com  را تایپ می کنید ، نه http://www.iranserver.com. در چنین حالتی ، مرورگر فرض می کند که شما می خواهید از پروتکل HTTP استفاده کنید ، بنابراین یک درخواست HTTP را به www.iranserver.com ارسال می کند.

در این مرحله ، وب سرور با یک تغییر مسیر (کد پاسخ ۳۰۱) که به سایت HTTPS اشاره می کند پاسخ می دهد. مرورگر اتصال HTTPS به www.iranserver.com ایجاد می کند. این زمانی است که حفاظت از خط مشی امنیتی HSTS با استفاده از یک هدر پاسخ HTTP شروع می شود:

هدر Strict-Transport-Security دستورالعمل های خاصی به مرورگر می دهد. از زمان اضافه کردن این کدها ، هر اتصال به سایت و زیر دامنه های آن برای یک سال آینده (۳۱۵۳۶۰۰۰ ثانیه) از لحظه دریافت این هدر باید یک اتصال HTTPS باشد. اتصالات HTTP به هیچ وجه مجاز نیست. اگر مرورگر درخواست بارگیری یک منبع را با استفاده از HTTP دریافت کند ، باید به جای آن درخواست HTTPS را امتحان کند. اگر HTTPS در دسترس نباشد ، اتصال باید خاتمه یابد.

علاوه بر این ، اگر گواهی معتبر نباشد ، از ایجاد ارتباط جلوگیری می شود. معمولاً اگر گواهی معتبر نباشد (منقضی شده ، self-signed باشد ، توسط یک CA ناشناخته امضا شده باشد و غیره) مرورگر هشداری را نشان می دهد که می توانید دور بزنید. اما اگر سایت دارای HSTS باشد ، مرورگر به هیچ وجه به شما اجازه نمی دهد هشدار را دور بزنید. برای دسترسی به سایت ، باید سایت را از لیست HSTS در داخل مرورگر حذف کنید.

هدر Strict-Transport-Security برای وب سایت مشخصی ارسال می شود و نام دامنه خاصی را در بر می گیرد. بنابراین ، اگر هدر HSTS برای www.iranserver.com را دارید ، این هدر فقط زیر دامنه www. را پوشش میدهد و آدرس iranserver.com  را پوشش نمی دهد. به همین دلیل ، برای محافظت کامل، وب سایت شما باید دامنه پایه (در این مورد ، iranserver.com) را در بر بگیرد و یک هدر Strict-Transport-Security برای آن دامنه با includeSubDomains دریافت کند.

 

بهبود SEO و افزایش سرعت سایت با استفاده از HSTS

علاوه بر افزودن یک لایه امنیتی بیشتر به سایت شما ، استفاده از HSTS ممکن است باعث افزایش SEO شود زیرا استفاده از HSTS باعث می شود صفحات وب شما حتی سریعتر بارگیری شود.

زمان بارگذاری اولیه در رتبه بندی جستجو  و هم از لحاظ افزایش رضایت بازدید کننده سایت شما بسیار موثر است . با افزایش استفاده از موبایل و ابتکار عمل گوگل سرعت بارگذاری اولیه صفحه از اهمیت بیشتری نیز برخوردار شد.

آیا HSTS کاملاً ایمن است؟

متأسفانه ، اولین باری که به وب سایت دسترسی پیدا می کنید ، با HSTS محافظت نمی شوید. اگر وب سایت یک هدر HSTS به اتصال HTTP اضافه کند ، آن هدر نادیده گرفته می شود. این امر به این دلیل است که یک مهاجم می تواند در حین حمله man-in-the-middle ، می تواند هدرها را حذف یا اضافه کند. به هدر HSTS قابل اعتماد نیست مگر اینکه از طریق HTTPS تحویل داده شود.

همچنین باید بدانید که هر بار مرورگر شما سرصفحه را بازخوانی می کند حداکثر سن HSTS ریست می شود و همچنین حداکثر مقدار آن دو سال است. این بدان معنی است که تا زمانی که بیش از دو سال از بازدیدهای شما نگذرد ، محافظت از آن دائمی است. اگر به مدت دو سال به وب سایت مراجعه نکنید ، با آن به عنوان یک سایت جدید برخورد می شود. در عین حال ، اگر شما از هدر HSTS با max-age  برابر با ۰ استفاده کنید ، مرورگر در کانکشن  بعدی  سایت شما را به عنوان مورد جدید در نظر خواهد گرفت (که این کار می تواند برای آزمایش مفید باشد)

می توانید از یک روش محافظت اضافی به نام لیست پیش بارگذاری HSTS استفاده کنید. پروژه Chromium لیستی از وب سایت هایی که از HSTS استفاده می کنند را نگه می دارد و این لیست با مرورگرهای دیگر به اشتراک گذاشته می شود. اگر شما وب سایت خود را به لیست preload اضافه کنید ، ابتدا مرورگر لیست داخلی را بررسی می کند و بنابراین وب سایت شما  هرگز توسط HTTP در دسترس نخواهد بود ( حتی در اولین تلاش برای اتصال به HTTP ) این روش جزئی از استاندارد HSTS نیست ، اما توسط همه مرورگرهای اصلی (Chrome ، Firefox ، Safari ، Opera، IE11 و Edge) استفاده می شود.

تنها روشی که در حال حاضر شناخته شده است که می تواند برای دور زدن HSTS مورد استفاده قرار گیرد ، حمله NTP-based attack است  که تحت شرایطی، فقط یک بار می توان سایت را با http بارگذاری نمود.

 

آموزش فعال نمودن HSTS در دایرکت ادمین

چگونه دامنه ای را به لیست Preload HSTS اضافه کنیم؟

برای افزودن دامنه به لیست پیش بارگذاری HSTS ، سایتهای مربوط به آن دامنه باید چند پیش نیاز داشته باشیم. کارهایی که باید برای افزودن دامنه خود به لیست پیش بارگذاری hsts انجام دهید به شرح زیر می باشد:

  • مطمئن شوید که سایت شما دارای گواهینامه معتبر می باشد.
  • اگر سایت های شما از طریق HTTP در دسترس هستند ، کلیه درخواست ها را به HTTPS هدایت کنید.
  • اطمینان حاصل کنید که نقاط ۱ و ۲ فوق در مورد همه دامنه ها و زیر دامنه های شما (طبق سوابق DNS شما) اعمال شده باشد.
  • هدر Strict-Transport-Security را روی HTTPS برای دامنه اصلی خود و با max-age حداقل ۳۱۵۳۶۰۰۰ (۱ سال) ، بخشنامه includeSubDomains و بخشنامه preload اضافه نمایید.
  • به سایت org بروید و دامنه خود را با استفاده از فرم موجود ارسال کنید. در صورت رعایت شرایط ، دامنه شما برای افزوده شدن به preload وارد صف می شود.

برای این مورد باید مقادیر زیر را به هدر اضافه نماییم:

در صورتیکه دایرکت ادمین داشته باشید باید مقدار زیر را در بخش اول custom httpd در دایرکت ادمین قرار می دهیم:

درصورتیکه از کنترل پنل Cpanel استفاده می کنید جهت فعالسازی HSTS مقدار زیر را در فایل .htaccess سایت اضافه نمایید:

 

بررسی فعال بودن HSTS

از طریق سایت hstspreload می توانید تست کنید hsts در سایت فعال است یا خیر.

 

در پایان توجه داشته باشید با استفاده از فعال نمودن HSTS هر وب سایت می تواند نه تنها از منظر سئو بلکه از دید مشتری نیز از یک لایه امنیتی اضافی بهره ببرد. اگر یک سایت تجارت الکترونیکی یا سایت معاملاتی دارید ، HSTS ضروری می باشد.
به این فکر کنید که امنیت اضافه شده و افزایش سرعت بارگذاری  برابر است با سئو و در نهایت تجربه بهتر کاربری.

برگرفته از [makeuseof.com]

3+

نوشته های مشابه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن