Content Security Policy
বিষয়বস্তু নিরাপত্তা নীতি (সি. এস. পি) হল একটি কম্পিউটার নিরাপত্তা মান যা ক্রস-সাইট স্ক্রিপ্টিং (এক্স. এস. এস), ক্লিকজ্যাকিং এবং বিশ্বস্ত ওয়েব পৃষ্ঠার প্রেক্ষাপটে দূষিত বিষয়বস্তু সম্পাদনের ফলে অন্যান্য কোড ইনজেকশন আক্রমণ প্রতিরোধ করার জন্য চালু করা হয়েছে। এটি আধুনিক ওয়েব ব্রাউজার দ্বারা ব্যাপকভাবে সমর্থিত ওয়েব অ্যাপ্লিকেশন সুরক্ষার উপর ডব্লিউ3সি ওয়ার্কিং গ্রুপের একটি প্রার্থী সুপারিশ। সিএসপি ওয়েবসাইট মালিকদের জন্য একটি আদর্শ পদ্ধতি প্রদান করে যাতে ব্রাউজারগুলিকে সেই ওয়েবসাইটে লোড করার অনুমতি দেওয়া উচিত এমন বিষয়বস্তুর অনুমোদিত উৎস ঘোষণা করা যায়-আচ্ছাদিত প্রকারগুলি হল জাভাস্ক্রিপ্ট, সিএসএস, এইচটিএমএল ফ্রেম, ওয়েব কর্মী, ফন্ট, চিত্র, এম্বেডযোগ্য বস্তু যেমন জাভা অ্যাপলেট, অ্যাক্টিভএক্স, অডিও এবং ভিডিও ফাইল এবং অন্যান্য এইচটিএমএল5 বৈশিষ্ট্য। স্ট্যাটাস স্ট্যান্ডার্ড, যা মূলত বিষয়বস্তু সীমাবদ্ধতা নামে পরিচিত, 2004 সালে রবার্ট হ্যানসেন দ্বারা প্রস্তাবিত হয়েছিল, যা প্রথম ফায়ারফক্স 4-এ প্রয়োগ করা হয়েছিল এবং অন্যান্য ব্রাউজারগুলি দ্রুত গ্রহণ করেছিল। মানটির সংস্করণ 1 2012 সালে ডাব্লু 3 সি প্রার্থী সুপারিশ হিসাবে প্রকাশিত হয়েছিল এবং দ্রুত 2014 সালে প্রকাশিত আরও সংস্করণ (স্তর 2) সহ, স্তর 3 এর খসড়াটি ওয়েব ব্রাউজারগুলির দ্বারা দ্রুত নতুন বৈশিষ্ট্যগুলি গ্রহণ করে তৈরি করা হচ্ছে। পরীক্ষামূলক সিএসপি বাস্তবায়নের অংশ হিসাবে নিম্নলিখিত হেডার নামগুলি ব্যবহার করা হয়ঃ বিষয়বস্তু-নিরাপত্তা-নীতি-ডাব্লু3সি নথি দ্বারা প্রস্তাবিত স্ট্যান্ডার্ড হেডার নাম। গুগল ক্রোম সংস্করণ 25 হিসাবে এটি সমর্থন করে। ফায়ারফক্স 2013 সালের 6ই আগস্ট মুক্তি পাওয়া সংস্করণ 23 হিসাবে এটি সমর্থন করে। ওয়েবকিট এটি 528 সংস্করণ (রাত্রিকালীন নির্মাণ) হিসাবে সমর্থন করে। ক্রোমিয়াম-ভিত্তিক মাইক্রোসফ্ট এজ সমর্থন ক্রোমের অনুরূপ। এক্স-ওয়েবকিট-সিএসপি-2011 সালে গুগল ক্রোম, সাফারি এবং অন্যান্য ওয়েবকিট-ভিত্তিক ওয়েব ব্রাউজারে অব্যবহৃত, পরীক্ষামূলক হেডার চালু করা হয়। এক্স-কন্টেন্ট-সিকিউরিটি-পলিসি-অপ্রচলিত, পরীক্ষামূলক হেডার গেকো 2 ভিত্তিক ব্রাউজারে চালু করা হয়েছে (ফায়ারফক্স 4 থেকে ফায়ারফক্স 22, থান্ডারবার্ড 3.3, সিমঙ্কি 2.1)। একটি ওয়েবসাইট একাধিক সিএসপি শিরোনাম ঘোষণা করতে পারে, এছাড়াও প্রয়োগকারী এবং শুধুমাত্র রিপোর্ট করা শিরোনামগুলি মিশ্রিত করতে পারে। প্রতিটি হেডার ব্রাউজার দ্বারা আলাদাভাবে প্রক্রিয়া করা হবে। এইচটিএমএল মেটা ট্যাগ ব্যবহার করে এইচটিএমএল কোডের মধ্যেও সিএসপি সরবরাহ করা যেতে পারে, যদিও এই ক্ষেত্রে এর কার্যকারিতা সীমিত হবে। ইন্টারনেট এক্সপ্লোরার 10 এবং ইন্টারনেট এক্সপ্লোরার 11 পরীক্ষামূলক এক্স-কন্টেন্ট-সিকিউরিটি-পলিসি হেডার ব্যবহার করে সিএসপি সমর্থন করে, তবে শুধুমাত্র স্যান্ডবক্স নির্দেশিকা সমর্থন করে। বেশ কয়েকটি ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক সিএসপি সমর্থন করে, উদাহরণস্বরূপ অ্যাঙ্গুলারজেএস (নেটিভ) এবং জ্যাঙ্গো (মিডলওয়্যার)। রুবি অন রেলসের জন্য নির্দেশাবলী গিটহাব দ্বারা পোস্ট করা হয়েছে। ওয়েব ফ্রেমওয়ার্ক সমর্থন শুধুমাত্র তখনই প্রয়োজন যখন সিএসপি বিষয়বস্তু কোনওভাবে ওয়েব অ্যাপ্লিকেশনের অবস্থার উপর নির্ভর করে-যেমন ননস অরিজিনের ব্যবহার। অন্যথায়, সিএসপি বরং স্থিতিশীল এবং অ্যাপ্লিকেশনের উপরে ওয়েব অ্যাপ্লিকেশন স্তর থেকে বিতরণ করা যেতে পারে, উদাহরণস্বরূপ লোড ব্যালেন্সার বা ওয়েব সার্ভারে। বাইপাস ডিসেম্বর 2015 এবং ডিসেম্বর 2016 সালে, 'ননস' অনুমতিযুক্ত উৎসকে বাইপাস করার কয়েকটি পদ্ধতি প্রকাশিত হয়েছিল। 2016 সালের জানুয়ারিতে, আরেকটি পদ্ধতি প্রকাশিত হয়েছিল, যা সার্ভার-ব্যাপী সিএসপি-কে একই সার্ভারে হোস্ট করা জাভাস্ক্রিপ্ট লাইব্রেরির পুরানো এবং দুর্বল সংস্করণগুলি (সিডিএন সার্ভারের ক্ষেত্রে ঘন ঘন) কাজে লাগানোর অনুমতি দেয়। 2017 সালের মে মাসে ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক কোড ব্যবহার করে সিএসপি বাইপাস করার জন্য আরও একটি পদ্ধতি প্রকাশিত হয়েছিল। অপারেশনের পদ্ধতি যদি সার্ভারের প্রতিক্রিয়ায় বিষয়বস্তু-নিরাপত্তা-নীতি শিরোনাম উপস্থিত থাকে, তবে একটি অনুবর্তী ক্লায়েন্ট ঘোষণামূলক অনুমোদনের তালিকা নীতি প্রয়োগ করে। একটি নীতির একটি উদাহরণ লক্ষ্য হল নির্দিষ্ট ক্রস-সাইট স্ক্রিপ্টিং আক্রমণ প্রতিরোধ করার জন্য জাভাস্ক্রিপ্টের জন্য একটি কঠোর এক্সিকিউশন মোড। বাস্তবে এর অর্থ হল যে বেশ কয়েকটি বৈশিষ্ট্য ডিফল্টভাবে নিষ্ক্রিয় করা হয়েছেঃ ইনলাইন জাভাস্ক্রিপ্ট কোড <স্ক্রিপ্ট> ব্লক, এইচটিএমএল বৈশিষ্ট্য হিসাবে ডিওএম ইভেন্ট হ্যান্ডলার (যেমন। অনক্লিক) জাভাস্ক্রিপ্টঃ লিঙ্ক ইনলাইন সিএসএস বিবৃতি <শৈলী> ব্লক শৈলী এইচটিএমএল উপাদানগুলির জন্য দায়ী সেটটাইমআউট এবং সেটইন্টারভাল ফাংশনের জন্য ডায়নামিক জাভাস্ক্রিপ্ট কোড মূল্যায়ন মূল্যায়ন () স্ট্রিং আর্গুমেন্ট নতুন ফাংশন () কনস্ট্রাক্টর ডায়নামিক সিএসএস বিবৃতি CSSStyleSheet.insertRule () পদ্ধতি নতুন অ্যাপ্লিকেশনটিতে সিএসপি ব্যবহার করা বেশ সোজা হতে পারে, বিশেষত সিএসপি-সামঞ্জস্যপূর্ণ জাভাস্ক্রিপ্ট কাঠামোর ক্ষেত্রে, বিদ্যমান অ্যাপ্লিকেশনগুলির জন্য কিছু রিফ্যাক্টরিং-বা নীতি শিথিল করার প্রয়োজন হতে পারে। সি. এস. পি-সামঞ্জস্যপূর্ণ ওয়েব অ্যাপ্লিকেশনগুলির জন্য প্রস্তাবিত কোডিং অনুশীলন হল বাহ্যিক উৎস ফাইলগুলি (<স্ক্রিপ্ট এস. আর. সি>) থেকে কোড লোড করা, এটি মূল্যায়নের পরিবর্তে জে. এস. ও. এন বিশ্লেষণ করা এবং ইভেন্ট হ্যান্ডলার সেট করতে <আই. ডি1> () ব্যবহার করা। নোটিশ রিপোর্টিং যে কোনও সময় কোনও অনুরোধকৃত রিসোর্স বা স্ক্রিপ্ট এক্সিকিউশন নীতি লঙ্ঘন করলে, ব্রাউজারটি লঙ্ঘনের বিশদ সহ রিপোর্ট-ইউরি বা রিপোর্ট-টুতে নির্দিষ্ট মানটিতে একটি পোস্ট অনুরোধ পাঠাবে। সি. এস. পি রিপোর্টগুলি স্ট্যান্ডার্ড জে. এস. ও. এন কাঠামো এবং অ্যাপ্লিকেশনের নিজস্ব এ. পি. আই বা পাবলিক সি. এস. পি রিপোর্ট রিসিভার দ্বারা ক্যাপচার করা যেতে পারে। 2018 সালে নিরাপত্তা গবেষকরা দেখিয়েছেন যে কীভাবে রিপোর্ট-ইউরিতে নির্দিষ্ট মনোনীত রিসিভারের কাছে মিথ্যা পজিটিভ রিপোর্ট পাঠানো যায়। এটি সম্ভাব্য আক্রমণকারীদের ইচ্ছাকৃতভাবে সেই অ্যালার্মগুলিকে ট্রিগার করার অনুমতি দেয় এবং প্রকৃত আক্রমণের ক্ষেত্রে তাদের কম কার্যকর করে তুলতে পারে। এই আচরণটি উদ্দেশ্যপ্রণোদিত এবং ঠিক করা যায় না, কারণ ব্রাউজার (ক্লায়েন্ট) রিপোর্ট পাঠাচ্ছে। ব্রাউজার অ্যাড-অন এবং এক্সটেনশন ছাড় মূল সিএসপি (1) প্রসেসিং মডেল (2012-2013) অনুসারে, সিএসপি ব্যবহারকারীর দ্বারা ইনস্টল করা ব্রাউজার অ্যাড-অন বা এক্সটেনশনের ক্রিয়াকলাপে হস্তক্ষেপ করা উচিত নয়। সিএসপি-র এই বৈশিষ্ট্যটি কার্যকরভাবে যে কোনও অ্যাড-অন, এক্সটেনশন বা বুকমার্কলেটকে সেই স্ক্রিপ্টের উৎপত্তি নির্বিশেষে ওয়েবসাইটগুলিতে স্ক্রিপ্ট ইনজেক্ট করার অনুমতি দিত এবং এইভাবে সিএসপি নীতি থেকে অব্যাহতি পেত। যাইহোক, এই নীতিটি নিম্নলিখিত শব্দের সাথে সংশোধন করা হয়েছে (সিএসপি 1.1 হিসাবে)। দ্রষ্টব্যঃ ব্যবহারকারী এজেন্টরা ব্যবহারকারীদের পছন্দ, বুকমার্কলেট, ব্যবহারকারী এজেন্টের সাথে তৃতীয় পক্ষের সংযোজন এবং ব্রাউজার ব্যবহারকারীদের দ্বারা নীতি মেনে চলার অনুরোধ/দাবি করার জন্য এবং জনপ্রিয় ব্রাউজারগুলিতে (ফায়ারফক্স, ক্রোম, সাফারি) এটি সমর্থন করার জন্য পরিবর্তনগুলি ইনস্টল করার জন্য ব্যবহারকারীদের নীতি প্রয়োগের মাধ্যমে পরিবর্তন বা বাইপাস করার অনুমতি দিতে পারে। এটি বিশেষভাবে বিতর্কিত ছিল যখন টুইটার এবং গিটহাবের মতো সাইটগুলি শক্তিশালী সিএসপি নীতি ব্যবহার করতে শুরু করে, যা বুকমার্কলেটের ব্যবহারকে 'ভেঙে' দেয়। ডাব্লু3সি ওয়েব অ্যাপ্লিকেশন সিকিউরিটি ওয়ার্কিং গ্রুপ এই ধরনের স্ক্রিপ্টকে ব্রাউজার দ্বারা বাস্তবায়িত ট্রাস্টেড কম্পিউটিং বেসের অংশ হিসাবে বিবেচনা করে; তবে, কক্স কমিউনিকেশনসের একজন প্রতিনিধি ওয়ার্কিং গ্রুপের কাছে যুক্তি দিয়েছেন যে এই ছাড়টি একটি সম্ভাব্য নিরাপত্তা ফাঁক যা দূষিত বা আপোস করা অ্যাড-অন বা এক্সটেনশন দ্বারা কাজে লাগানো যেতে পারে। ডাব্লু3সি দ্বারা বেশ কয়েকটি নতুন ব্রাউজার সুরক্ষা মান প্রস্তাব করা হচ্ছে, যার মধ্যে বেশিরভাগই সিএসপি-র পরিপূরকঃ সাব-সোর্স ইন্টিগ্রিটি (এসআরআই), শুধুমাত্র পরিচিত, বিশ্বস্ত রিসোর্স ফাইলগুলি (সাধারণত জাভাস্ক্রিপ্ট, সিএসএস) তৃতীয় পক্ষের সার্ভারগুলি (সাধারণত সিডিএন) থেকে লোড করা হয় তা নিশ্চিত করার জন্য মিশ্র সামগ্রী, এইচটিটিপিএস-এর উপর লোড করা পৃষ্ঠাগুলিতে ব্রাউজারের নীতি স্পষ্ট করার জন্য এবং প্লেইনটেক্সট এইচটিটিপি আপগ্রেড অনিরাপদ অনুরোধগুলির মাধ্যমে সামগ্রী লিঙ্ক করার জন্য, এইচটিটিপিএস শংসাপত্র পরিচালনায় স্থানান্তরিত পৃষ্ঠাগুলিতে উত্তরাধিকার লিঙ্কগুলি কীভাবে পরিচালনা করতে হয় সে সম্পর্কে ব্রাউজারগুলিকে ইঙ্গিত করে, জটিল লগইন স্কিমগুলি সহজতর করার জন্য ব্যবহারকারীর শংসাপত্রগুলি অ্যাক্সেস করার জন্য একটি ইউনিফাইড জাভাস্ক্রিপ্ট এপিআই, রেফারার নীতি, প্রজন্মের উপর ব্রাউজারকে ইঙ্গিত করার জন্য সিএসপি এক্সটেনশন এছাড়াও দেখুন একই-মূল নীতি নোস্ক্রিপ্ট-অ্যান্টি-এক্সএসএস সুরক্ষা এবং অ্যাপ্লিকেশন বাউন্ডারি এনফোর্সার (এবিই), ফায়ারফক্স এইচটিটিপি সুইচবোর্ডের জন্য এক্সটেনশন-ব্যবহারকারী সংজ্ঞায়িত সিএসপি নিয়ম, গুগল ক্রোম এবং অপেরার জন্য এক্সটেনশন এইচটিটিপি কঠোর পরিবহন সুরক্ষা এইচটিটিপি পাবলিক কী পিনিং রেফারেন্স বাহ্যিক লিঙ্ক বিষয়বস্তু সুরক্ষা নীতি ডাব্লু 3 সি ওয়ার্কিং ড্রাফ্ট এমডিএন ওয়েব ডক্সে সামগ্রী সুরক্ষা নীতি (সিএসপি) এর জন্য সুরক্ষিত কোডিং নির্দেশিকা কম্পিউটার সুরক্ষা মান হ্যাকিং (কম্পিউটার সুরক্ষা) হাইপারটেক্সট ট্রান্সফার প্রোটোকল হেডার ওয়েব অ্যাপ্লিকেশন ওয়েব সুরক্ষা শোষণ