به نام خدا
به زودی اضافه خواهد شد...

نوشته شده توسط : f-jafari | در تاریخ ۲۵ فروردین ۱۳۹۹

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

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

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

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

۱Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

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

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

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

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