معرفی HSTS

معرفی HSTS
HSTS مخفف HTTP Strict Transport Security است. این روشی است که توسط وب سایت ها استفاده می شود تا اعلام کنند که فقط باید با استفاده از یک اتصال ایمن (HTTPS) به آنها دسترسی داشت. اگر یک وب سایت یک خط مشی HSTS را اعلام کند، مرورگر باید تمام اتصالات HTTP را رد کند و از پذیرش گواهینامه های ناامن SSL توسط کاربران جلوگیری کند. HSTS به عنوان یک استاندارد امنیتی وب در سال 2012 در RFC 6797 تعریف شد. هدف اصلی از ایجاد این استاندارد کمک به جلوگیری از حملات انسان در وسط (MITM) بود که از حذف SSL استفاده میکردند. حذف SSL تکنیکی است که در آن مهاجم مرورگر را مجبور میکند تا با استفاده از HTTP به یک سایت متصل شود تا بتواند بستهها را بشنود و اطلاعات حساس را رهگیری یا تغییر دهد. HSTS همچنین روش خوبی برای محافظت از خود در برابر ربودن کوکی ها است.
به طور معمول، زمانی که URL را در مرورگر وب وارد می کنید، از قسمت پروتکل صرفنظر می کنید. مثلاً www.google.com را تایپ می کنید نه http://www.google.com در چنین حالتی، مرورگر فرض میکند که شما میخواهید از پروتکل HTTP استفاده کنید، بنابراین درخواست HTTP را به www.google.com میدهد. در این مرحله، وب سرور با یک تغییر مسیر (کد پاسخ 301) که به سایت HTTPS اشاره می کند، پاسخ می دهد. مرورگر یک اتصال HTTPS به www.google.com برقرار می کند. این زمانی است که حفاظت از خط مشی امنیتی HSTS با استفاده از هدر پاسخ HTTP شروع می شود.
هدر Strict-Transport-Security دستورالعمل های خاصی را به مرورگر می دهد. از این پس هر اتصال به سایت و زیر دامنه های آن برای سال آینده از لحظه دریافت این هدر باید یک اتصال HTTPS باشد. اتصال HTTP به هیچ وجه مجاز نیست. اگر مرورگر درخواستی برای بارگیری یک منبع با استفاده از HTTP دریافت کرد، در عوض باید یک درخواست HTTPS را امتحان کند. اگر HTTPS در دسترس نباشد، اتصال باید قطع شود.
علاوه بر این اگر گواهی معتبر نباشد، از برقراری ارتباط جلوگیری میکنید. معمولاً، اگر گواهی معتبر نباشد مرورگر هشداری را نشان می دهد که می توانید آن را دور بزنید. با این حال، اگر سایت دارای HSTS باشد، مرورگر به هیچ وجه به شما اجازه نمی دهد که هشدار را دور بزنید. برای دسترسی به سایت، باید سایت را از لیست HSTS در مرورگر حذف کنید.
هدر Strict-Transport-Security برای یک وب سایت خاص ارسال می شود و یک نام دامنه خاص را پوشش می دهد. بنابراین، اگر هدر HSTS برای www.google.com داشته باشید، google.com را پوشش نمی دهد، بلکه فقط زیر دامنه www. به همین دلیل است که برای محافظت کامل، وب سایت شما باید یک تماس با دامنه پایه داشته باشد و یک هدر Strict-Transport-Security برای آن دامنه با دستورالعمل include Subdomains دریافت کند.
آیا HSTS کاملاً ایمن است؟
متأسفانه، اولین باری که به وب سایت دسترسی پیدا می کنید، توسط HSTS محافظت نمی شوید. اگر وب سایت یک هدر HSTS به اتصال HTTP اضافه کند، آن هدر نادیده گرفته می شود. این به این دلیل است که یک مهاجم می تواند در طول حمله Man-in-the-Middle، هدرها را حذف یا اضافه کند. هدر HSTS قابل اعتماد نیست مگر اینکه از طریق HTTPS تحویل داده شود.همچنین باید بدانید که HSTS max-age هر بار که مرورگر شما سرصفحه را میخواند به روز میشود و حداکثر مقدار آن دو سال است. این بدان معنی است که تا زمانی که بین بازدیدهای شما بیش از دو سال نگذرد، محافظت دائمی است. اگر به مدت دو سال از یک وب سایت بازدید نکنید، به عنوان یک سایت جدید در نظر گرفته می شود. در همان زمان، اگر هدر HSTS را با حداکثر سن 0 ارائه کنید، مرورگر در تلاش برای اتصال بعدی، سایت را به عنوان سایت جدید در نظر می گیرد که می تواند برای آزمایش مفید باشد.
می توانید از یک روش حفاظتی اضافی به نام لیست پیش بارگذاری HSTS استفاده کنید. پروژه Chromium فهرستی از وبسایتهایی را که از HSTS استفاده میکنند نگهداری میکند و فهرست با مرورگرها توزیع میشود. اگر وب سایت خود را به لیست پیش بارگذاری اضافه کنید، مرورگر ابتدا فهرست داخلی را بررسی می کند و بنابراین هرگز از طریق HTTP به وب سایت شما دسترسی نمی یابد، حتی در اولین تلاش برای اتصال. این روش بخشی از استاندارد HSTS نیست اما توسط همه مرورگرهای اصلی Chrome، Firefox، Safari، Opera، IE11 و Edge از آن استفاده می شود.تنها روش شناخته شده در حال حاضر که می تواند برای دور زدن HSTS استفاده شود، حمله مبتنی بر NTP است. اگر رایانه سرویس گیرنده مستعد حمله NTP باشد، می توان فریب داد تا خط مشی HSTS منقضی شود و یک بار با HTTP به سایت دسترسی پیدا کند.
چگونه یک دامنه را از کش HSTS در یک مرورگر حذف کنیم:
هنگامی که HSTS را راه اندازی می کنید و آن را آزمایش می کنید، ممکن است لازم باشد کش HSTS را در مرورگر پاک کنید. اگر HSTS را اشتباه تنظیم کنید، ممکن است خطاهایی دریافت کنید که شما را از سایت قفل می کند مگر اینکه داده ها را پاک کنید. در اینجا روش هایی برای چندین مرورگر محبوب وجود دارد. همچنین توجه داشته باشید که اگر دامنه شما در لیست پیشبارگذاری HSTS باشد، پاک کردن کش HSTS بیاثر خواهد بود و راهی برای اجبار کردن اتصال HTTP وجود ندارد.
حذف از گوگل کروم
برای حذف یک دامنه از کش کروم HSTS، این دستورالعمل ها را دنبال کنید:
- 1. به chrome://net-internals/#hsts بروید.
- در قسمت Delete domain security policys، دامنه مورد نظر برای حذف را در کادر متن وارد کنید.
- روی دکمه Delete کنار کادر متن کلیک کنید.
حذف از موزیلا فایرفاکس
روش های مختلفی برای حذف اطلاعات HSTS از فایرفاکس برای یک دامنه خاص وجود دارد. همه آنها در یک مقاله اختصاصی به تفصیل شرح داده شده اند. زیر ساده ترین و سریع ترین مورد است، اما بیشتر از اطلاعات HSTS را از حافظه پنهان حذف می کند.
- تمام برگه های باز سایت خود را ببندید.
- پنجره تاریخچه فایرفاکس را باز کنید (کتابخانه > تاریخچه > نمایش تمام تاریخچه)
- دامنه را با استفاده از نوار جستجو جستجو کنید.
- روی دامنه کلیک راست کرده و گزینه Forget About This Site را انتخاب کنید.
- فایرفاکس را مجددا راه اندازی کنید.
حذف از Apple Safari
حذف اطلاعات HSTS از سافاری بسیار آسان است:
- Safari را ببندید.
- فایل زیر را از فهرست اصلی خود حذف کنید: ~/Library/Cookies/HSTS.plist
- سافاری را باز کنید.
حذف از Microsoft Internet Explorer و Microsoft Edge
شما نمی توانید یک دامنه را از کش HSTS برای مرورگرهای مایکروسافت حذف کنید. شما فقط می توانید HSTS را به طور موقت در اینترنت اکسپلورر 11 و فقط در ویندوز 7 یا ویندوز 8.1 نه در ویندوز 10 خاموش کنید. دستورالعمل های کامل در مقاله مربوط به پشتیبانی مایکروسافت موجود است.
پاور سئو مقالات کاربردی و مفید در خصوص وردپرس و سئو ارائه می دهد که به صورت رایگان از آموزش ها می توانید بهره مند شوید. همچنین توصیه می شود مقالات معرفی DNSSEC و معرفی Hotlinking را نیز مطالعه فرمایید.
دیدگاهتان را بنویسید