1. “অধ্যায় 63: Secrets Management” scenario-তে মূল control কোনটি?
key revoke/rotate, use audit, secret manager-এ স্থানান্তর, history exposure ধরো—এটাই অধ্যায় 63: Secrets Management-এর প্রধান defensive control.
Secret lifecycle, rotation ও exposure response.
অগ্রগতি এই browser-এ স্থানীয়ভাবে সংরক্ষিত হবে।
ক্যাফের test key একদিন whiteboard-এর ছবিতে দেখা গেল। সামির বুঝল secret শুধু লুকিয়ে রাখা নয়—কোথায় ব্যবহৃত হয়েছে জানা, revoke করা, বদলানো ও log থেকে সরানোও জরুরি; সে mock incident checklist লিখল। বৃষ্টি ম্যাম বললেন, “সৌরভ সোনা, আগে সমস্যাটাকে ছোট করে বুঝি—কোন সম্পদ, কার অনুমতি, আর কোন সীমার মধ্যে কাজ?” সৌরভ বোর্ডে একটি data-flow এঁকে সম্ভাব্য ভুলের জায়গা চিহ্নিত করল। তারা বাস্তব কোনো account বা website-এ হাত না দিয়ে synthetic উদাহরণে hypothesis যাচাই করল।
বৃষ্টি ম্যাম জিজ্ঞেস করলেন, “সৌরভ, গল্পের চরিত্রটি কোন সীমা পেরোতে দিচ্ছিল?” তারা বোর্ডে asset, actor, trust boundary আর expected outcome লিখল। ভুলটি শুধু একটি tool-এর সমস্যা নয়; server কী অনুমতি দিচ্ছে, আর সেই সিদ্ধান্ত যাচাই করা যায় কি না—সেটিই মূল প্রশ্ন।
তারপর তারা বাস্তব service ছুঁয়ে না দেখে synthetic record-এ একই decision অনুশীলন করল। প্রথমে স্বাভাবিক অনুমোদিত flow, তারপর ভুল পরিচয়/invalid state, শেষে fix-এর পর retest। বৃষ্টি ম্যাম বললেন, “সোনা, নিরাপদ শেখা মানে কেবল সমস্যা দেখানো নয়—সীমা মেনে প্রতিরক্ষা প্রমাণ করাও।”
সমস্যা: git history বা build artifact-এ secret থাকলে delete করলেও তা exposed থাকে।
মূল নিয়ম: key revoke/rotate, use audit, secret manager-এ স্থানান্তর, history exposure ধরো। এই নিয়মটি Secret lifecycle, rotation ও exposure response.-এর সঙ্গে মিলিয়ে threat boundary-তে enforce করো; শুধু UI, client-side check বা model instruction-এ ভরসা কোরো না। প্রত্যাখ্যানের কারণ user-কে নিরাপদভাবে জানাও, আর diagnosis-এর জন্য সীমিত redacted event রাখো।
নিচের snippet-টি illustrative pseudocode। এটি কোনো বাইরের target-এ পরীক্ষা চালায় না; control কীভাবে server-side-এ বসে তা দেখায়।
key = secret_manager.read('service/api-key')
never_log(key)Review checklist: explicit scope, least privilege, malformed/unauthorized negative case, privacy-safe logging এবং post-fix retest।
repository history-তে API key commit হয়েছে। সঠিক response কী? কেবল isolated mock বা লিখিত অনুমতিপ্রাপ্ত lab-এ চেষ্টা করো। expected result এবং deny case লিখে রাখো।
key revoke/rotate, use audit, secret manager-এ স্থানান্তর, history exposure ধরো Vault-backed secrets, scoped identities, rotation, no secrets in logs. remediation-এর owner ও retest ফলাফলও নথিভুক্ত করো।
Review: owner, telemetry, failure behavior ও retest ফলাফল নথিভুক্ত করো।
Scope, synthetic setup, পর্যবেক্ষণ, ঝুঁকি, remediation ও retest লিখে রাখো। secret বা ব্যক্তিগত তথ্য যোগ কোরো না।
Mock incident-এ exposed test key-এর containment steps লিখো.
Scenario: repository history-তে API key commit হয়েছে। সঠিক response কী?
একটি defensive সিদ্ধান্ত বেছে নিয়ে ল্যাব চালু করো চাপো। এটি synthetic scenario; কোনো network request করা হয় না।
git history বা build artifact-এ secret থাকলে delete করলেও তা exposed থাকে।—সফল সমাধানে scope, control এবং retest—তিনটিই উল্লেখ করো।
প্রতিটি প্রশ্নে একটি উত্তর বেছে নাও। ব্যাখ্যাসহ স্কোর নিচে দেখা যাবে।
key revoke/rotate, use audit, secret manager-এ স্থানান্তর, history exposure ধরো—এটাই অধ্যায় 63: Secrets Management-এর প্রধান defensive control.
git history বা build artifact-এ secret থাকলে delete করলেও তা exposed থাকে। হওয়ায় access, data বা service impact হতে পারে.
Synthetic isolated environment production data বা অন্যের service-কে ঝুঁকিতে ফেলে না.
Negative case control bypass বা fail-open আচরণ ধরতে সাহায্য করে.
এতে তদন্তযোগ্য প্রমাণ থাকে, কিন্তু secret বা customer payload লগ হয় না.
আগে scope স্থির করলে পরীক্ষা অনুমোদিত ও সীমাবদ্ধ থাকে.
validation ব্যর্থতায় fail-closed আচরণ নিরাপদ.
Code/config ও synthetic test control বাস্তবে কার্যকর কি না দেখায়.
Retest fix ও regression দুটোই যাচাই করে.
এই তথ্য remediation-কে actionable করে, sensitive data প্রকাশ না করে.
স্কোর: ০ / ১০
আরও পড়ার জন্য প্রতিষ্ঠিত security standards ও guidance দেখো; প্রতিটি lab অনুমোদিত বা synthetic environment-এ করো।