যখন আমি কেউ কেউ বলতে শুনি যে তারা একটি অ্যাপ্লিকেশন "অধুনিক" করেছে, এটি সাধারণত মানে তারা SAML বা OIDC সক্রিয় করেছে।
শুধুকরছেনঅ্যাক্সেসকে সহজ করে এবং চাপ কমিয়ে দেয়. কিন্তু এটাই আমাকে উদ্বিগ্ন করে: অনেক টিম সেখানে থেমে থাকে. তারা এসএসও বাস্তবায়ন করে এবং কঠিন অংশটি শেষ বলে মনে করে।
কেন "আমরা আধুনিক" সবসময় আপনি কি মনে করেন মানে না
যখন লোকেরা আমাকে বলে যে তাদের অ্যাপ্লিকেশনটি আধুনিকায়িত হয়েছে, আমি জিজ্ঞেস করি এটি আসলে কি মানে। অনেক ক্ষেত্রে, এটি শুধুমাত্র অ্যাপ্লিকেশনটি এখন এসএসও সমর্থন করে. এটি এখনও একই অভ্যন্তরীণ সেশন লজিকিকে ব্যবহার করে. অনুমোদন এখনও অ্যাপ্লিকেশনে গভীরভাবে কোড করা হয়. এটি এখনও দুর্বল - শুধু একটি ভাল লগইন পৃষ্ঠা দিয়ে।
এখানে যা ঘটেছে তা অধিকাংশই স্বীকার করার চেয়ে বেশি সাধারণ: আমরা সামনের দরজাটি আধুনিককরণ করি এবং বাকি ঘরটি বাকি রাখি।
এবং এটি একটি সমস্যা, কারণ পরিচয় শুধুমাত্র লগ ইন সম্পর্কে নয়; এটি পরে কী ঘটে তা নিয়ে।
আধুনিক সনাক্তকরণ আসলে কী প্রদান করে
SAML এবং OIDC মত আধুনিক auth প্রোটোকলগুলি বাস্তব চ্যালেঞ্জগুলি সমাধান করার জন্য ডিজাইন করা হয়েছিল - প্রধানত লগইন এবং ফেডারেশন।
এবং হ্যাঁ, এসএসও এই প্রোটোকলগুলির মাধ্যমে নিরাপত্তা অবস্থার উন্নতি করে।
প্রোটোকল অগ্রগতি - কিন্তু তারা ফাইনাল লাইন নয়
আমাকে ভুল করবেন না, OIDC বা SAML এর জন্য সমর্থন যোগ করা একটি অগ্রগতি। আপনি কম পাসওয়ার্ড, কম ফ্রিজ এবং আরও একক ব্যবহারকারীর অভিজ্ঞতা পাবেন. তারা অন্যান্য গুরুত্বপূর্ণ নিয়ন্ত্রণগুলি সরবরাহ করে না যা আমরা ওয়েব অ্যাক্সেস ম্যানেজমেন্ট (WAM) সিস্টেমগুলির সাথে নির্ভর করেছি: কেন্দ্রীয় সেশন নিয়ন্ত্রণ, অনুমোদন প্রয়োগ, ডিরেক্টরি ইন্টিগ্রেশন এবং একক নীতি ব্যবস্থাপনা।
WAM সিস্টেমগুলি নিখুঁত ছিল না, কিন্তু তারা আমাদের অ্যাপ্লিকেশনগুলির মধ্যে একটি সামঞ্জস্যপূর্ণ নিয়ন্ত্রণ স্তর দিয়েছিল।
অ্যাপ্লিকেশনটি আধুনিক নয় যদি পরিচয় এখনও কঠোরভাবে কোড করা হয়
আমি অ্যাপগুলি দেখেছি যা পৃথিবীতে স্লিক দেখায় কিন্তু এখনও দুর্বল, ডেভেলপার নির্দিষ্ট পরিচয়গুলির উপর নির্ভর করে যা দৃশ্যগুলির পেছনে ঘুরে বেড়ায়।
কিছু টিম এখনও অপরিবর্তিত সেশন লাইব্রেরি ব্যবহার করে। অন্যরা অ্যাক্সেস নিয়মগুলি কঠোরভাবে কোড করে এমনভাবে যা অডিটিংকে একটি দুঃস্বপ্ন তৈরি করে।
যেখানে জিনিসগুলি ভেঙে যায়: সেশন ব্যবস্থাপনা
আধুনিক পরিবেশে সবচেয়ে বড় পরিচয় অন্ধ স্পটগুলির মধ্যে একটি হচ্ছে সেশন ম্যানেজমেন্ট।
WAM এর সাথে, সেশন আচরণ – টাইমআউট, পুনর্নবীকরণ, বাতিল – এক জায়গায় পরিচালনা করা হয়েছিল. আপনি একটি নীতি পরিবর্তন প্রয়োগ করতে পারেন এবং এটি সার্বভৌমভাবে প্রযোজ্য হবে জানতে পারেন. আজ, সেশন লজিকটি প্রতিটি ব্যক্তিগত অ্যাপ্লিকেশনের ভিতরে অন্তর্ভুক্ত হয়, বিভিন্ন ভাষা এবং ফ্রেমওয়ার্কগুলিতে ছড়িয়ে পড়ে।
আমি Spring, Node.js, Rails ব্যবহার করে টিমগুলির সাথে কাজ করেছি - এবং এমনকি একটি ফ্রেমওয়ার্কের মধ্যেও, এককতার নিশ্চয়তা নেই।
সামঞ্জস্যপূর্ণ সেশন টাইমআউটগুলি প্রয়োগ করতে সক্ষম না হওয়া একটি বিশাল ঝুঁকি যদি তারা সেশনগুলি বাতিল করতে না পারে যখন কিছু সন্দেহজনক ঘটে।
decentralized session logic এর খরচ
সেশনের লাইব্রেরিগুলি প্যাচ করার সময় সপ্তাহ বা মাস লাগে, অথবা কেউ জানে না কোথায় অস্থায়ী টাইমআউটগুলি সংজ্ঞায়িত হয়, সুরক্ষা সর্বোত্তম সময়ে প্রতিক্রিয়াশীল হয়ে যায়।
এটা তাত্ত্বিক নয়. আমি কোম্পানিগুলি শুধুমাত্র তাদের সেশন পরিচালনা কিভাবে কাজ করে তা অনুসরণ করার জন্য লড়াই করে দেখেছি. এটি প্রজাতন্ত্রের জ্ঞান হয়ে উঠেছে, অ্যাপ্লিকেশন কোডে গভীরভাবে লুকানো।
এটি স্থিতিশীল নয় - বিশেষ করে সংস্থাগুলির জন্য যেগুলি সম্মতি বা শূন্য বিশ্বাসের লক্ষ্যগুলি মোকাবেলা করে।
পরিচয় বিস্তার এবং অনুমোদন ড্রাইভ
সেশন লজিক্যালের ক্ষেত্রেও একই ঘটনা ঘটে অনুমোদনের ক্ষেত্রে. একবার এটি অ্যাপ্লিকেশন কোডে ডাউনলোড করা হলে, এটি কেন্দ্রীয়ভাবে পরিচালনা করা প্রায় অসম্ভব হয়ে যায়।
নিয়মগুলি ব্যবসায়িক লজিকায় দাফন করা হয়. নীতিগুলি ড্রাইভ করা হয়. এবং শেষ পর্যন্ত, কেউ সঠিকভাবে জানে না কার কী অ্যাক্সেস আছে - অথবা কেন. এমনকি আধুনিক সনাক্তকরণ সমর্থনকারী অ্যাপগুলি এখানে ব্যর্থ হতে পারে, কারণ AuthZ প্রোটোকলের অংশ নয়. এটি সম্পূর্ণরূপে একটি আলাদা চ্যালেঞ্জ এবং এটি অনেক টিম সম্পূর্ণরূপে বিবেচনা করে না।
পরবর্তী টিউনআপ করতে হবে
এই মুহূর্তে, আমি মনে করি এটি স্পষ্ট: আধুনিক সনাক্তকরণ শুধুমাত্র পজিশনের একটি অংশ।
অর্কস্ট্রেশন ব্যবহারের সুবিধাগুলি অন্তর্ভুক্ত করে:
- সেশনগুলি অবিলম্বে বাতিল করার ক্ষমতা পুনরুদ্ধার
- সেশন এবং authZ নীতিগুলি নিয়মিতভাবে প্রয়োগ করুন
- এক জায়গা থেকে ফেডারেশন কী এবং সার্ট পরিচালনা
- শূন্য আস্থা সমর্থনের জন্য ঝুঁকি সংকেতগুলির সাথে ইন্টিগ্রেশন (যেমন CAEP)
- অ্যাপগুলি পুনরায় লিখা বা পরিচয় প্রদানকারীদের পরিবর্তন না করে সবকিছু করা
অর্কেস্ট্রেসিং "আধুনিক প্রোটোকল সমর্থন" এবং বাস্তব পরিচিতি আধুনিককরণ মধ্যে পতন।
কেন্দ্রীয়তা মানে পিছিয়ে যাওয়া নয়
কখনও কখনও মানুষ অনুমান করে যে পরিচয় নিয়ন্ত্রণ এক জায়গায় ফিরে আসা একটি পিছনের ধাপ।
এটি এজিলিটি সক্ষম করার ব্যাপার। সিকিউরিটি টিমদের তাদের প্রয়োজনীয় দৃশ্যমানতা দেওয়ার ব্যাপারে, ডেভেলপারদের হ্রাস না করে. একটি পরিষেবা হিসাবে পরিচয় ব্যবস্থাপনা সম্পর্কে - অ্যাপ্লিকেশন নির্দিষ্ট হ্যাক সিরিজ হিসাবে নয়।
যখন আপনি অর্কেস্ট্রেশন না করেন তখন প্রতিটি পরিচয় চ্যালেঞ্জ একটি একক সমাধান হয়ে যায়।
যদি আমি একটি নিরাপত্তা টিমের সাথে কথা বলি, তবে আমি সাধারণত এই ধরনের একটি প্রশ্ন জিজ্ঞাসা করব: "কত দ্রুত আপনি ব্যবহারকারীর সেশনগুলি বাতিল করতে পারেন?আপনার কোম্পানির প্রতিটি অ্যাপ‘এখনই কি?
যদি উত্তরটি “এখনই” এর চেয়ে কম হয়, তাহলে একটি সমস্যা সমাধানের যোগ্য।
ট্যাগ: এসইওতে থামবেন না
আমি এটি স্পষ্টভাবে বলব: আধুনিক সনাক্তকরণ অপরিহার্য, কিন্তু এটি অসম্পূর্ণ. যদি আপনি এসএসওতে থামেন, তাহলে আপনি নিয়ন্ত্রণ স্তরটি মিস করছেন যা বাকি সবকিছু কাজ করে - নিরাপদভাবে, নিরপেক্ষভাবে এবং পরিমাপে।
সুতরাং হ্যাঁ, SAML গ্রহণ করুন. OIDC চালু করুন. কিন্তু লগইন বক্সটি ফাইনাল লাইন হতে দেবেন না।
আপনি যদি সত্যিকারের নিরাপত্তা চান, তাহলে আর্কিটেকচার ভ্রমণের অংশ হতে হবে।
লেখক সম্পর্কে
Darren Platt Securant Technologies, Ping Identity, Simplified, RSA এবং Oracle এ প্রকৌশল দলগুলির নেতৃত্ব দিয়েছেন. তিনি এখন Strata Identity এ পণ্য ব্যবস্থাপনা এবং প্রকৌশল ভিসি, যেখানে তিনি বিতরণযোগ্য পরিবেশগুলির জন্য প্রথম বিতরণযোগ্য Identity Orchestration প্ল্যাটফর্ম নির্মাণ করছেন এবং নতুন নীতি অর্কস্ট্রেশন স্ট্যান্ডার্ড, IDQL এবং তার রেফারেন্স সফ্টওয়্যার হেক্সাতে অবদান রাখছেন।