پروتکل HSTS چیست؟ اگر با مفاهیم پایهای شبکه آشنا باشید، بیشک نام پروتکل HSTS را زیاد شنیدهاید. برای بررسی دقیقتر این پروتکل، الزامی است نیمنگاهی به پروتکل HTTPS بیندازیم. در مقالات قبلی که درباره ” وب سرورها” توضیح دادیم، درباره پروتکل HTTPS نیز به طور کامل بحث کردیم. این پروتکل با استفاده از اتصالات SSL یا TLS فعال شده و برای انتقال اطلاعات در بستر وب مورد استفاده قرار گرفته میشود. قبل از این پروتکل، از پروتکل HTTP استفاده میشد که اطلاعات را از سرور گرفته و در دسترس مرورگر قرار میداد. ضعفهایی که این پروتکل داشت باعث شد تا از پروتکل HTTPS که یک پروتکل رمزنگاری شده و امن است، استفاده شود.
HSTS مخفف عبارت HTTP Strict Transport Security به معنای مکانیزم انتقال اطلاعات با امنیت بالا در سطح سیاستهای وب است. فعالسازی پروتکل HSTS باعث توقف حملههای پروتکل SSL و همچنین هایجک کردن کوکیها میشود. از دیگر مزیتهای پروتکل HSTS میتوان به افزایش سرعت سایت اشاره کرد؛ این پروتکل علاوه بر افزایش امنیت وبسایت، بر روی سرعت بارگذاری سایت مدنظر نیز تأثیر بسیار دارد.
چگونه HSTS را برای یک وبسایت فعال کنیم؟؟؟
همانطور که اشاره کردیم، پروتکل HSTS باعث افزایش امنیت وبسایت میشود. فعالسازی این پروتکل مرورگر را مجبور میکند که نسخهای امن یک وبسایت را بارگذاری کند. اما آنچه که برای فعالسازی این پروتکل مهم است، گواهینامه SSL است. برای فعالسازی HSTS باید گواهینامه SSL معتبر داشته باشید. در غیر این صورت با فعالکردن پروتکل HSTS، وبسایت شما بدون شک از دسترس کاربران خارج خواهد داشت.
فعالکردن این پروتکل بسیار ساده است، تنها کافی است یک هدر به فایل htaccess سایتتان اضافه کنید. هدری که به فایل گفته شده اضافه میکنید باید بهصورت زیر باشد:
Strict-Transport-Security: max-age=31536000; includeSubDomains
هدر وارد شده یک کوکی با حداکثر تاریخ دسترسی یکساله برای وبسایت و دامین آن فعال میکند. زمانی که مرورگر کاربران تصمیم به اتصال به سایت شما را داشته باشد، تا یک سال این امکان را ندارد که از پروتکلهای ناامن HTTP استفاده کند. مدنظر داشته باشید که برای امنیت بیشتز، باید اطمینان حاصل کنید که تمامی ساب دامین ها نیز تحت گواهینامه SSL هستند. در نتیجه میتوانید قابلیت HSTS را فعال کنید.
لازم به ذکر است که در سایتهایی که گزینه includeSubDomains فعال نشده باشد، امکان لورفتن اطلاعات کاربران و سرقت کوکیها بسیار بالا است. برای جلوگیری از این اتفاق، بهتر است گزینه includeSubDomains فعال باشد.
فعالسازی پروتکل HSTS برای مدت زمانی کوتاه
از پروتکل HSTS میتوانید بهصورت موقتی نیز استفاده کنید. در این زمینه حتی گوگل نیز پیشنهاد میکند که در ابتدا این پروتکل را بهصورت موقتی فعال کرده و بعد از بررسی میزان ترافیک و عملکرد سایت، در صورت تأیید اقدام به فعالسازی دائمی آن کنید. برای فعالکردن HSTS به طور موقت، در کد پایین، عدد max-age را برابر با ۳۰۰ قرار دهید. اما برای راحتتر کردن کار شما، کدهایی را آماده کردهایم که میتوانید با استفاده از آنها پروتکل HSTS را به طور موقت فعال کنید.
فعالسازی HSTS برای ۱۰دقیقه:
Strict-Transport-Security: max-age=600; includeSubDomains
فعالسازی HSTS برای یک هفته:
Strict-Transport-Security: max-age=604800; includeSubDomains
فعالسازی HSTS برای یک ماه:
Strict-Transport-Security: max-age=2592000; includeSubDomains
جمعبندی
در این مقاله تلاش کردیم پاسخی دقیقی را برای سؤال پروتکل HSTS چیست ارائه دهیم. همانطور که مطالعه کردید، پروتکل HSTS مخفف HTTP Strict Transport Security به معنای مکانیزم انتقال اطلاعات با امنیت بالا در سطح سیاستهای وب است. فعالسازی این پروتکل باعث افزایش امنیت وبسایت میشود. برای فعالسازی بهتر، کدهایی را در این مقاله در دسترس شما قرار دادیم که میتوانید با استفاده از آنها، پروتکل HSTS را بهصورت دائم و موقت بر روی وبسایت خود فعال کنید.
روی همه وب سرور ها کد ها کار میدن؟
خیر احتمال اینکه روی وبسرورهای مختلف کانفیگهای متفاوت نیاز باشه هست