پروتکل HSTS چیست؟ و چه کاربردی دارد؟
در این مطلب قصد داریم در رابطه با اینکه پروتکل HSTS چیست؟ و چه کاربردی دارد؟ توضیحات کاملی بدهیم، در صورت تمایل برای کسب اطلاعات کامل از این موضوع با همراه باشید.
HTTPS چیست؟
قبل از اینکه بگوییم HSTS چیست؟ باید درباره HTTPS توضیحاتی بدهیم؛ در واقع HTTPS یک نسخه امن و نوعی پروتکل است که با استفاده از اتصالات اس اس ال یا TLS فعال میشود، بدون استفاده از سرویس HTTPS داده هایی که بین سرور و مرورگر رد و بدل میشود، امن نخواهد بود. HTTPS یک پروتکل امن انتقال متن است.
پروتکل HSTS چیست؟
HSTS مخفف HTTP Strict Transport Security و این به معنای مکانیزم انتقال اطلاعات با امنیت بالا، در سطح سیاست های وب است، که به حفظ اطلاعات منتقل شده در دنیای وب در برابر حملات شنود و جمع آوری اطلاعات کمک میکند.
نکته: در واقع HSTS به عنوان یک استاندارد امنیت وب در سال ۲۰۱۲ در RFC 6797 تعریف شده است.
چرا نیاز به استفاده از HSTS داریم؟
✅ با فعال کردن HSTS، حملات پروتکل اس اس ال و ربودن کوکی، ۲ مشکلی که در وب سایت های دارای اss ممکن است، اتفاق بیافتد متوقف خواهد شد.
✅ HSTS، علاوه بر این که به ایمن شدن وب سایتتان کمک میکند، باعث بارگذاری سریعتر سایت هم میشود.
✅ در واقع HSTS از بیشتر مرورگرهای اصلی و حرفهای پشتیبانی میکند.
✅ پروتکل HSTS اجازه میدهد تا وب سرورها با استفاده از شناسایی مرورگرها، اجازه تبادل اطلاعات از طریق HTTPS را داشته باشند، بنابراین امکان ارتباط HTTP وجود نخواهد داشت. در این صورت کاربران باید از پروتکل HTTPS استفاده کنند.
✅ حتی مهم ترین حملات مانند: SSL-stripping man-in-the-middle، با استفاده از hsts قابل کنترل خواهد بود.
آیا استفاده از HSTS باعث بهبود عملکرد سئو میشود؟
بله، استفاده از HSTS باعث افزایش و بهبود عملکرد سئو میشود، چون HSTS کمک میکند تا صفحات وب شما با سرعت بیشتری بارگیری شود.
مدت زمان بارگذاری اولیه در بهبود رتبه بندی گوگل، تاثیر گذار است، همچنین سرعت بالا باعث افزایش میزان رضایتمندی بازدید کننده و کاربران وبسایت میشود. به همین دلیل با افزایش استفاده از موبایل، سرعت بارگذاری اولیه صفحات از اهمیت بالایی برخوردار است.
چگونه HSTS را برای وبسایت خود فعال کنیم؟
در صورت فعال کردن پروتکل HSTS، ابتدا باید دارای گواهینامه اس اس ال معتبر باشید. اگر بدون گواهینامه SSL شما HSTS را فعال کنید، بدون شک وبسایتتان از دسترس کاربرانتان خارج خواهد شد. پس قبل از انجام هر کاری اول باید نسبت به داشتن HTTPS برای وبسایت و تمام ساب دامین های آن اطمینان پیدا کنید.
فعال کردن پروتکل HSTS بسیار ساده انجام میشود، کاری که باید انجام دهید، افزودن یک هدر به فایل htaccess سایتتان است. هدری که شما باید به آن اضافه کنید به شرح زیر است:
Strict-Transport-Security: max-age=31536000; includeSubDomains
این هدر یک کوکی با حداکثر تاریخ دسترسی ۱ ساله به وبسایت و ساب دامین های آن اضافه میکند. زمانی که یک مرورگر تصمیم اتصال به سایت را داشته باشد، تا یک سال این امکان را ندارد که از نسخه ناامن HTTP به صورت ناخواسته استفاده کند. شما باید از این موضوع اطمینان حاصل کنید که تمامی ساب دامین ها هم تحت گواهینامه SSL هستند، سپس میتوانید قابلیت HSTS را فعال کنید. لازم به ذکر است که اگر این کار را انجام ندهید، پس از ویرایش و ذخیره فایل htaccess دیگر آنها در دسترس شما نخواهند بود.
در سایت هایی که گزینه includeSubDomains وجود نداشته و یا فعال نشده است، امکان لو رفتن اطلاعات و دسترسی به حریم خصوصی کاربران از طریق دستکاری شدن و سرقت کوکی ها از ساب دامین ها وجود دارد. اما با فعال سازی includeSubDomains حملات مرتبط به کوکی ها هرگز اتفاق نخواهد افتاد.
فعال سازی موقتی HSTS:
به شما توصیه میکنیم، قبل از فعال کردن امکان HSTS برای وبسایت خود، ابتدا این حالت را برای مدت کوتاه چند دقیقهای فعال کنید تا بتوانید کامل تست کنید. برای انجام این کار باید کد پایین، عدد max-age را برابر ۳۰۰ قرار دهید. انجام این کار از اهمیت بالایی برخوردار است، حتی گوگل هم پیشنهاد میکند در ابتدا برای مدت زمان کوتاهی به صورت تستی این کار را انجام دهید تا بتوانید میزان ترافیک و عملکرد وبسایتتان را مورد بررسی قرار دهید. پس از آن میتوانید به صورت طولانی مدت اقدام به فعال کردن پروتکل HSTS نمایید. کدهای زیر به شما برای انجام این کار کمک میکند.
برای پنج دقیقه:
Strict-Transport-Security: max-age=300; includeSubDomains
برای یک هفته:
Strict-Transport-Security: max-age=604800; includeSubDomains
برای یک ماه:
Strict-Transport-Security: max-age=2592000; includeSubDomains
https://blog.7ho.st/hsts-protocol/