تاثیر
فقدان هدرهای امنیتی به مهاجمان اجازه میدهد تا جک کردن کلیک، سرقت کوکیهای جلسه، یا اجرای برنامهنویسی متقابل سایت (XSS) [S1] را انجام دهند. بدون این دستورالعملها، مرورگرها نمیتوانند مرزهای امنیتی را اعمال کنند، که منجر به حذف احتمالی دادهها و اقدامات غیرمجاز کاربر [S2] میشود.
علت اصلی
این مشکل ناشی از عدم پیکربندی سرورهای وب یا چارچوبهای برنامه برای گنجاندن هدرهای امنیتی استاندارد HTTP است. در حالی که توسعه اغلب HTML و CSS کاربردی [S1] را اولویت بندی می کند، پیکربندی های امنیتی اغلب حذف می شوند. ابزارهای حسابرسی مانند رصدخانه MDN برای شناسایی این لایههای دفاعی از دست رفته و اطمینان از ایمن بودن تعامل بین مرورگر و سرور طراحی شدهاند. [S2].
جزئیات فنی
هدرهای امنیتی دستورالعملهای امنیتی خاصی را برای کاهش آسیبپذیریهای رایج به مرورگر ارائه میکنند:
- خط مشی امنیت محتوا (CSP): کنترل می کند کدام منابع می توانند بارگذاری شوند، از اجرای غیرمجاز اسکریپت و تزریق داده ها جلوگیری می کند [S1].
- امنیت حمل و نقل دقیق (HSTS): اطمینان حاصل می کند که مرورگر فقط از طریق اتصالات امن HTTPS [S2] ارتباط برقرار می کند.
- X-Frame-Options: از رندر شدن برنامه در iframe جلوگیری می کند، که یک دفاع اولیه در برابر کلیک جک [S1] است.
- X-Content-Type-Options: از تفسیر فایل ها به عنوان یک نوع MIME متفاوت از آنچه مشخص شده است توسط مرورگر جلوگیری می کند و حملات MIME-sniffing [S2] را متوقف می کند.
چگونه FixVibe آن را آزمایش می کند
FixVibe می تواند این را با تجزیه و تحلیل هدرهای پاسخ HTTP یک برنامه وب تشخیص دهد. با محک زدن نتایج با استانداردهای رصدخانه MDN [S2]، FixVibe می تواند سرصفحه های گمشده یا پیکربندی نادرست مانند CSP، ZXCVFIXVIBETOKEN، و XCVFIXCVBETOKEN4ZX را پرچم گذاری کند.
رفع کنید
سرور وب (به عنوان مثال، Nginx، Apache) یا میان افزار برنامه را به روز کنید تا سرصفحه های زیر را در همه پاسخ ها به عنوان بخشی از وضعیت امنیتی استاندارد [S1] شامل شود:
- Content-Security-Policy: منابع منابع را به دامنه های قابل اعتماد محدود کنید.
- Strict-Transport-Security: HTTPS را با
max-ageطولانی اعمال کنید. - X-Content-Type-Options: روی
nosniff[S2] تنظیم کنید. - X-Frame-Options: روی
DENYیاSAMEORIGINتنظیم کنید تا از کلیک جک جلوگیری شود [S1].
