প্রকাশিত: ১৬ এপ্রিল, ২০২৬
যেহেতু ওয়েব অ্যাপ্লিকেশনগুলো আরও জটিল হয়ে উঠছে, বিশেষ করে সমন্বিত জেনারেটিভ এআই-এর উত্থানের ফলে, ব্যবহারকারীর ডেটা সুরক্ষা একটি সর্বোচ্চ অগ্রাধিকার। একারণেই আমরা কানেকশন অ্যালাওলিস্ট-এর অরিজিন ট্রায়াল ঘোষণা করছি; এটি একটি নতুন নিরাপত্তা ব্যবস্থা যা ডকুমেন্ট এবং ওয়ার্কারদের জন্য একটি নেটওয়ার্ক স্যান্ডবক্স তৈরি করে।
পটভূমি
আধুনিক ওয়েব ইকোসিস্টেমে, সংবেদনশীল ডেটা ক্রমাগত ক্লায়েন্ট এবং সার্ভারের মধ্যে আদান-প্রদান হয়। এই গতিশীলতা, থার্ড-পার্টি স্ক্রিপ্টের জটিল সরবরাহ শৃঙ্খল এবং জেনারেটিভ এআই থেকে উদ্ভূত ডায়নামিক কোডের উত্থানের সাথে মিলিত হয়ে ডেটা পাচারের ঝুঁকিকে উল্লেখযোগ্যভাবে বাড়িয়ে তোলে।
ক্ষতিকারক স্ক্রিপ্ট, বান্ডেল করা লাইব্রেরির দুর্বলতা, অথবা জেনারেটিভ এআই-জেনারেটেড কোডের অনাকাঙ্ক্ষিত আচরণ অ্যাপ্লিকেশন-স্তরের চেকগুলিকে বাইপাস করে অননুমোদিত এন্ডপয়েন্টে সংবেদনশীল তথ্য পাঠাতে পারে। যদিও কন্টেন্ট সিকিউরিটি পলিসি (সিএসপি) একটি পেজ কী লোড ও এক্সিকিউট করতে পারবে তা নিয়ন্ত্রণ করার জন্য একটি শক্তিশালী টুল, কিন্তু একটি পেজ ঠিক কোথায় যোগাযোগ করবে তা নির্দিষ্টভাবে সীমাবদ্ধ করার জন্য এর জটিলতা পরিচালনা করা বেশ কঠিন হতে পারে। এর ফলে প্রায়শই এমন ব্যাপক পলিসি তৈরি হয় যা অননুমোদিত নেটওয়ার্ক কার্যকলাপের সুযোগ করে দেয়।
সংযোগ অনুমোদিত তালিকা স্যান্ডবক্স
কানেকশন অ্যালাওলিস্ট এই ঝুঁকিগুলো মোকাবেলার একটি সরাসরি পদ্ধতি প্রদান করে, যার মাধ্যমে আপনার পেজ থেকে উদ্ভূত সমস্ত নেটওয়ার্ক কানেকশনের গেটকিপার হিসেবে ব্রাউজারকে নিযুক্ত করা হয়। Connection-Allowlist HTTP রেসপন্স হেডার অন্তর্ভুক্ত করার মাধ্যমে, একটি সাইট তার কনটেক্সট (যেমন একটি ডকুমেন্ট বা একটি ওয়েব ওয়ার্কার) দ্বারা শুরু করা সমস্ত নেটওয়ার্ক কমিউনিকেশনের জন্য অনুমোদিত সুনির্দিষ্ট URL প্যাটার্নগুলো নির্দিষ্ট করে দেয়।
এই ফিচারটি একটি ফ্রেমওয়ার্ক-স্তরের "ডিফল্টরূপে অস্বীকারকারী" ফায়ারওয়াল প্রয়োগ করে। যেকোনো সংযোগ স্থাপনের আগে, যেমন—একটি সাবরিসোর্স ফেচ, একটি নেভিগেশন রিডাইরেক্ট, বা একটি ওয়েবসকেট সংযোগ—ব্রাউজারটি অনুমোদিত তালিকার (allowlist) সাথে গন্তব্যস্থলটি যাচাই করে। যদি এন্ডপয়েন্টটি না মেলে, ব্রাউজারটি নেটওয়ার্ক স্তরে সংযোগটি ব্লক করে দেয়। ক্ষতিকারক কোড অ্যাপ্লিকেশন-স্তরের লজিককে বাইপাস করার চেষ্টা করলেও ব্রাউজারটি নেটওয়ার্কের সীমানা বজায় রাখে।
কানেকশন অ্যালাওলিস্ট কীভাবে কাজ করে
কানেকশন অ্যালাওলিস্ট এই ঝুঁকিগুলো মোকাবেলার একটি সরাসরি পদ্ধতি প্রদান করে, যার মাধ্যমে ব্রাউজার আপনার পেজ থেকে উদ্ভূত সমস্ত নেটওয়ার্ক কানেকশনের গেটকিপার বা দ্বাররক্ষকের ভূমিকা পালন করে। Connection-Allowlist HTTP রেসপন্স হেডার অন্তর্ভুক্ত করার মাধ্যমে, একটি সাইট তার কনটেক্সট দ্বারা শুরু করা সমস্ত নেটওয়ার্ক যোগাযোগের জন্য অনুমোদিত সুনির্দিষ্ট URL প্যাটার্নগুলো নির্দিষ্ট করে দেয়। অরিজিন ট্রায়ালের জন্য, এটি শুধুমাত্র ডকুমেন্ট কনটেক্সটের ক্ষেত্রেই সমর্থিত।
যেকোনো সংযোগ স্থাপনের আগে—যেমন, একটি সাবরিসোর্স ফেচ, একটি নেভিগেশন রিডাইরেক্ট, বা একটি ওয়েবসকেট সংযোগ—ব্রাউজার তার অনুমোদিত তালিকার (allowlist) সাথে গন্তব্যস্থলটি যাচাই করে। যদি এন্ডপয়েন্টটি না মেলে, তবে ব্রাউজার নেটওয়ার্ক পর্যায়ে সংযোগটি ব্লক করে দেয়। এর ফলে, ক্ষতিকারক কোড অ্যাপ্লিকেশন-স্তরের লজিককে পাশ কাটানোর চেষ্টা করলেও নেটওয়ার্কের সীমানা বজায় থাকে।
response-origin টোকেন ব্যবহার করুন
আপনি response-origin টোকেন ব্যবহার করতে পারেন, যা ডায়নামিকভাবে সেই অরিজিনকে অ্যালাওলিস্টে যুক্ত করে যেখান থেকে রেসপন্সটি পরিবেশন করা হয়:
Connection-Allowlist: ("https://api.example.com/*" response-origin)
এই উদাহরণে, পৃষ্ঠাটি তার অরিজিনের যেকোনো পাথ এবং নির্দিষ্ট এপিআই এন্ডপয়েন্টের সাথে সংযোগ করতে পারে।
লঙ্ঘনের প্রতিবেদন
আপনার সাইটের কার্যকারিতায় কোনো ব্যাঘাত না ঘটিয়ে সম্ভাব্য সমস্যাগুলো নিরীক্ষণ করতে, আপনি Connection-Allowlist-Report-Only হেডারটি ব্যবহার করতে পারেন। এই সংস্করণটি পলিসিটি পার্স করে এবং রিপোর্টিং এপিআই (Reporting API) ব্যবহার করে একটি নির্দিষ্ট এন্ডপয়েন্টে লঙ্ঘনের রিপোর্ট পাঠায়।
Connection-Allowlist: ("https://trusted.com/*"); report-to=security-endpoint
মূল ব্যবহারের ক্ষেত্রগুলি
উচ্চ-নিরাপত্তা বা গতিশীল পরিবেশের জন্য কানেকশন অ্যালাওলিস্টগুলি উপযোগী:
- জেনারেটিভ এআই এবং অবিশ্বস্ত কোড: যদি আপনার সাইট ব্যবহারকারীদের জেনারেটেড বা অবিশ্বস্ত কোড এক্সিকিউট করার সুযোগ দেয়, যেমন শীটস ক্যানভাস বা ডেভেলপমেন্ট স্যান্ডবক্সে, তাহলে কানেকশন অ্যালাওলিস্ট সেই কোডকে বাইরের ডোমেইনে ডেটা পাচার করা থেকে আটকাতে পারে।
- তৃতীয় পক্ষের তত্ত্বাবধান: আপনি নিশ্চিত করতে পারেন যে, কোনো তৃতীয় পক্ষের স্ক্রিপ্ট হ্যাক হলেও, সেটি অননুমোদিত সার্ভারে ডেটা পাঠাতে পারবে না।
- স্থাপত্যগত সুরক্ষাব্যবস্থা: আপনার অ্যাপ্লিকেশনের সংবেদনশীল অংশগুলোর জন্য একটি কঠোর নেটওয়ার্ক সীমানা প্রয়োগ করুন, যাতে শুধুমাত্র অনুমোদিত ব্যাকএন্ডগুলোর সাথেই যোগাযোগ নিশ্চিত হয়।
বিষয়বস্তু সুরক্ষা নীতি থেকে পার্থক্য
যদিও কানেকশন অ্যালাওলিস্ট এবং সিএসপি-র লক্ষ্য একই, তারা একে অপরের পরিপূরক:
- নেটওয়ার্ক-স্তরের ফোকাস: কানেকশন অ্যালাওলিস্ট কোনো রিসোর্স কীভাবে লোড বা এক্সিকিউট করা হয় তার পরিবর্তে নেটওয়ার্ক কানেকশনের গন্তব্যের উপর ফোকাস করে।
- ব্যাপক কভারেজ: এটি নেভিগেশন, রিডাইরেক্ট এবং বিভিন্ন ওয়েব প্ল্যাটফর্ম এপিআই, যেমন ফেচ, ওয়েবআরটিসি, ওয়েবট্রান্সপোর্ট, ডিএনএস প্রিফেচ ও প্রিলোড-কে একটি সমন্বিত পদ্ধতিতে অন্তর্ভুক্ত করে।
- সরলীকৃত সিনট্যাক্স: কানেকশন অ্যালাওলিস্ট একটিমাত্র কাজের উপর মনোযোগ দেয়, যা কনফিগারেশন এবং নিরাপত্তা নিরীক্ষাকে সহজ করে তোলে।
সংযোগ অনুমতি তালিকা নিয়ে পরীক্ষা করুন
কানেকশন অ্যালাওলিস্ট ফিচারটি স্থানীয়ভাবে পরীক্ষার জন্য উপলব্ধ। অরিজিন ট্রায়ালটি ক্রোম ১৪৮ থেকে ক্রোম ১৫১ পর্যন্ত চলার কথা রয়েছে। অরিজিন ট্রায়ালটি চলার সাথে সাথে নতুন নতুন কার্যকারিতা যুক্ত হতে থাকবে। এই ট্রায়ালের শুরুতে, রিপোর্টিং কার্যকারিতা শুধুমাত্র ডকুমেন্ট কনটেক্সট-এর মধ্যে সীমাবদ্ধ; ডেডিকেটেড, শেয়ার্ড এবং সার্ভিস ওয়ার্কার্স সমর্থিত নয়। কী কী সমর্থিত, সে সম্পর্কে আরও বিস্তারিত তথ্য ‘অরিজিন ট্রায়ালের জন্য রেজিস্টার করুন’ বিভাগে রয়েছে।
স্থানীয়ভাবে পরীক্ষা করুন
- ফ্ল্যাগটি সক্রিয় করুন: Chrome খুলুন এবং
chrome://flags/#connection-allowlist-এ যান। ফ্ল্যাগটি Enabled -এ সেট করুন। - হেডারটি প্রয়োগ করুন: আপনার লোকাল ডেভেলপমেন্ট সার্ভারকে
Connection-AllowlistHTTP রেসপন্স হেডার পাঠানোর জন্য কনফিগার করুন। উদাহরণস্বরূপ,Connection-Allowlist: ("https://api.example.com/*" response-origin)। - DevTools দিয়ে যাচাই করুন: Chrome DevTools খুলুন এবং এমন কাজ করুন যা নেটওয়ার্ক অনুরোধ চালু করে।
- নেটওয়ার্ক প্যানেল: "blocked:other" হিসেবে চিহ্নিত অথবা সংযোগ ত্রুটি দেখাচ্ছে এমন অনুরোধগুলো পরীক্ষা করুন।
- ইস্যু ট্যাব: আপনার হেডারে কোনো পার্সিং ত্রুটি থাকলে বিস্তারিত রিপোর্ট দেখুন।
অরিজিন ট্রায়ালের জন্য নিবন্ধন করুন
ডেভেলপমেন্টের জন্য লোকাল টেস্টিং চমৎকার হলেও, প্রোডাকশনে আপনার ব্যবহারকারীদের জন্য কানেকশন অ্যালাওলিস্ট চালু করতে আপনাকে অরিজিন ট্রায়ালের জন্য রেজিস্টার করতে হবে।
- Chrome অরিজিন ট্রায়াল ড্যাশবোর্ডে যান।
- Connection Allowlists origin trial-টি খুঁজুন এবং Register-এ ক্লিক করুন।
- "Get started with origin trials" গাইডে বর্ণিত পদ্ধতি অনুসারে জেনারেট করা টোকেনটি আপনার সাইটের পেজ বা হেডারে যোগ করুন।
অরিজিন ট্রায়ালটি ক্রোম ১৪৮ থেকে ক্রোম ১৫১ পর্যন্ত চলার কথা রয়েছে। অরিজিন ট্রায়ালটি চলার সাথে সাথে নতুন নতুন কার্যকারিতা যুক্ত হতে থাকবে, তাই কানেকশন অ্যালাওলিস্টস পরীক্ষা করার সময় আপনার বিদ্যমান ওয়েব-নিরাপত্তা ব্যবস্থাগুলো ব্যবহার চালিয়ে যাওয়ার জন্য আপনাকে বিশেষভাবে উৎসাহিত করা হচ্ছে। ‘ ইন্টেন্ট টু এক্সপেরিমেন্ট’-এ কানেকশন অ্যালাওলিস্টস বাস্তবায়নের আওতাভুক্ত নেটওয়ার্ক এন্ডপয়েন্টগুলোর বিষয়ে আরও বিস্তারিত তথ্য দেওয়া আছে।
মতামত দিন
ফিচারটির ডিজাইন এবং উপযোগিতা সম্পর্কে মতামত দিন। যদি কোনো সমস্যা হয় বা উন্নতির জন্য কোনো পরামর্শ থাকে, তাহলে টিমের সাথে যোগাযোগ করুন:
- গিটহাব :
WICG/connection-allowlistsরিপোজিটরিতে একটি ইস্যু খুলুন অথবা বিদ্যমান কোনো ইস্যুতে মন্তব্য করুন। - ক্রোমিয়াম বাগ ট্র্যাকার : ক্রোমিয়াম বাগ ট্র্যাকারে একটি ইস্যু তৈরি করুন ।