GH GambleHub

سیاست های امنیتی و CSP

1) چرا ما به سیاست های امنیتی نیاز داریم

ظاهر مدرن و API به بسیاری از منابع (CDN، تجزیه و تحلیل، PSP، 3DS، چت) بستگی دارد. بدون سیاست های سخت، خطرات XSS، clickjacking، نشت داده ها و ربودن جلسه افزایش می یابد. سیاست های امنیتی با انتقال مرورگر به مدل allow-list، آنچه را که به طور پیش فرض مجاز است محدود می کند.

2) ستون های اساسی

CSP (سیاست امنیت محتوا) یک «منو» متمرکز از منابع و رفتارهای مجاز JS/CSS/رسانه است.
انواع قابل اعتماد - حفاظت از نوع در برابر DOM-XSS.
SRI (یکپارچگی Subresource) - کنترل یکپارچگی اسکریپت ها/سبک ها.
COOP/COEP/CORP - جداسازی سفت و سخت از زمینه ها و منابع بین منابع.
Fetch Metadata («Sec-Fetch-») یک راه حل سرور برای فیلتر کردن درخواست های متقابل سایت است.
CORS - سیاست دسترسی API متقابل دامنه.
عناوین کلاسیک: HSTS، 'X-Frame-Options '/' frame-ancestors'، 'Referrer-Policy'، 'Permissions-Policy'، SameSite-cookies.

3) CSP: مبانی و اصول

3. 1 دستورالعمل ها (کلید)

'dafault-src' - پیش فرض برای دستورالعمل های دیگر.
'script-src' - منابع JS، nonce/hash، 'strict-dynamic'، 'report-sample'.
'style-src' - منابع CSS ؛ «unsafe-inline» را به حداقل برسانید.
'img-src', 'font-src', 'media-src', 'object-src' (обычно 'none').
'connect-src' - درخواستهای شبکه (XHR/fetch/WebSocket).
'frame-src '/' child-src' - فریم های شخص ثالث (PSP، 3DS).
«frame-ancestors» - که می تواند سایت ما را جاسازی کند (ضد کلیک کردن).
'base-uri' - جایگزینی <base> 'را ممنوع می کند.
«فرم عمل» - جایی که فرم ها مجاز به ارائه هستند.
«upgrade-insecure-requests», «block-all-mixed-content» - مبارزه با مخلوط HTTP/HTTPS.
'report-uri '/' report-to' - که در آن برای ارسال نقض.

3. 2 هش и Nonce

رویکرد Nonce: برای هر پاسخ HTTP یک "nonce" رمزنگاری تصادفی ایجاد کنید، "