آموزش هوشمند امنیت و طراحی وب

  • تکنولوژی های وب و ترندهای وردپرس
صفحه اصلیامنیت وردپرسHSTS چیست و چگونه آن را فعال کنیم؟

HSTS چیست و چگونه آن را فعال کنیم؟

نویسنده: رضا دهقان | تاریخ انتشار: ۱۳۹۸/۰۷/۳۰ | دسته بندی: امنیت وردپرس|

HSTS چیست و چگونه آن را فعال کنیم؟

HSTS یا HTTP Strict Transport Security، یک مکانیزم امنیتی برای انتقال اطلاعات با امنیت بالایی می باشد. این مکانیزم مرورگر را مجبور می کند تا سایت فقط با پروتکل HTTPS باز شود. این قابلیت به حفظ اطلاعات منتقل شده در برابر حملات شنود (sniff) و جمع آوری اطلاعات و همچنین ربودن کوکی ها cookie hijacking کمک می کند.

با استفاده از این پروتکل، وب سرورها از طریق شناسایی مرورگرها (یا سایر agent های کاربر) تنها اجازه تبادل اطلاعات از طریق HTTPS را دارند و امکان ارتباط HTTP وجود نخواهد داشت. در حقیقت کاربران الزام به استفاده از پروتکل HTTPS خواهند بود.

 

http strict transport security

این قابلیت برای اطمینال از این است که اطلاعات به صورت غیر امن به کاربر ارجاع داده نشود و ارتباط بین سرور و کاربر امن باشد.

 

SSLstrip نام ابزاریست که برای راه‌اندازی حملات مرد میانی مورد استفاده قرار می گیرد. ابزار SSLstrip میان سرور و کاربر قرار می‌گیرد. با سرور ارتباط HTTPS برقرار می‌کند و با کاربر ارتباط HTTP. در این حالت سرور راضی است، چون گمان می‌کند ارتباطش با کاربر HTTPS است اما در واقع ارتباطش با SSLstrip از نوع HTTPS است نه با کاربر.

با استفاده از HSTS، حملات man-in-the-middle (مرد میانی)، قابل جلوگیری می باشد.

 

نحوه کار HSTS

وب سرور به User Agent اعلام می‌کند که از سیاست HSTS پیروی می‌کند و اگر بخواهد با او در ارتباط باشد، بایستی از آن تبعیت کند.

به طور مثال سرآیند Strict-Transport-Security: max-age=31536000 برای کاربر ارسال می‌شود. دستورالعمل ‘max-age’ مشخص می‌نماید برای چه مدت زمانی میزبان از سیاست HSTS پیروی می‌کند و HSTS معتبر است. سرآیند پاسخ HSTS تنها بر روی HTTPS ارسال می‌گردد، در نتیجه اگر UA این سرآیند را بر روی HTTP دریافت کند بایستی آن را نادیده بگیرد. این کار باعث می‌شود تا اگر مهاجمی اقدام به حمله‌ی مرد میانی کرد نتواند موفق شود.

 

آیا باید از HSTS استفاده کرد؟

بله، وب سایت شما بایستی تنها بر روی HTTPS قابل دسترسی باشد. تنها یک نکته‌ی منفی در استفاده از HSTS وجود دارد.

یک مهاجم باهوش می‌تواند یک سری supercookie برای خود بسازد و این supercookie ها می‌توانند از ناوشگر کاربر انگشت‌نگاری کنند.

به عنوان دارنده‌ی یک وب‌سایت می‌توانید کاربران خود را به روش‌های متنوعی رصد کنید. اما سعی کنید از HSTS تنها برای افزایش امنیت استفاده کنید نه ساختن supercookieها.

نحوه فعال سازی HSTS

وارد تنظیمات وب سرور (Apache یا Nginx) شوید.

خط زیر را به سرور خود اضافه کنید و یک بار سرور خود را ریستارت کنید.

روش دوم برای وب سایت های وردپرسی به این شکل است که برای فعال سازی HSTS را از طریق فایل htaccess. قطعه کد زیر را داخل آن قرار دهید.

بعد از انجام این کار یک دسترسی max-age اضافه می شود که شامل وب سایت شما و تمامی زیر دامنه ها است. وقتی که مرورگر به وب سایت شما دسترسی پیدا می کند تا یک سال نمی تواند به نسخه HTTP وب سای شما دسترسی داشته باشد.

 

نتیجه‌گیری

استفاده از پروتکل HTTP و اینکه این پروتکل به عنوان پروتکل پیش‌فرض در ناوشگرها وجود دارد مشکلات زیادی به وجود خواهد آورد. استفاده از HSTS به معنی اجبار سمت کاربر به استفاده از پروتکل امن HTTPS است. با اجبار ناوشگر کاربر به استفاده از HTTPS حتی در مراحل اولیه‌ی ارسال درخواست شانس حملات موفق مرد میانی را می‌تواند به نزدیک صفر برساند.

131 بازدید


اشتراک گذاری کنید:


رضا دهقان

رضا دهقان اینستاگرام
طراح و توسعه دهنده وب | فارغ التحصیل مهندسی امنیت اطلاعات

  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.


هنوز دیدگاهی ارسال نشده! نظر شما چیست؟