در حال بارگذاری...
بررسی پیادهسازی HTTP Strict Transport Security (HSTS) و اطمینان از اجبار ارتباطات HTTPS.
اهداف این درس
HTTP Strict Transport Security (HSTS) مکانیزمی است که به مرورگر دستور میدهد فقط از HTTPS استفاده کند. وقتی سرور header HSTS را ارسال میکند، مرورگر برای مدت مشخصی تمام درخواستها را بهصورت HTTPS ارسال میکند، حتی اگر کاربر http:// تایپ کند.
حملهای که در آن مهاجم ارتباط HTTPS بین کاربر و سرور را رهگیری کرده و آن را به HTTP تبدیل میکند. در این حالت، کاربر فکر میکند ارتباط امن است اما مهاجم تمام دادهها را میبیند.
1Strict-Transport-Security: max-age=31536000; includeSubDomains; preload| پارامتر | توضیح | مقدار توصیهشده |
|---|---|---|
| max-age | مدت اعتبار به ثانیه | ۳۱۵۳۶۰۰۰ (۱ سال) |
| includeSubDomains | شامل زیردامنهها | فعال |
| preload | ثبت در لیست preload | فعال |
1# بررسی header2curl -I https://target.com | grep -i strict-transport34# بررسی با verbose5curl -v https://target.com 2>&1 | grep -i strict67# بررسی با ابزار آنلاین8# https://hstspreload.org/بررسی کنید که آیا HSTS بهدرستی پیکربندی شده:
تست کنید که آیا مرورگر واقعاً از HSTS پیروی میکند:
عدم پیادهسازی HSTS میتواند منجر به حملات SSL Stripping شود که در آن مهاجم ارتباط امن را به ناامن تبدیل میکند و اطلاعات حساس مثل رمزهای عبور را سرقت میکند.
1Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"1add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;هشدار
قبل از فعالسازی HSTS مطمئن شوید که HTTPS بهدرستی کار میکند. اگر HTTPS مشکل داشته باشد، HSTS میتواند دسترسی کاربران را مسدود کند.
HSTS باید در تمام برنامههای وب فعال باشد.
max-age باید حداقل ۶ ماه باشد.
includeSubDomains باید فعال شود.
HSTS از کدام حمله جلوگیری میکند؟
HSTS چیست و چرا مهم است؟
HSTS (HTTP Strict Transport Security) مکانیزمی است که مرورگر را مجبور میکند فقط از HTTPS استفاده کند. این مکانیزم از حملات Downgrade و SSL Stripping جلوگیری میکند.