HSTS (HTTP Strict Transport Security) یکی از سیاست های امنیتی وب است که با استفاده از تنظیمات HSTS مرورگر های وب را مجبور می کند تا با وب سایت ها فقط از طریق اتصال ایمن HTTPS و نه (HTTP) تعامل داشته باشند. در عوض، به جلوگیری از حملاتی مثل ربودن کوکی یا حملات کاهش رتبه کمک می کند. همچنین، از سرقت اطلاعات ورود به سیستم مبتنی بر کوکی توسط ابزار های رایج مثل Firesheep جلوگیری کنید.
در ابتدا HSTS ، به عنوان پاسخی به نقطه ضعف معرفی شده توسط Moxie Marlinspike ایجاد شد که در بحث فدرال BlackHat در سال ۲۰۰۹ با عنوان “ترفند های جدید برای خنثی کردن SSL به صورت عملی عمل ” مورد بحث قرار گرفت. در این نقطه ضعف، که HSTS به دفاع از آن کمک می کند، همان ضعفی است که توسط ابزار SSLStrip Marlinspike نشان داده شده است.
اساسا ابزار ذکر شده SSLStripبه اتصالات HTTPS امن حمله کرده و آن را به HTTP نا امن تبدیل می کند. بنابراین، سیاست HSTS پیاده سازی می شود که با برقراری ارتباط با مرورگر های وبی که فقط اتصالات HTTPS باید بر روی آن قرار بگیرند، از این حمله جلوگیری می کند.
عمدتا ایجاد HSTS به دلیل توانایی آن در تقویت اقدامات امنیتی آنلاین و کاهش خطر خراب شدن داده ها یا وب سایت شما، در بین توسعه دهندگان و کاربران عادی به خوبی پذیرفته شده است.
با این حال، پیاده سازی HSTS می تواند با نمایش خطا های HSTS در مرورگر ها، گاه به گاه باعث ایجاد مشکلاتی شود. به طور مثال گوگل کروم می تواند این خطا را نمایش بدهد:
“Privacy error: Your connection is not private” (NET::ERR_CERT_AUTHORITY یعنی “خطای حریم خصوصی: اتصال شما خصوصی نیست.”
اگر سعی می کنید که از مرورگر دیگری به همان وب سایت دسترسی پیدا کنید و آن وب سایت بدون هیچ خطایی باز شود، در این صورت تنظیمات HSTS بر مرورگر وب شما تأثیر می گذارد.
در چنین شرایطی، شما باید آن ها را پاک کنید. این مشکل را می توان با پاک کردن موثر تنظیمات HSTS در اکثر مرورگر های وب به راحتی حل کرد.
چه چیزی باعث خطای HSTS در مرورگر های پرطرفدار می شود؟
برخلاف سایر خطا های HTTPS، خطا های HSTS چیزی نیستند که بتوان آن را دور زد. به علاوه، اگر وب سایت هدر HSTS را ارائه می کند، احتمالا مرورگر شما هر زمان که بخواهید از آن بازدید کنید، آن را ذخیره می کند. برخی از دلایل رایج رخ دادن خطای HSTS در مرورگر های شما عبارتند از :
- اگر مرورگر شما تنظیمات HSTS را برای هر دامنه ای ذخیره کرده باشد و بعدا سعی کنید آن وب سایت را از طریق HTTP یا از طریق اتصال HTTP خراب؛ مثلا به خاطر گواهی منقضی شده و نام هاست ناهماهنگ وصل کنید، ممکن است با این خطا رو به رو شوید .
- اگر یک توسعه دهنده هستید، ممکن است این خطای HSTS را هنگام آزمایش پیکربندی HSTS دریافت کنید.
- اگر بازدید کننده وب سایت هستید و این خطا را دریافت می کنید، بیشتر به دلیل استقرار HSTS در سایتی است که از آن بازدید می کنید. بنابراین، به عنوان یک کاربر، توصیه می شود تا تنظیمات HSTS محلی وب سایت را حذف کنید یا منتظر بمانید تا منقضی شود، که احتمالا بر اساس ” حداکثر سن ” تنظیم شده روی آن باشد.
همچنین، خطا های HSTS هیچ خطای منحصر به فردی برای هیچ یک از مرورگر ها ندارند. اما صفحات خطا شامل اطلاعات HSTS هستند.
مراحل پاک کردن تنظیمات HSTS در گوگل کروم
هر زمان که خطای تنظیمات HSTS در کروم رخ دهد، به احتمال زیاد با پیام خطایی مثل “اتصال شما خصوصی نیست” مواجه خواهید شد. علاوه بر این، با جستجو در منوی Advanced این خطا، پیامی را خواهید دید که به صراحت به تنظیمات HSTS اشاره می کند. حتما مراحل زیر را به ترتیب طی کنید و کش HSTS را از مرورگر کروم تان حذف کنید.
- مرورگر کروم تان را باز کنید.
- در نوار آدرس جستجو کنید: chrome://net-internals/#hsts
- قسمت Query HSTS/PKP دامنه را جستجو کنید و نام وب سایت (دامنه) آن موردی که می خواهید تنظیمات HSTS برای آن حذف شود را وارد کنید.
- در این فیلد، نام دامنه را در قسمت حذف سیاست های امنیتی دامنه وارد کنید و دکمه Delete را فشار بدهید.
مراحل پاک کردن تنظیمات HSTS در موزیلا فایرفاکس
روش های مختلفی برای غیرفعال کردن یا پاک کردن HSTS در مرورگر فایرفاکس وجود دارد. بنابراین، اگر یکی جواب نداد، می توانید دیگری را بررسی کنید. برخی از روش های ساده آن به شرح زیر است :
روش ۱: پاک کردن تنظیمات HSTS با فراموش کردن وب سایت
- پنجره های باز را ببندید و History موزیلا فایرفاکس تان را با گرفتن دکمه های Ctrl+Shift+H (در مک Cmd + Shift + H) را باز کنید.
- حالا به سایتی بروید که می خواهید تنظیمات HSTS را برای آن پاک کنید.
- بر روی سایت کلیک راست کرده و بر روی گزینه Forget About This Site کلیک کنید.
توجه: با این کار تمام داده های وب سایت فعلی در فایرفاکس پاک می شود.
- حالا مرورگر را مجددا راه اندازی کنید، خطا باید برطرف شده باشد.
روش ۲ : پاک کردن تنظیمات HSTS با پاک کردن تنظیمات Preferences سایت
- در فایرفاکس، روی نماد کتابخانه کلیک کنید و به قسمتِ History >Clear Recent History بروید.
پنجره Clear All History ظاهر می شود، در آن محدوده زمانی برای پاک کردن منوی کشویی را روی Everything تنظیم کنید و تیک همه گزینه ها را بردارید و فقط Site preferences را انتخاب کرده و سپس روی دکمه Clear Now کلیک کنید.
- حالا اگر مرورگر را دوباره باز کنید، مشکل باید برطرف شده باشد.
روش ۳ : پاک کردن تنظیمات HSTS با ویرایش نمایه کاربر
- مرورگر فایرفاکس تان را به طور کامل ببندید، از جمله آیکون های Tray مرتبط و پاپ آپ ها.
- حالا به نمایه کاربری فایرفاکس بروید . مکان های احتمالی که می توانید پروفایل ها را پیدا کنید، به این صورت اند:
برای کاربران مایکروسافت ویندوز:
C:\ Users*\ AppData \ Local \ Mozilla \ Firefox \ Profiles
C:\ Users* \ AppData \ Roaming \ Mozilla \ Firefox \ Profiles
برای کاربران مک:
/ Users / * /Library / Application Support / Firefox / Profiles
یا
- در نوار آدرس فایرفاکس about:support را در بالا تایپ کنید و دکمه Enter را بزنید.
- صفحه Application Basics باز می شود، در آن جا به بخش Profile Folder بروید و روی گزینه Open Folder کلیک کنید. بعد از باز کردن آن، مرورگر فایرفاکس را ببندید.
- هنگامی که پوشه نمایه موزیلا فایرفاکس را باز کردید ، SeiteSecurityServiceState.txt را جستجو کرده و در برنامه ویرایشگر متن مثل Notepad بازش کنید. این فایل حاوی تنظیمات HSTS و HPKP ( پین کردن کلید ) برای دامنه هایی است که پیش از این بازدید کرده اید.
- نمونه ای از لیست HSTS:
connect.facebook.net:HSTS 0 18257 1608961528860,1,1,2
- حالا اطلاعات HSTS وب سایت مورد نظرتان را پاک کنید .
- بعد از حذف ورودی، فایل را ذخیره و ببندید و مرورگر فایرفاکس تان را مجددا راه اندازی کنید.
توجه:
- مراقب باشید که فقط اطلاعات وب سایت مورد نظرتان را پاک کنید.
- گزینه دیگر تغییر نام فرمت فایل از txt به .bak است. بنابراین ، شما یک نسخه بک آپ از فایل موجود خواهید داشت و فایرفاکس هم یک فایل جدید از اول ایجاد می کند که به حذف تنظیمات HSTS که قبلا ذخیره شده اند، کمک می کند.
روش ۴: پاک کردن تنظیمات HSTS از مرورگر
- فایرفاکس را باز کنید و در نوار آدرس about:config.را تایپ کنید . حالا باید روی این دکمه کلیک کنید:
I accepted the risk!
و وارد منوی تنظیمات پیشرفته شوید.
- حالا hsts را از نوارِ جستجو ، جستجو کنید.
- security.mixed_content.use_hstsc را انتخاب کرده و روی آن دو بار کلیک کنید تا تنظیمات تغییر کنند و آن را غیر فعال کنید
مراحل پاک کردن تنظیمات HSTS در Microsoft Internet Explorer
- در کامپیوتر شخصی تان، به کادر Run بروید و عبارتِ “regedit” را تایپ کنید تا ویرایشگر رجیستری باز شود.
- بعد از باز شدن، زیر کلید رجیستری زیر را پیدا کنید:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\
- از منو به قسمت Edit و بعد به New بروید و Key را انتخاب کنید.
- حالا FEATURE_DISABLE_HSTS را تایپ کنید و Enter را بزنید.
registry-editor-new-key-option
- حالا، روی FEATURE_DISABLE_HSTS کلیک کنید.
- مجددا از منوی Edit ، گزینه New کلیک و DWORD Value را انتخاب کرده و رویش کلیک کنید.
- حالا iexplore.exe را تایپ کنید.
- از قسمت منو ، روی Edit کلیک و گزینه Modify را انتخاب کنید. در قسمتِ کادر باز شده Value data عدد ۱ را تایپ و دکمه Ok را کلیک کنید تا تغییر ذخیره شود.
- زیرکلید رجیستری زیر را پیدا کنید:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\
- دوباره از منوی Edit گزینه New را انتخاب کنید و دکمه Key را بزنید.
- حالا FEATURE_DISABLE_HSTS را تایپ کنید و Enter را بزنید .
- روی FEATURE_DISABLE_HSTS کلیک کنید.
- از منوی Edit به قسمتِ New بروید و روی مقدار DWORD کلیک کرده و iexplorer.exe را تایپ کنید.
- حالا از منوی Edit روی Modify کلیک کنید.
- حالا در کادر Value data عدد ۱ را تایپ و روی Ok کلیک کنید .
- در نهایت، ویرایشگر رجیستری یا Registery Editor را ببندید.
توجه : برای iexplore.exe مقادیر زیرکلید ۰ و ۱ است که یعنی مقدار ۰ ویژگی را فعال می کند و ۱ ویژگی را غیرفعال می کند.
کلام آخر
همان طور که دیدید، HSTS به افزایش امنیت وب سایت شما کمک می کند. بنابراین، اگر در حال توسعه وب سایت تان هستید، توصیه می شود که از HSTS استفاده کنید. البته قبل از انجام این کار، حتما در نظر داشته باشید که نصب یک گواهینامه SSL / TLS معتبر به همان اندازه مهم است که نباید نادیده بگیرید. بنابراین، اول یک گواهی SSL / TLS را نصب کرده و سپس تنظیمات HSTS را فعال کنید.