لیست‌های مجاز اتصال: دسترسی به شبکه برنامه وب خود را ایمن کنید

منتشر شده: ۲۳ سپتامبر ۲۰۲۶

برنامه‌های وب مدرن به طور فزاینده‌ای پیچیده می‌شوند و اسکریپت‌های شخص ثالث و گاهی اوقات کدهای تولید شده پویا از هوش مصنوعی مولد را ادغام می‌کنند. اگرچه این ادغام‌ها قدرتمند هستند، اما خطر نشت داده‌ها را به میزان قابل توجهی افزایش می‌دهند. برای مقابله با این خطر، کروم ۱۵۲ لیست‌های مجاز اتصال را معرفی می‌کند، یک مکانیسم امنیتی جدید که به شما امکان می‌دهد یک جعبه شنی شبکه دقیق برای اسناد و کارگران خود ایجاد کنید.

چالش ایمن‌سازی ارتباطات شبکه

شما برای مدیریت وابستگی‌ها و ایمن‌سازی معماری سایت خود، به کنترل صریح بر روی نقاط پایانی که صفحات شما با آنها ارتباط برقرار می‌کنند، نیاز دارید. اسکریپت‌های مخرب یا کدهای تولید شده توسط هوش مصنوعی می‌توانند از بررسی‌های سطح برنامه عبور کرده و اطلاعات حساس را به سرورهای غیرمجاز ارسال کنند.

اگرچه سیاست امنیت محتوا (CSP) ابزاری قدرتمند برای کنترل آنچه یک صفحه می‌تواند بارگیری و اجرا کند، است، اما برای محدود کردن محل ارتباط یک صفحه طراحی نشده است. CSP درخواست‌ها را به انواع خاصی دسته‌بندی می‌کند، که باعث می‌شود وقتی فقط به یک مرز شبکه وسیع نیاز دارید، جزئیات بیش از حد ایجاد شود. علاوه بر این، CSP به طور کامل تمام APIهای پلتفرم وب را پوشش نمی‌دهد و مکانیسم‌هایی مانند پیش‌واکشی DNS، ناوبری‌ها، WebRTC و موارد دیگر را حذف می‌کند.

لیست‌های مجاز اتصال چیستند؟

لیست‌های مجاز اتصال با تبدیل مرورگر به دروازه‌بان تمام اتصالات شبکه‌ای که از صفحه شما سرچشمه می‌گیرند، این خطرات را برطرف می‌کنند. آن‌ها یک رویکرد مستقیم و ساده برای مدیریت درخواست‌های صریح شبکه که با استفاده از Fetch و سایر APIهای پلتفرم وب آغاز می‌شوند، ارائه می‌دهند.

با ارسال هدر پاسخ HTTP Connection-Allowlist ، شما الگوهای دقیق URL مجاز برای تمام ارتباطات شبکه را مشخص می‌کنید. این کار یک فایروال پیش‌فرضِ رد-به-صورت-انکار در سطح چارچوب را اعمال می‌کند. قبل از برقراری هرگونه اتصال، مرورگر مقصد را با لیست مجاز شما مطابقت می‌دهد و در صورت عدم تطابق، آن را در سطح شبکه مسدود می‌کند.

نحوه استفاده از لیست‌های مجاز اتصال

این سیاست از سینتکس استاندارد URLPattern برای تعریف نقاط انتهایی مجاز استفاده می‌کند. این سیاست برای هر پنجره یا زمینه‌ی کارگر جداگانه است .

پیکربندی اولیه

شما می‌توانید از توکن response-origin برای اضافه کردن پویای مبدایی که پاسخ از آن ارسال می‌شود به لیست مجاز خود، در کنار هر نقطه پایانی API خاص، استفاده کنید.

Connection-Allowlist: ("https://api.example.com/*" response-origin)

مدیریت ریدایرکت‌ها و WebRTC

به طور پیش‌فرض، لیست‌های مجاز اتصال، همه تغییر مسیرها و اتصالات WebRTC را مسدود می‌کنند. اگر یک لیست مجاز اعمال شود، هر درخواستی که منجر به تغییر مسیر شود مسدود می‌شود، مگر اینکه صریحاً آن را انتخاب کنید.

Connection-Allowlist: ("https://api.example.com/*"); redirects=allow; webrtc=allow

گزارش تخلفات

برای نظارت بر خرابی‌های احتمالی بدون ایجاد وقفه در سرویس، می‌توانید این ویژگی را در حالت فقط گزارش پیاده‌سازی کنید. این حالت، سیاست را تجزیه و تحلیل کرده و گزارش‌های تخلف را بدون مسدود کردن اتصالات به یک نقطه پایانی API گزارش‌دهی مشخص ارسال می‌کند. همچنین مطمئن شوید که هدر پاسخ HTTP مربوط به Reporting-Endpoints را طوری پیکربندی کرده‌اید که نام نقطه پایانی انتخابی شما را به یک URL واقعی نگاشت کند.

Connection-Allowlist-Report-Only: ("https://trusted.com/*"); report-to=security-endpoint

موارد استفاده کلیدی

لیست‌های مجاز اتصال برای محیط‌های با امنیت بالا یا پویا طراحی شده‌اند. آن‌ها را به‌ویژه برای موارد زیر مفید خواهید یافت:

  • ایمن‌سازی هوش مصنوعی مولد: اگر برنامه وب شما کد تولید شده یا غیرقابل اعتماد (مانند رابط‌های کاربری تولید شده توسط هوش مصنوعی یا محیط‌های توسعه سندباکس) را اجرا می‌کند، می‌توانید از ارسال داده‌ها به دامنه‌های خارجی توسط آن کد جلوگیری کنید.
  • نظارت شخص ثالث: هنگام جاسازی اسکریپت‌ها یا بازی‌های وب شخص ثالث، می‌توانید تضمین کنید که آنها حتی اگر به خطر بیفتند، داده‌ها را به سرورهای غیرمجاز ارسال نمی‌کنند.
  • حفاظت‌های معماری: شما می‌توانید یک مرز شبکه‌ای سختگیرانه در اطراف بخش‌های حساس برنامه خود اعمال کنید و اطمینان حاصل کنید که ارتباط فقط با backend های تأیید شده شما برقرار می‌شود.

این ویژگی می‌تواند به عنوان یک پیشرفت تدریجی در تنظیمات مبتنی بر سیاست امنیت محتوا (CSP) موجود مورد استفاده قرار گیرد.

لیست‌های مجاز اتصال را آزمایش کنید

ویژگی لیست‌های مجاز اتصال رسماً از کروم ۱۵۲ در دسترس قرار گرفته است. شما می‌توانید با افزودن هدر به پاسخ‌های سرور خود، از همین امروز محافظت از برنامه‌های وب خود را آغاز کنید.

اتصال در پنل شبکه Chrome DevTools مسدود شده است.
اتصال در پنل شبکه Chrome DevTools مسدود شده است.

برای آزمایش پیکربندی خود در طول توسعه:

  1. سرور توسعه محلی خود را طوری پیکربندی کنید که هدر پاسخ HTTP مربوط Connection-Allowlist را ارسال کند.
  2. Chrome DevTools را باز کنید و پنل Network را برای درخواست‌های مسدود شده بررسی کنید، یا برای گزارش‌های تجزیه و تحلیل دقیق هدر، به تب Issues بروید.

منابع اضافی