প্রাইভেট নেটওয়ার্ক অ্যাক্সেস (PNA) অ-সুরক্ষিত প্রসঙ্গ অবচয় ট্রায়ালের জন্য শেষ হচ্ছে - PNA অনুমতি প্রম্পট প্রয়োগ করুন

ইফান লুও
Yifan Luo

ক্রোম 124-এ মিশ্র সামগ্রী বৈশিষ্ট্য শিথিল করার জন্য ব্যক্তিগত নেটওয়ার্ক অ্যাক্সেসের অনুমতি অন্তর্ভুক্ত রয়েছে। এই পরিবর্তনের জন্য প্রস্তুত হতে আরও সময় প্রয়োজন এমন সাইটগুলির জন্য একটি চলমান অবমূল্যায়ন ট্রায়াল রয়েছে, তবে এই ট্রায়ালটি ক্রোম 126-এর সাথে শেষ হবে, 4 সেপ্টেম্বর, 2024-এ পাঠানো হবে বলে আশা করা হচ্ছে৷ এই পোস্টটি পরিবর্তনটি ব্যাখ্যা করে, বৈশিষ্ট্যটির ডিজাইন সম্পর্কে আরও, কীভাবে আপনার বর্তমান ওয়েবসাইটগুলি স্থানান্তর করতে এবং কীভাবে আপনার বাস্তবায়ন পরীক্ষা করবেন।

কি পরিবর্তন হচ্ছে?

একটি প্রাইভেট নেটওয়ার্কে ডিভাইসগুলির সাথে সংযোগ স্থাপন করতে যেগুলির বিশ্বব্যাপী অনন্য নাম নেই, এবং সেইজন্য TLS শংসাপত্রগুলি পেতে পারে না, এই বৈশিষ্ট্যটি এমন একটি ডিভাইসের সাথে কথা বলার জন্য ডেভেলপারদের অভিপ্রায় ঘোষণা করার জন্য fetch() একটি নতুন বিকল্প প্রবর্তন করে৷ এর মধ্যে রয়েছে একটি নতুন নীতি-নিয়ন্ত্রিত বৈশিষ্ট্য যা এই সক্ষমতায় প্রতিটি সাইটের অ্যাক্সেস গেট করতে এবং অতিরিক্ত মেটাডেটা প্রদানের জন্য সার্ভারের প্রিফ্লাইট প্রতিক্রিয়ার জন্য নতুন শিরোনাম।

ব্যক্তিগত নেটওয়ার্ক অ্যাক্সেস কি?

প্রাইভেট নেটওয়ার্ক অ্যাক্সেস (PNA, পূর্বে CORS-RFC1918 নামে পরিচিত এবং সংক্ষেপে স্থানীয় নেটওয়ার্ক অ্যাক্সেস নামে পরিচিত) হল একটি নিরাপত্তা বৈশিষ্ট্য যা ব্যক্তিগত নেটওয়ার্কে সার্ভারে অনুরোধ পাঠানোর জন্য ওয়েবসাইটগুলির ক্ষমতাকে সীমাবদ্ধ করে। এটি ব্যবহারকারীদের এবং অভ্যন্তরীণ নেটওয়ার্কগুলিকে ক্রস-সাইট রিকোয়েস্ট ফোরজি (CSRF) এর মতো সম্ভাব্য আক্রমণ থেকে রক্ষা করতে সাহায্য করে। Chrome ধীরে ধীরে PNA প্রয়োগ করছে, এবং আসন্ন রিলিজে সুরক্ষা প্রসারিত করা হবে।

কেন একটি অনুমতি প্রম্পট প্রয়োজন?

Chrome 94 অ-সুরক্ষিত পাবলিক ওয়েবসাইট থেকে ব্যক্তিগত নেটওয়ার্ক অ্যাক্সেসে একটি ব্লক চালু করেছে। অ-সুরক্ষিত প্রসঙ্গ অবচয় ট্রায়াল থেকে চলমান ব্যক্তিগত নেটওয়ার্ক অ্যাক্সেস প্রভাবিত ওয়েবসাইটগুলিকে HTTPS-এ স্থানান্তরিত করার ক্ষেত্রে চ্যালেঞ্জগুলি প্রকাশ করেছে৷ একটি সাধারণ উদ্বেগ হল ব্যক্তিগত ডিভাইসগুলিকে HTTPS-এ স্থানান্তরিত করার অসুবিধা, যা মিশ্র সামগ্রী পরীক্ষা লঙ্ঘনের দিকে পরিচালিত করে৷

এই চ্যালেঞ্জ মোকাবেলা করার জন্য, Chrome 120 থেকে একটি অরিজিন ট্রায়ালের অধীনে এবং Chrome 124 থেকে স্থিতিশীল অবস্থায় একটি নতুন অনুমতি প্রম্পট যোগ করা হয়েছে।

কখন একটি অনুমতি প্রম্পট প্রয়োজন?

আমরা অনুমতি প্রম্পট বৈশিষ্ট্য উপলব্ধ হওয়ার কয়েক মাইলস্টোন পরে অ-সুরক্ষিত প্রসঙ্গ অবচয় ট্রায়াল শেষ করার পরিকল্পনা করেছি। সামঞ্জস্য নিশ্চিত করতে, আপনাকে অবশ্যই আপনার সর্বজনীন ওয়েবসাইটগুলিকে HTTPS-এ স্থানান্তর করতে হবে৷ আপনি যদি আপনার ব্যক্তিগত সার্ভার HTTPS-এ স্থানান্তর করতে না পারেন, নতুন অনুমতি প্রম্পট বৈশিষ্ট্য আপনাকে মিশ্র বিষয়বস্তু পরীক্ষা শিথিল করতে দেবে।

অনুমতি প্রম্পট সহ একটি ব্যক্তিগত নেটওয়ার্ক অ্যাক্সেস অনুরোধের জন্য একটি সাধারণ কর্মপ্রবাহ নিম্নরূপ।

অনুমতি প্রম্পট ট্রিগার

একটি আনয়ন বিকল্প হিসাবে নতুন targetAddressSpace বৈশিষ্ট্য যোগ করুন, তারপর অনুরোধ মিশ্র বিষয়বস্তু পরীক্ষা এড়িয়ে যেতে পারে।

fetch("http://router.local/ping", {
  targetAddressSpace: "private",
});

প্রাইভেট নেটওয়ার্ক অ্যাক্সেস অনুযায়ী: প্রিফ্লাইট প্রবর্তন করা হচ্ছে , যেকোনো ব্যক্তিগত নেটওয়ার্ক অনুরোধের আগে একটি প্রিফ্লাইট অনুরোধ করা হয়। এই প্রিফ্লাইট অনুরোধে একটি নতুন শিরোনাম অন্তর্ভুক্ত করা হবে, Access-Control-Request-Private-Network: true , এবং সংশ্লিষ্ট প্রতিক্রিয়া শিরোনাম Access-Control-Allow-Private-Network: true অন্তর্ভুক্ত করবে।

নতুন অনুমতি প্রম্পট মিটমাট করার জন্য, ডিভাইসগুলিকে অবশ্যই দুটি নতুন প্রতিক্রিয়া শিরোনাম অন্তর্ভুক্ত করতে হবে: Private-Network-Access-Name এবং Private-Network-Access-ID

  • Private-Network-Access-ID : একটি 48-বিট মান 6 হেক্সাডেসিমেল বাইট হিসাবে উপস্থাপিত কোলন দ্বারা বিভক্ত।
  • Private-Network-Access-Name : একটি স্ট্রিং হিসাবে একটি বৈধ নাম যা ECMAScript রেগুলার এক্সপ্রেশন /^[a-z0-9_-.]+$/. নামের সর্বোচ্চ দৈর্ঘ্য 248 UTF-8 কোড ইউনিট।
Private-Network-Access-Name: "My Smart Toothbrush"
Private-Network-Access-ID: "01:23:45:67:89:0A"

ডেমো

আপনি এখানে ডেমো দেখতে পারেন: https://private-network-access-permission-test.glitch.me/

ডেমো ওয়েবসাইট ব্যবহার করার জন্য আপনাকে আপনার ব্যক্তিগত ব্যক্তিগত সার্ভার শুরু করতে হবে। প্রাইভেট সার্ভারের HTTP হেডার Access-Control-Allow-Private-Network: true , সার্ভার নির্দিষ্ট হেডার Private-Network-Access-ID এবং Private-Network-Access-Name সহ সাড়া দেওয়া উচিত। সবকিছু সঠিকভাবে সেট করা থাকলে, নিম্নলিখিত অনুমতি প্রম্পট দেখানো উচিত:

অ-সুরক্ষিত প্রসঙ্গ অবচয় ট্রায়াল থেকে প্রস্থান করুন

যে ওয়েবসাইটগুলি অ-সুরক্ষিত প্রসঙ্গ অবচয় ট্রায়ালের জন্য প্রাইভেট নেটওয়ার্ক অ্যাক্সেস নিবন্ধিত করে, তাদের জন্য এখনই আপনার ওয়েবসাইট আমাদের নতুন অনুমতি প্রম্পট সহ স্থানান্তর করার এবং এখনই ট্রায়াল থেকে প্রস্থান করার সময়।

আপনার কোড আপডেট করার পরে, আপনার HTML, JavaScript, বা HTTP শিরোনাম থেকে ট্রায়াল টোকেন মুছুন। আপনি ট্রায়াল টোকেন কোথায় রেখেছিলেন তা মনে না থাকলে, পূর্ববর্তী ব্লগ পোস্টে অবচয় ট্রায়ালের জন্য নিবন্ধন বিভাগে পড়ুন।

আপনি ট্রায়ালের পৃষ্ঠায় টোকেনটি মুছতেও চাইতে পারেন।

এরপর কি?

নন-এপিআই fetch() থেকে আসা অনুরোধের সমাধান এখনও অন্বেষণাধীন।

বেশ কয়েকটি সমাধান পরীক্ষা করা হয়েছে, উদাহরণস্বরূপ, পরিষেবা কর্মীদের ব্যবহার করা বা একটি নতুন বিষয়বস্তু-নিরাপত্তা-নীতি হিসাবে লক্ষ্য ঠিকানার স্থান তৈরি করা। যদিও নন-এপিআই fetch() থেকে অনুরোধের চূড়ান্ত আকার এখনও তদন্তাধীন।

সাব ফ্রেম থেকে অনুরোধ ভবিষ্যতে অনুমতি নীতির সাথে সমর্থিত হতে পারে.

ভবিষ্যতে, আমরা সাব ফ্রেমের ক্ষমতা শিথিল করার জন্য অনুমতি নীতিগুলিকে সমর্থন করতে চাই।

ব্যক্তিগত নেটওয়ার্ক ব্যবহারের ক্ষেত্রে প্রতিক্রিয়া

আপনি যদি একটি ব্যক্তিগত নেটওয়ার্কে একটি ওয়েবসাইট হোস্ট করেন যার জন্য সর্বজনীন নেটওয়ার্কের অনুরোধের প্রয়োজন হয়, Chrome টিম আপনার প্রতিক্রিয়া চায়! ক্রোমিয়াম ইস্যু ট্র্যাকারে (কম্পোনেন্ট: ব্লিঙ্ক>সিকিউরিটি ফিচার>সিওআরএস>প্রাইভেটনেটওয়ার্ক অ্যাক্সেস) বা গিটহাব রিপোজিটরিতে একটি সমস্যা ফাইল করুন।

সম্পদ