تاریخ انتشار: ۲۳ سپتامبر ۲۰۲۶
برنامههای وب مدرن بهطور فزایندهای پیچیده هستند و اسکریپتهای طرف سوم و گاهیاوقات کد تولیدشده پویا از هوش مصنوعی زایا را ادغام میکنند. اگرچه این ادغامها قدرتمند هستند، اما خطر استخراج دادهها را بهطور قابلتوجهی افزایش میدهند. برای رفع این خطر، Chrome 152 فهرستهای مجاز اتصال را معرفی میکند، یک سازوکار امنیتی جدید که به شما امکان میدهد یک محیط امن شبکه سختگیرانه برای اسناد و کارگران خود ایجاد کنید.
چالش ایمنسازی ارتباطات شبکه
برای مدیریت وابستگیها و ایمنسازی معماری سایتتان، باید کنترل صریحی بر نقاط پایانیای که صفحههایتان با آنها ارتباط برقرار میکنند داشته باشید. اسکریپتهای مخرب یا کدهای تولیدشده با هوش مصنوعی که دچار کژپنداری شدهاند میتوانند بررسیهای سطح برنامه را دور بزنند و اطلاعات حساس را به سرورهای غیرمجاز ارسال کنند.
اگرچه خطمشی امنیتی محتوا (CSP) ابزاری قدرتمند برای کنترل آنچه صفحه میتواند بارگیری و اجرا کند است، اما برای محدود کردن مکانهایی که صفحه با آنها ارتباط برقرار میکند طراحی نشده است. CSP درخواستها را به انواع خاصی دستهبندی میکند که وقتی فقط به یک مرز شبکه گسترده نیاز دارید، جزئیات بیشازحدی را معرفی میکند. علاوهبراین، CSP همه میاناهای برنامهسازی کاربردی پلاتفرم وب را بهطور کامل پوشش نمیدهد، و سازوکارهایی مانند واکشی پیشاپیش ساناد، پیمایشها، WebRTC، و غیره را حذف میکند.
فهرستهای مجاز اتصال چیست؟
فهرستهای مجاز اتصال با تبدیل کردن مرورگر به دروازهبان همه اتصالهای شبکهای که از صفحه شما منشأ میگیرند، این خطرات را برطرف میکنند. این میاناهای برنامهسازی کاربردی رویکردی مستقیم و ساده برای مدیریت درخواستهای صریح شبکه که بااستفاده از Fetch و دیگر میاناهای برنامهسازی کاربردی پلاتفرم وب آغاز شدهاند ارائه میدهند.
با ارسال سرایند پاسخ Connection-Allowlist HTTP، الگوهای دقیق نشانی وب مجاز برای همه ارتباطات شبکه را مشخص میکنید. این کار دیوار آتشی را در سطح چارچوب اعمال میکند که بهطور پیشفرض دسترسی را رد میکند. پیشاز برقراری هرگونه اتصال،
مرورگر مقصد را با فهرست مجاز شما درستیسنجی میکند و اگر مطابقت نداشته باشد، آن را در
سطح شبکه مسدود میکند.
نحوه استفاده از فهرستهای مجاز اتصال
این خطمشی از نحو استانداردشده URLPattern برای تعریف نقاط پایانی مجاز استفاده میکند. این خطمشی برای هر پنجره یا بافت کارگر جداگانه است.
پیکربندی پایه
میتوانید از کد response-origin برای افزودن پویای مبدأی که پاسخ از آن به فهرست مجاز شما ارائه میشود، در کنار هر نقطه پایانی API خاص استفاده کنید.
Connection-Allowlist: ("https://api.example.com/*" response-origin)
مدیریت هدایتها و WebRTC
بهطور پیشفرض، فهرستهای مجاز اتصال همه تغییرمسیرها و اتصالهای WebRTC را مسدود میکنند. اگر فهرست مجازها اعمال شود، هر درخواستی که منجر به تغییر مسیر شود مسدود میشود، مگراینکه صریحاً موافقت کنید.
Connection-Allowlist: ("https://api.example.com/*"); redirects=allow; webrtc=allow
گزارش کردن تخلفات
برای نظارت بر خرابیهای احتمالی بدون ایجاد وقفه در سرویس، میتوانید این ویژگی را در حالت فقط گزارشدهی مستقر کنید. این حالت خطمشی را تجزیه میکند و گزارشهای نقض را
بدون مسدود کردن اتصالات به نقطه پایانی مشخصشده Reporting API ارسال میکند. مطمئن شوید
که Reporting-Endpointsسرایند پاسخ HTTP را نیز پیکربندی کنید تا نام نقطه پایانی
انتخابیتان را به نشانی وب واقعی نگاشت کنید.
Connection-Allowlist-Report-Only: ("https://trusted.com/*"); report-to=security-endpoint
موارد استفاده کلیدی
فهرستهای مجاز اتصال برای محیطهای پویا یا با امنیت بالا طراحی شدهاند. این ویژگیها بهخصوص برای موارد زیر مفید هستند:
- ایمنسازی هوش مصنوعی زایا: اگر برنامه وب شما کد تولیدشده یا غیرقابلاعتماد (مانند واسطهای کاربر تولیدشده با هوش مصنوعی یا محیطهای آزمایشی توسعه) را اجرا میکند، میتوانید از خروج دادهها توسط آن کد به دامنههای خارجی جلوگیری کنید.
- نظارت شخص ثالث: هنگام جاسازی کردن اسکریپتها یا بازیهای تحت وب شخص ثالث، میتوانید تضمین کنید که آنها دادهها را به سرورهای غیرمجاز ارسال نخواهند کرد، حتی اگر بهخطر بیفتند.
- اقدامات حفاظتی معماری: میتوانید مرز شبکه سختگیرانهای را در اطراف بخشهای حساس برنامهتان اعمال کنید تا مطمئن شوید ارتباط فقط با پسزمینههای تأییدشده شما برقرار میشود.
از این ویژگی میتوان بهعنوان ارتقای پیشرو برای راهاندازی مبتنی بر «خطمشی امنیتی محتوا» (CSP) موجود استفاده کرد.
آزمایش کردن فهرستهای مجاز اتصال
ویژگی فهرستهای مجاز اتصال رسماً از Chrome نسخه ۱۵۲ دردسترس است. با افزودن سرصفحه به پاسخهای سرور، میتوانید از همین امروز محافظت از برنامههای وب را شروع کنید.
برای آزمایش پیکربندی درطول توسعه:
- سرور توسعه محلیتان را پیکربندی کنید تا سرایند پاسخ HTTP
Connection-Allowlistرا ارسال کند. - Chrome DevTools را باز کنید و پانل شبکه را برای درخواستهای مسدودشده یا برگه مشکلات را برای گزارشهای دقیق تجزیه سرصفحه بررسی کنید.