জেডাব্লুটিটির প্রসঙ্গে স্টোরম্পাথ এগুলি সংরক্ষণের সম্ভাব্য উপায়গুলি এবং প্রতিটি পদ্ধতির সাথে সম্পর্কিত (অসুবিধাগত) সুবিধাগুলি সম্পর্কে মোটামুটি সহায়ক নিবন্ধ লিখেছেন।
এটিতে এক্সএসএস এবং সিএসআরএফ আক্রমণগুলির একটি সংক্ষিপ্ত বিবরণ রয়েছে এবং আপনি কীভাবে তাদের লড়াই করতে পারবেন।
নীচের নিবন্ধটির কয়েকটি সংক্ষিপ্ত স্নিপেট সংযুক্ত করেছি, যদি নিবন্ধটি অফলাইনে নেওয়া হয় / তাদের সাইটটি নিচে যায়।
স্থানীয় স্টোরেজ
সমস্যা:
ওয়েব স্টোরেজ (লোকালস্টোরেজ / সেশনস স্টোরেজ) একই ডোমেনে জাভাস্ক্রিপ্টের মাধ্যমে অ্যাক্সেসযোগ্য। এর অর্থ হল যে আপনার সাইটে চলমান যে কোনও জাভাস্ক্রিপ্টের ওয়েব স্টোরেজে অ্যাক্সেস থাকবে এবং এর কারণে ক্রস-সাইট স্ক্রিপ্টিং (এক্সএসএস) আক্রমণে ঝুঁকিপূর্ণ হতে পারে। সংক্ষেপে XSS হ'ল এক ধরণের দুর্বলতা যেখানে কোনও আক্রমণকারী জাভাস্ক্রিপ্ট ইনজেক্ট করতে পারে যা আপনার পৃষ্ঠায় চলবে। বেসিক এক্সএসএস আক্রমণগুলি ফর্ম ইনপুটগুলির মাধ্যমে জাভাস্ক্রিপ্ট ইনজেক্ট করার চেষ্টা করে, যেখানে আক্রমণকারী সতর্ক করে দেয় ('আপনি হ্যাক হয়েছেন'); এটি ব্রাউজার দ্বারা চালিত হয় এবং অন্যান্য ব্যবহারকারীদের দ্বারা এটি দেখতে পারা যায় কিনা তা দেখতে কোনও ফর্মের মধ্যে
প্রতিরোধ:
এক্সএসএস প্রতিরোধের জন্য, সাধারণ প্রতিক্রিয়া হ'ল সমস্ত অবিশ্বস্ত ডেটা এড়ানো এবং এনকোড করা। তবে এটি পুরো গল্প থেকে দূরে। 2015 সালে, আধুনিক ওয়েব অ্যাপ্লিকেশনগুলি সিডিএন বা বাইরের অবকাঠামোতে হোস্ট করা জাভাস্ক্রিপ্ট ব্যবহার করে। আধুনিক ওয়েব অ্যাপ্লিকেশনগুলিতে এ / বি পরীক্ষার জন্য তৃতীয় পক্ষের জাভাস্ক্রিপ্ট লাইব্রেরি, ফানেল / বাজার বিশ্লেষণ এবং বিজ্ঞাপনগুলি অন্তর্ভুক্ত রয়েছে। আমরা আমাদের অ্যাপ্লিকেশনগুলিতে অন্যান্য লোকের কোড আমদানি করতে বোভারের মতো প্যাকেজ পরিচালকদের ব্যবহার করি।
আপনার ব্যবহৃত স্ক্রিপ্টগুলির মধ্যে একটির মধ্যে যদি আপত্তি হয় তবে কী হবে? ক্ষতিকারক জাভাস্ক্রিপ্ট পৃষ্ঠাটিতে এম্বেড করা যেতে পারে এবং ওয়েব স্টোরেজ আপোষযুক্ত। এই ধরণের এক্সএসএস আক্রমণগুলি তাদের অজান্তেই আপনার ওয়েবসাইট পরিদর্শনকারী প্রত্যেকের ওয়েব স্টোরেজ পেতে পারে। সম্ভবত এই কারণেই সংস্থাগুলির একগুচ্ছ ওয়েব স্টোরেজে কোনও মূল্যবোধ সঞ্চয় করতে বা কোনও তথ্যতে বিশ্বাস না করার পরামর্শ দেয়। এর মধ্যে সেশন শনাক্তকারী এবং টোকেন অন্তর্ভুক্ত রয়েছে।
স্টোরেজ মেকানিজম হিসাবে, ওয়েব স্টোরেজ স্থানান্তরকালে কোনও সুরক্ষিত মান প্রয়োগ করে না। যে কেউ ওয়েব স্টোরেজ পড়েন এবং এটি ব্যবহার করেন তাদের অবশ্যই যথাযথ পরিশ্রম করতে হবে তা নিশ্চিত করার জন্য যে তারা সর্বদা এইচটিটিপিএসের মাধ্যমে জেডব্লিউটি প্রেরণ করে এবং কখনও এইচটিটিপিতে নয়।
বিস্কুট
সমস্যা:
কুকিজ, যখন এইচটিটিপি কেবলমাত্র কুকি পতাকা ব্যবহার করা হয় তখন জাভাস্ক্রিপ্টের মাধ্যমে অ্যাক্সেসযোগ্য হয় না এবং এক্সএসএস-এর থেকে সুরক্ষিত থাকে। কুকি কেবল এইচটিটিপিএস এর মাধ্যমে প্রেরিত হয় তা গ্যারান্টি হিসাবে আপনি সিকিওর কুকি পতাকা সেট করতে পারেন। টোকেন বা সেশন ডেটা সংরক্ষণ করার জন্য অতীতে কুকিগুলির লিভারেজ করা এই মূল কারণগুলির মধ্যে একটি। আধুনিক বিকাশকারীরা কুকিগুলি ব্যবহার করতে দ্বিধাগ্রস্থ হন কারণ তাদের traditionতিহ্যগতভাবে সার্ভারে স্টোর থাকা দরকার এবং এভাবে RESTful সেরা অভ্যাসগুলি ভঙ্গ করা হয়। স্টোরেজ মেকানিজম হিসাবে কুকিগুলির সার্ভারে স্টেট থাকা দরকার না যদি আপনি কুকিতে একটি জেডাব্লুটি সঞ্চয় করে থাকেন। এটি কারণ যে জেডাব্লুটিটি সার্ভারকে অনুরোধটি পরিবেশন করার জন্য প্রয়োজনীয় সমস্ত কিছু আবদ্ধ করে।
তবে, কুকিজগুলি বিভিন্ন ধরণের আক্রমণে ঝুঁকিপূর্ণ: ক্রস-সাইট অনুরোধ জালিয়াতি (সিএসআরএফ)। সিএসআরএফ আক্রমণটি এমন এক ধরণের আক্রমণ যা ঘটে যখন কোনও দূষিত ওয়েবসাইট, ইমেল বা ব্লগ কোনও ব্যবহারকারীর ওয়েব ব্রাউজারকে কোনও বিশ্বস্ত সাইটে অনাকাঙ্ক্ষিত ক্রিয়া সম্পাদন করে যার উপর ব্যবহারকারী বর্তমানে প্রমাণীকৃত থাকে। এটি ব্রাউজার কীভাবে কুকিগুলি পরিচালনা করে তার একটি শোষণ। একটি কুকি কেবল সেই ডোমেনগুলিতে পাঠানো যেতে পারে যেখানে এটি অনুমোদিত allowed ডিফল্টরূপে, এটি সেই ডোমেন যা মূলত কুকি সেট করে। আপনি গ্যালাক্সিজ ডট কম বা hahagonnahackyou.com এ নির্বিশেষে কুকিকে একটি অনুরোধের জন্য প্রেরণ করা হবে।
প্রতিরোধ:
আধুনিক ব্রাউজার সমর্থন SameSite
পতাকা , ছাড়াও HttpOnly
এবং Secure
। এই পতাকাটির উদ্দেশ্য হ'ল কুকি ক্রস-সাইট অনুরোধগুলিতে সঞ্চারিত হওয়া এবং বিভিন্ন ধরণের সিএসআরএফ আক্রমণ প্রতিরোধ করা।
সমর্থন করে না এমন ব্রাউজারগুলির জন্য SameSite
সিএসআরএফ সিঙ্ক্রোনাইজড টোকেন নিদর্শন ব্যবহার করে প্রতিরোধ করা যেতে পারে। এটি জটিল শোনাচ্ছে তবে সমস্ত আধুনিক ওয়েব ফ্রেমওয়ার্কের জন্য এটির সমর্থন রয়েছে।
উদাহরণস্বরূপ, কুকিটি কেবল আপনার ডোমেন দ্বারা অ্যাক্সেসযোগ্য তা যাচাই করার জন্য অ্যাঙ্গুলারজেএসের একটি সমাধান রয়েছে। সোজা AngularJS ডক্স থেকে:
এক্সএইচআর অনুরোধগুলি সম্পাদন করার সময়, $ http পরিষেবাটি কোনও কুকি থেকে একটি টোকন পড়ে (ডিফল্টরূপে, এক্সএসআরএফ-টোকেন) এবং এটি একটি HTTP শিরোনাম হিসাবে সেট করে (এক্স-এক্সএসআরএফ-টোকেন)। যেহেতু আপনার ডোমেনে চালিত কেবল জাভাস্ক্রিপ্টই কুকিটি পড়তে পারে, তাই আপনার সার্ভারকে নিশ্চিত করা যেতে পারে যে আপনার ডোমেনে চলছে জাভাস্ক্রিপ্ট থেকে এক্সএইচআর এসেছে। আপনি xsrfToken
JWT দাবী যুক্ত করে এই সিএসআরএফ সুরক্ষাটিকে রাষ্ট্রহীন করতে পারেন :
{
"iss": "http://galaxies.com",
"exp": 1300819380,
"scopes": ["explorer", "solar-harvester", "seller"],
"sub": "tom@andromeda.com",
"xsrfToken": "d9b9714c-7ac0-42e0-8696-2dae95dbc33e"
}
আপনার ওয়েব অ্যাপ্লিকেশন কাঠামোর সিএসআরএফ সুরক্ষা উপার্জন কুকিগুলিকে জেডাব্লুটিটি সংরক্ষণের জন্য শক্ত করে তোলে। আপনার এপিআই থেকে এইচটিটিপি রেফারার এবং অরিজিন শিরোনাম পরীক্ষা করেও সিএসআরএফ আংশিকভাবে প্রতিরোধ করা যেতে পারে। সিএসআরএফ আক্রমণগুলিতে রেফারার এবং অরিজিনের শিরোনামগুলি থাকবে যা আপনার আবেদনের সাথে সম্পর্কিত নয়।
সম্পূর্ণ নিবন্ধটি এখানে পাওয়া যাবে:
https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-stores/
টোকেনের কাঠামোর কাঠামোর সাথে কীভাবে জেডাব্লুটি টির সর্বোত্তম নকশা ও প্রয়োগ করা যায় সে সম্পর্কে তাদের একটি সহায়ক নিবন্ধ রয়েছে:
https://stormpath.com/blog/jwt-theright-way/