এই পর্বে যা শিখবেন
- মহড়ার ধরন চেনা আর পরিস্থিতি অনুযায়ী ঠিক ধরনটি বেছে নেওয়া
- লক্ষ্য থেকে inject পর্যন্ত একটি tabletop নকশা করা
- ঈদের সেলের একটি তৈরি ৬০ মিনিটের মহড়া নিজের দলে চালানো
- কর্মী, ক্রেতা, নিয়ন্ত্রক আর সাংবাদিকের জন্য সংকটের বার্তা লেখা
- Decision log, after-action report আর কাজের হিসাব দিয়ে শেখাকে স্থায়ী করা
১ · মহড়া কেন দরকার: চাপে পরিকল্পনা ভেঙে পড়ে
গার্মেন্টস কারখানার অগ্নি-মহড়ার কথা ভাবুন। দেয়ালে জরুরি নির্গমনের নকশা টাঙানো আছে। কিন্তু ঘণ্টা বাজলে দেখা গেল একটি দরজা কার্টনে আটকে আছে, আর নতুন কর্মীরা সিঁড়ি চেনেন না। আসল আগুনের আগেই এই ভুল ধরা পড়লে জীবন বাঁচে। মহড়ার কাজ ঠিক এটাই।
সাইবার ঘটনাতেও একই গল্প। Incident response পরিকল্পনা ফাইলে থাকে (পর্ব ৬১), ransomware-এর runbook-ও লেখা থাকে। তবু চাপের মুখে এমন সব ফাঁক দেখা যায়:
- পরিকল্পনাটি রাখা ছিল সেই server-এ, যেটি এখন অচল।
- জরুরি তালিকার ফোন নম্বরটি দুই বছর আগের কর্মীর।
- সবাই ধরে নিয়েছেন অন্য কেউ নেতৃত্ব দেবেন।
- System বন্ধ করার অনুমতি দিতে পারেন মাত্র একজন, আর তিনি বিমানে।
- Backup “আছে” বলা হয়েছে, কিন্তু ফেরাতে কত সময় লাগবে কেউ জানেন না।
কেন এমন হয়? চাপে মানুষের মনোযোগ সরু হয়, চেনা কাজে ফিরে যায়, আর সবচেয়ে জোরে বলা কথাই সিদ্ধান্ত হয়ে যায়। পরিকল্পনা লেখা হয় শান্ত মাথায়, কিন্তু ব্যবহার হয় রাত দুটোয়। মহড়া এই দুই অবস্থার ব্যবধান কমায়।
Tabletop exercise হলো একটি বানানো ঘটনা ঘিরে দলের সবাইকে নিয়ে পরিচালিত আলোচনা। সবাই বলেন নিজের ভূমিকায় কী করতেন, কাকে জানাতেন, কী সিদ্ধান্ত নিতেন। কোনো system ছোঁয়া হয় না। ফল হলো ফাঁকের একটি তালিকা, যা আসল ঘটনার আগেই বন্ধ করা যায়।
NIST SP 800-84 (Guide to Test, Training, and Exercise Programs for IT Plans and Capabilities, সেপ্টেম্বর ২০০৬) IT পরিকল্পনার পরীক্ষা, প্রশিক্ষণ আর মহড়ার মূল নথিগুলোর একটি। এতে বিশেষভাবে tabletop আর functional exercise আলোচিত হয়েছে, আর আছে নমুনা facilitator guide ও after action report. কাজের চারটি ধাপ এখানে: design, development, conduct আর evaluation. বইটি পুরোনো, তবে নকশার নিয়মগুলো আজও কাজে লাগে।
২ · মহড়ার ধরন: আলোচনা থেকে red team
সব মহড়া এক নয়। বাস্তবতা যত বাড়ে, খরচ আর ঝুঁকিও তত বাড়ে। তাই সিঁড়ির মতো ধাপে ধাপে ওঠা ভালো।
মহড়ার সিঁড়ি
From discussion to live testing: realism, cost and risk rise together
| ধরন | কী হয় | কী প্রমাণ করে | কখন |
|---|---|---|---|
| Discussion (seminar, workshop) | পরিকল্পনা নিয়ে আলোচনা বা খসড়া তৈরি | সবাই নিয়ম জানেন | নতুন পরিকল্পনার শুরুতে |
| Tabletop | পরিস্থিতি ধরে আলোচনা | ভূমিকা, সমন্বয়, সিদ্ধান্ত | বছরে কয়েকবার |
| Drill | একটি নির্দিষ্ট কাজ সত্যিই করা, যেমন backup ফেরানো | সেই কাজটি হয় কি না, কত সময় লাগে | নিয়মিত, ছোট আকারে |
| Functional | নিজের দায়িত্ব বানানো পরিবেশে পালন | একাধিক কাজ একসাথে চলে কি না | Tabletop পরিণত হলে |
| Full-scale | বহু দল বাস্তব সময়ে সম্পদ সরিয়ে কাজ করে | পুরো প্রতিষ্ঠানের প্রস্তুতি | বড় প্রতিষ্ঠানে, কম ঘন ঘন |
| Red team | অনুমতিসহ হামলাকারীর মতো ভেবে দলকে যাচাই | Detection আর সাড়া বাস্তবে কতটা কাজ করে | পরিণত দলে |
| Purple team | Red আর blue team পাশে বসে ধাপে ধাপে যাচাই | কোন detection কাজ করে, কোনটি ফাঁকা | Detection উন্নতির সময় |
নামের ব্যবহারে ভিন্নতা আছে। যুক্তরাষ্ট্রের জরুরি-ব্যবস্থাপনার HSEEP (জানুয়ারি ২০২০) মহড়াকে দুই ভাগে দেখে: discussion-based (seminar, workshop, tabletop, game) আর operations-based (drill, functional, full-scale). NIST SP 800-84 মূলত tabletop আর functional নিয়ে কথা বলে, আর full-scale-কে functional-এর বড় রূপ হিসেবে দেখে। Red team এই দুটি তালিকার বাইরের শব্দ, নিরাপত্তা জগত থেকে এসেছে। প্রতিষ্ঠানে আগে শব্দগুলোর অর্থ মিলিয়ে নিন।
Live মহড়ার নিরাপত্তা
Tabletop-এ system ছোঁয়া হয় না। কিন্তু drill, functional বা red team-এ ভুল হলে সত্যিকারের বিভ্রাট ঘটতে পারে। তাই:
Cloud দলগুলো এমন live অনুশীলনকে অনেক সময় game day বলে। নিয়ন্ত্রিত ব্যর্থতার চর্চা Cloud & DevOps কোর্সের chaos পর্বে দেখতে পারেন।
৩ · একটি tabletop-এর নকশা
ভালো tabletop নাটকের রিহার্সালের মতো। পরিচালক জানেন কোন দৃশ্যে কী পরীক্ষা হবে, কিন্তু অভিনেতারা সংলাপ আগে থেকে পান না। সাতটি অংশ ঠিক থাকলে এক ঘণ্টাতেই অনেক শেখা যায়।
| অংশ | প্রশ্ন | ভালো উদাহরণ |
|---|---|---|
| লক্ষ্য (objective) | কী যাচাই হবে? | “২৫ মিনিটের মধ্যে out-of-band যোগাযোগ চালু হয় কি না” |
| অংশগ্রহণকারী (audience) | কে বসবেন? | IT, customer care, অর্থ, মালিক; আট থেকে বারোজন |
| পরিস্থিতি (scenario) | গল্পটি কী? | আপনার ব্যবসার মতো, বিশ্বাসযোগ্য, ছোট |
| Inject | কখন নতুন কী ঘটবে? | “সাংবাদিক ফোন করেছেন” — প্রতিটি inject একটি সিদ্ধান্ত চায় |
| Facilitator | কে চালাবেন? | যিনি উত্তর দেন না, প্রশ্ন করেন আর সময় ধরেন |
| Evaluator | কে লিখবেন? | যিনি চুপচাপ সময় আর কথা টুকে রাখেন; NIST-এর ভাষায় data collector |
| Time box | কত সময়? | ৬০ মিনিট, শেষ ৮ মিনিট শুধু আলোচনা-পর্যালোচনার |
Inject-এর পুরো তালিকাকে অনেক জায়গায় MSEL বলা হয়। Inject লেখার তিনটি নিয়ম: প্রতিটি একটি লক্ষ্যের সাথে বাঁধা; প্রতিটিতে অন্তত দুটি যুক্তিসংগত পথ; আর উত্তর জানা থাকে এমন “ধরা পড়ার” প্রশ্ন নয়। কোনো মহড়াই হামলার কৌশল শেখানোর জায়গা নয়, তাই ঘটনা কীভাবে ঘটল তা ইচ্ছে করেই ঝাপসা রাখুন। আলোচনা হবে সাড়া নিয়ে।
বিনা খরচের কাঠামো: যুক্তরাষ্ট্রের CISA বিনা মূল্যে CISA Tabletop Exercise Packages দেয়। প্রতিটি package-এ নমুনা লক্ষ্য, পরিস্থিতি আর আলোচনার প্রশ্ন থাকে, যা বদলে নেওয়া যায়; সাথে থাকে situation manual, ভূমিকার template, slide, feedback form আর after-action report-এর নমুনা। নতুন package যোগ হয়, পুরোনো কিছু archive-এ যায়, তাই ব্যবহারের আগে CISA-র পাতায় দেখে নিন। এগুলো মার্কিন প্রেক্ষাপটে লেখা, তাই আইন আর সংস্থার নাম নিজের দেশের মতো বদলাতে হবে।
সবচেয়ে বড় বিপদ সময়। প্রথম আলোচনা জমে গেলে শেষের inject আর পর্যালোচনা বাদ পড়ে, অথচ শেখার বড় অংশ সেখানেই। নিচের ছোট simulator একটি বানানো মহড়ার ঘড়ি চালায়। দুটি আলোচনা বেশি সময় নিয়েছে। প্রথমে facilitator কিছু করেন না, তারপর সময় ছেঁটে শেষের পর্যালোচনা বাঁচান।
// Toy exercise clock in minutes. Nothing here touches a real system.
const injects = [
{ id: 'I1', at: 5, len: 10, text: 'orders fail, care team calls' },
{ id: 'I2', at: 15, len: 10, text: 'ransom note on order system' },
{ id: 'I3', at: 25, len: 10, text: 'backup job failed for 3 days' },
{ id: 'I4', at: 35, len: 10, text: 'customer post, journalist call' },
{ id: 'I5', at: 45, len: 7, text: 'partner asks, owner unreachable' },
];
const HOTWASH_AT = 52, END = 60, MIN_TALK = 5;
const overrun = { I2: 4, I3: 3 }; // extra minutes people talked
function run(trim) {
let clock = 5;
injects.forEach((inj, i) => {
const later = injects.length - i - 1;
const wanted = inj.len + (overrun[inj.id] || 0);
const budget = HOTWASH_AT - clock - later * MIN_TALK;
const used = trim ? Math.max(MIN_TALK, Math.min(wanted, budget)) : wanted;
const late = clock - inj.at;
console.log(` t=${String(clock).padStart(2)} ${inj.id} late ${late} talk ${used} ${inj.text}`);
clock += used;
});
console.log(` t=${clock} hotwash, ${END - clock} min left`);
}
console.log('No time box:');
run(false);
console.log('Facilitator trims to protect the hotwash:');
run(true);সময় না ধরলে শেষ লাইন আসে t=59 hotwash, 1 min left. Facilitator ছাঁটলে I4 আর I5 ৫ মিনিট করে পায়, আর আসে t=52 hotwash, 8 min left. I3-এর পর ঘড়ি ৪২-এ, তখন বাকি ১০ মিনিটে দুটি inject আর প্রতিটির সর্বনিম্ন ৫ মিনিট। ছোট আলোচনা মেনে নিয়েও শেষের পর্যালোচনা রক্ষা করা ভালো, কারণ hotwash ছাড়া মহড়ার শিক্ষা হারিয়ে যায়।
৪ · তৈরি ৬০ মিনিটের মহড়া: ঈদের সেলে ransomware
এই অংশটি প্রিন্ট করে নিজের দলে চালাতে পারেন। দোকান, মানুষ আর সংখ্যা সবই কাল্পনিক। ঘটনা কীভাবে ঘটল, তা এই মহড়ার বিষয় নয়, তাই কোনো কৌশলের বিবরণ নেই।
পটভূমি
“উদাহরণ শপ” ৪৫ জনের একটি অনলাইন দোকান। পোশাক বিক্রি হয় website-এ, পেমেন্ট আসে gateway partner হয়ে, পণ্য যায় courier partner দিয়ে। ঈদের সেলের শেষ সপ্তাহে দিনে প্রায় ১,২০০ অর্ডার।
কাল্পনিককে বসবেন
মালিক, operations প্রধান, IT প্রধান, customer care প্রধান, marketing, হিসাব। সাথে একজন করে facilitator আর evaluator থাকবেন। আইনজীবী থাকলে ভালো।
৮ জনপাঁচটি লক্ষ্য
O1 নেতা ঠিক হয়। O2 আলাদা যোগাযোগ পথ চলে। O3 ফেরার সময় প্রমাণসহ জানা যায়। O4 বার্তা অনুমোদিত হয়। O5 কাকে জানাতে হবে তা স্পষ্ট হয়।
মাপা যায়নিয়ম
শুধু আলোচনা, কোনো system-এ হাত নয়। দোষ নয়, ফাঁক খোঁজা। “জানি না” একটি ভালো উত্তর। নিজের ভূমিকায় কথা বলা।
শুরুতে পড়ুন৬০ মিনিটের সময়সূচি
Exercise clock: welcome, five injects, hotwash
এবার পাঁচটি inject. Facilitator একটি করে পড়বেন, তারপর প্রশ্ন করবেন। “প্রত্যাশিত আলোচনা” অংশটি উত্তর-পত্র নয়, facilitator-এর স্মরণ-তালিকা।
Inject: ঈদের আগের শেষ শুক্রবার, রাত ১১:৪০। Customer care জানালেন, ক্রেতারা অর্ডার করতে পারছেন না, পুরোনো অর্ডারের তথ্যও আসছে না। Facebook পেজে অভিযোগ বাড়ছে। IT প্রধান ফোন ধরছেন না।
প্রশ্ন: এখন কে নেতৃত্ব দেবেন? কীভাবে সবাইকে ডাকবেন? কোন মাপকাঠিতে একে নিরাপত্তা-ঘটনা বলবেন?
প্রত্যাশিত আলোচনা: একজন incident lead ঘোষণা করা; IT প্রধানের বিকল্প কে; অফিসের ইমেইল ছাড়া যোগাযোগের পথ; প্রথম সময়টি লিখে রাখা; severity ঠিক করা।
Inject: রাত ১২:১৫। IT প্রধান জানালেন, order system-এর ফাইল খোলা যাচ্ছে না, আর মুক্তিপণ চেয়ে একটি নোট রাখা। নোটে দাবি, ক্রেতাদের ডেটা নেওয়া হয়েছে। ৭২ ঘণ্টার সময়সীমা দেওয়া।
প্রশ্ন: System বন্ধ করবেন, না সেল চালিয়ে যাবেন? এই সিদ্ধান্ত কার? প্রমাণ কীভাবে রক্ষা করবেন? আজ রাতেই কাকে বাইরে থেকে ডাকবেন?
প্রত্যাশিত আলোচনা: Containment বনাম ব্যবসার ক্ষতি (পর্ব ৬২); log আর আক্রান্ত যন্ত্র না মোছা (পর্ব ৬৩); নোটের দাবি এখনো যাচাই হয়নি; cyber insurance আর বাইরের সহায়তাকারীর ফোন নম্বর কোথায়; মুক্তিপণ নিয়ে সিদ্ধান্ত কে নেবেন, কার পরামর্শে।
Inject: রাত ১:৩০। IT প্রধান বললেন, তিন দিন ধরে backup job ব্যর্থ হচ্ছিল, কেউ ইমেইলটি দেখেননি। শেষ ভালো কপি তিন দিন আগের, মাপ ১৮০ GB. ব্যবসার লক্ষ্য RTO ৪ ঘণ্টা, RPO ১ দিন।
প্রশ্ন: ফেরাতে আসলে কত সময় লাগবে, প্রমাণ কী? তিন দিনের অর্ডার কোথা থেকে ফেরাবেন? এই সময়ে ক্রেতার অর্ডার কীভাবে নেবেন?
প্রত্যাশিত আলোচনা: ১০ MB/s গতি ধরলে ১৮০,০০০ MB ÷ ১০ = ১৮,০০০ সেকেন্ড, মানে ৫ ঘণ্টা; যাচাই ২ ঘণ্টা ধরলে ৭ ঘণ্টা, যা RTO-র চেয়ে বেশি। RPO-ও ভাঙল: প্রায় ৩,৬০০ অর্ডার। Payment আর courier partner-এর রেকর্ড থেকে অর্ডার মেলানো; কাগজে বা ফোনে সীমিত বিক্রি; পরিষ্কার পরিবেশে ফেরানো, যাতে সমস্যা আবার না আসে।
Inject: সকাল ৯:০০। এক ক্রেতা Facebook-এ লিখলেন, “আমার তথ্য ফাঁস হয়েছে!” পোস্টটি ছড়াচ্ছে। একজন সাংবাদিক ফোন করে জানতে চাইলেন, “কতজনের ডেটা গেছে? এটা কি হ্যাকিং?” কর্মীরা নিজেদের WhatsApp গ্রুপে অনুমান লিখছেন।
প্রশ্ন: বাইরে কে কথা বলবেন? ১৫ মিনিটে কী বার্তা যাবে? কর্মীদের কী বলবেন? ক্রেতাদের জন্য আসল পথ কোনটি?
প্রত্যাশিত আলোচনা: একজন মুখপাত্র; অন্য সবাই একটি নির্ধারিত বাক্য বলবেন; কর্মীদের আগে জানানো; holding statement; একটিমাত্র অফিসিয়াল পাতা; নকল সহায়তা-বার্তা নিয়ে ক্রেতাকে সতর্ক করা।
Inject: বেলা ১১:০০। Payment gateway partner লিখিত ব্যাখ্যা চাইছে। মালিক বিদেশগামী বিমানে, ৯ ঘণ্টা যোগাযোগ নেই। হিসাব বিভাগ জানাল, courier partner বিল না পেলে সন্ধ্যায় পরিষেবা থামাতে পারে।
প্রশ্ন: মালিকের অনুপস্থিতিতে কে কতদূর সিদ্ধান্ত নিতে পারেন? কোন সংস্থাকে কখন জানাতে হবে? চুক্তিতে কী লেখা আছে, কে দেখবেন?
প্রত্যাশিত আলোচনা: ক্ষমতা হস্তান্তরের লিখিত তালিকা; partner-এর চুক্তির জানানোর শর্ত; জাতীয় CIRT-কে জানানোর দায়িত্ব (পর্ব ৬); ব্যক্তিগত তথ্য থাকলে কী প্রযোজ্য, তা আইনজীবীর সাথে দেখা, যার আলোচনা পর্ব ৭০-এ আছে।
এবার মহড়ার প্রথম ১৫ মিনিট ঘড়ি ধরে দেখুন। Facilitator কখন কথা বলেন আর কখন চুপ থাকেন, সেটি খেয়াল করুন।
| ঘড়ি | |
| কে বলছেন | |
| কী ঘটছে | |
| Evaluator-এর খাতা |
- ০০:০০ · স্বাগত। Facilitator পাঁচটি লক্ষ্য বলেন আর জানান, এটি কারও পরীক্ষা নয়। Evaluator উপস্থিত ৮ জন লিখে নেন।
- ০০:০২ · নিয়ম। শুধু আলোচনা, কোনো system-এ হাত নয়, দোষ নয়, ফোন চুপ। “জানি না” বলা যাবে। এতে পরের কথাগুলো খোলামেলা হয়।
- ০০:০৪ · পটভূমি। “উদাহরণ শপ” আর সেলের অবস্থা পড়া হয়। একজন একটি প্রশ্ন করেন, খাতায় ওঠে। পটভূমি নিয়ে বিতর্ক চললে facilitator থামান।
- ০০:০৫ · I1. Inject পড়া হয়, মহড়ার ঘড়ি শুরু। Facilitator এবার চুপ। নিজে উত্তর দিয়ে দেওয়া তাঁর সবচেয়ে বড় ভুল হতে পারে।
- ০০:০৮ · দ্বিধা। সবাই নিজের কাজ বলছেন, নেতা কেউ নন। এটিই প্রথম ফাঁক, আর evaluator তা লিখে রাখেন। Facilitator জিজ্ঞেস করেন, “এই মুহূর্তে সিদ্ধান্ত কে নিচ্ছেন?”
- ০০:১২ · নেতা। Operations প্রধান বলেন, “আমি incident lead.” Evaluator লেখেন, O1 পূরণ হলো মিনিট ১২-এ। লক্ষ্য ছিল মিনিট ১৫, তাই এটি সফল।
- ০০:১৫ · সারসংক্ষেপ। Facilitator দুই বাক্যে যা ঠিক হলো তা বলেন। খোলা প্রশ্ন ২টি পরে ফিরবে: IT প্রধানের বিকল্প কে, আর দলের জরুরি যোগাযোগ কোন পথে। তারপর I2.
Facilitator-এর তিনটি কৌশল: সবচেয়ে কনিষ্ঠজনকে আগে জিজ্ঞেস করুন, যাতে বড়দের মত সবাইকে প্রভাবিত না করে। “আপনি কীভাবে জানবেন?” প্রশ্নটি বারবার করুন, কারণ এটি অনুমানকে প্রমাণের দিকে নেয়। কেউ বিতর্কে আটকে গেলে “এটি খাতায় তুললাম” বলে এগিয়ে যান।
৫ · সংকটের যোগাযোগ আর holding statement
পাড়ায় আগুন লাগলে মাইকে একজন বলেন, “কোথায় আগুন, কোন রাস্তা দিয়ে সরবেন, দমকল আসছে।” দশজন দশ রকম কথা বললে ভিড় আর ভয় বাড়ে। Crisis communication-এর কাজও এই: সবাই একই সঠিক কথা শুনবেন, ঠিক মানুষের মুখে, ঠিক সময়ে।
| কাকে | কে জানাবেন | মূল কথা | সাধারণ ফাঁদ |
|---|---|---|---|
| কর্মী | Incident lead বা মালিক | কী জানা গেছে, কী করবেন না, প্রশ্ন কাকে করবেন | কর্মী খবরটি Facebook-এ প্রথম দেখেন |
| ক্রেতা | মুখপাত্র | সেবার অবস্থা, তাঁর করণীয়, আসল যোগাযোগের পথ | নকল সহায়তা-বার্তার সতর্কতা না দেওয়া |
| নিয়ন্ত্রক ও সরকারি সংস্থা | আইনজীবীর পরামর্শে মনোনীত ব্যক্তি | যাচাই করা তথ্য, নির্ধারিত পথে | কাকে জানাতে হবে তা ঘটনার দিন খোঁজা |
| সংবাদমাধ্যম | একজন মুখপাত্র | লিখিত বিবৃতি, যা ক্রেতাদের বার্তার সাথে মেলে | “no comment” বলা বা অনুমান করা |
| Partner, vendor | সম্পর্কের দায়িত্বে থাকা ব্যক্তি | তাঁদের ওপর প্রভাব, চুক্তির শর্ত | Partner-কে খবর থেকে জানতে দেওয়া |
আক্রান্ত ইমেইল বা chat হয়তো হামলাকারীও পড়ছেন, তাই সংবেদনশীল কথা আলাদা out-of-band পথে চলুক। সেই পথ আগেই ঠিক করে পরীক্ষা করে রাখুন। বাংলাদেশে জাতীয় CIRT-কে জানানোর আইনি দিকটি পর্ব ৬-এ আলোচিত। এই পর্ব আইনি পরামর্শ নয়; কোন সংস্থা, কত সময়ে, তা নিজের ক্ষেত্রে আইনজীবীর সাথে ঠিক করুন।
Holding statement
Holding statement হলো সব তথ্য জানার আগের সংক্ষিপ্ত প্রথম বিবৃতি। এটি সবকিছুর উত্তর দেয় না। শুধু দেখায় যে আপনি জানেন, কাজ করছেন আর আবার কথা বলবেন। নীরবতার ফাঁকা জায়গা গুজব ভরে দেয়, আবার তাড়াহুড়ার ভুল আশ্বাস পরে ফিরে আসে। নিচের ধাপে বিশৃঙ্খল নোট থেকে একটি বিবৃতি তৈরি হচ্ছে।
রাত ১১:৪০ থেকে অর্ডার বন্ধ সম্ভবত বিদেশি হ্যাকার ডেটা নিয়েছে? নোটে দাবি, যাচাই হয়নি Vendor-এর দোষ মনে হচ্ছে সেবা আলাদা করা হয়েছে
জানা: ১১:৪০ থেকে অর্ডার বন্ধ, সেবা আলাদা অজানা: ডেটার ওপর প্রভাব, কারণ অনুমান (বাদ): কে করেছে, কার দোষ
আমরা নিশ্চিত হয়েছি যে রাত ১১:৪০ থেকে অর্ডার সেবা বন্ধ আছে। কারণ আর প্রভাব আমরা এখনো যাচাই করছি। সতর্কতা হিসেবে আমরা সেবাটি আলাদা করেছি।
আমরা নিশ্চিত হয়েছি যে রাত ১১:৪০ থেকে
অর্ডার সেবা বন্ধ আছে। কারণ আর প্রভাব
আমরা এখনো যাচাই করছি। সতর্কতা হিসেবে
আমরা সেবাটি আলাদা করেছি।
অনুরোধ: কেউ ফোনে OTP চাইলে দেবেন না।
আমরা নিশ্চিত হয়েছি যে রাত ১১:৪০ থেকে
অর্ডার সেবা বন্ধ আছে। কারণ আর প্রভাব
আমরা এখনো যাচাই করছি। সতর্কতা হিসেবে
আমরা সেবাটি আলাদা করেছি।
অনুরোধ: কেউ ফোনে OTP চাইলে দেবেন না।
পরবর্তী আপডেট আজ 13:00-এ।
| পূরণ হয়েছে | |
| বাকি |
- কাঁচা নোট। সংকটের প্রথম ঘণ্টায় তথ্য আর গুজব একসাথে থাকে। এই নোট এখনো কারও কাছে পাঠানোর মতো নয়, তাই চার শর্তের কোনোটিই পূরণ হয়নি।
- ভাগ করা। প্রতিটি লাইনকে জিজ্ঞেস করুন, “প্রমাণ কী?” কে করেছে আর কার দোষ, এই দুটি অনুমান, তাই বাদ। ডেটা নিয়ে নোটের দাবিটি অজানা হিসেবে থাকল।
- তথ্য আর ব্যবস্থা। সরল বাক্যে যা নিশ্চিত, তা বলা হলো। “অজানা” কথাটি লুকানো হয়নি। দুটি শর্ত পূরণ হলো।
- পাঠকের করণীয়। সংকটের সময় প্রতারকেরা সহায়তাকারী সেজে ফোন করতে পারে। তাই একটি স্পষ্ট, কাজের অনুরোধ যোগ হলো। তিনটি শর্ত পূরণ।
- পরের আপডেট। একটি নির্দিষ্ট সময় দেওয়া হলো, আর সেই সময় নতুন কিছু না থাকলেও জানাতে হবে। এবার incident lead আর আইনজীবী পড়ে অনুমোদন দেবেন।
ঘটনার দিন নতুন করে লিখতে বসলে সময় নষ্ট হয়। শান্ত সময়ে template বানিয়ে রাখুন। নিচের খেলনা যাচাইকারী দুটি খসড়া পরীক্ষা করে: চারটি জরুরি অংশ আছে কি না, আর অনুমান, ভুল আশ্বাস, দোষারোপ বা কারও নাম ধরে অভিযোগের লক্ষণ আছে কি না।
// Toy checker for a holding statement. A human still decides.
const must = {
'known fact': /নিশ্চিত হয়েছি/,
'action': /আমরা .*(করেছি|করছি)/,
'advice': /অনুরোধ/,
'next update': /পরবর্তী আপডেট.*\d{1,2}:\d{2}/,
};
const banned = {
'speculation': /সম্ভবত|মনে হচ্ছে/,
'false assurance': /ফাঁস হয়নি|সম্পূর্ণ নিরাপদ/,
'blame': /দোষ/,
'attribution': /বিদেশি|হ্যাকার দল/,
};
const drafts = {
A: 'সম্ভবত বিদেশি হ্যাকার দল হামলা করেছে। কোনো ডেটা ফাঁস হয়নি। ' +
'এটি আমাদের সরবরাহকারীর দোষ।',
B: 'আমরা নিশ্চিত হয়েছি যে রাত ১১:৪০ থেকে অর্ডার সেবা বন্ধ আছে। ' +
'কারণ আর প্রভাব আমরা এখনো যাচাই করছি। ' +
'সতর্কতা হিসেবে আমরা সেবাটি আলাদা করেছি। ' +
'অনুরোধ: কেউ ফোনে OTP চাইলে দেবেন না। ' +
'পরবর্তী আপডেট আজ 13:00-এ।',
};
for (const [name, text] of Object.entries(drafts)) {
const missing = Object.keys(must).filter(k => !must[k].test(text));
const flagged = Object.keys(banned).filter(k => banned[k].test(text));
const ok = missing.length === 0 && flagged.length === 0;
console.log(`Draft ${name}: ${ok ? 'READY FOR HUMAN REVIEW' : 'REWRITE'}`);
console.log(` missing: ${missing.join(', ') || 'none'}`);
console.log(` flagged: ${flagged.join(', ') || 'none'}`);
}Draft A পায় REWRITE: missing: known fact, action, advice, next update আর flagged: speculation, false assurance, blame, attribution. Draft B পায় READY FOR HUMAN REVIEW. লক্ষ্য করুন, ফলটি “পাঠিয়ে দিন” নয়। Regex শুধু শব্দ মেলায়, অর্থ বোঝে না। তথ্যটি সত্যি কি না, বার্তা আইনসম্মত কি না, তা মানুষকেই দেখতে হবে।
৬ · নেতৃত্ব, আইনজীবী আর decision log
নেতৃত্ব কেন বসবেন? বড় সিদ্ধান্তগুলো প্রযুক্তির নয়, ব্যবসার: সেল থামানো, মুক্তিপণ, ক্রেতাকে কী বলা, কত খরচ। মহড়ায় মালিক প্রথমবার বুঝতে পারেন, ৪ ঘণ্টার RTO শুধু একটি সংখ্যা ছিল। তাই বছরে অন্তত একবার নেতৃত্বের জন্য আলাদা, ছোট একটি মহড়া রাখুন। প্রযুক্তিগত খুঁটিনাটি বাদ দিন; আলোচনা হোক ক্ষমতা, খরচ, সুনাম আর আইনি দায় নিয়ে। আগে থেকে লিখে রাখুন, কোন সিদ্ধান্ত কার, আর তিনি না থাকলে কার।
Legal privilege, শুধু ধারণা হিসেবে: অনেক আইনব্যবস্থায় আইনগত পরামর্শের জন্য আইনজীবীর সাথে গোপন আলাপ আদালতে প্রকাশ থেকে কিছুটা সুরক্ষা পায়। তবে নিরাপত্তা-রিপোর্টে “privileged” লিখলেই সুরক্ষা হয় না। ২০২০ সালে যুক্তরাষ্ট্রের একটি আদালত Capital One মামলায় একটি forensic রিপোর্টকে work product হিসেবে সুরক্ষিত মানেনি; আগের চুক্তির ধরন আর রিপোর্টের ব্যবসায়িক ব্যবহার সেখানে গুরুত্ব পেয়েছিল। নিয়ম দেশভেদে আলাদা, আর বাংলাদেশে এর সীমা কতটা, তা আইনজীবীই বলবেন। বাস্তব শিক্ষা হলো, ঘটনার সময় লেখা প্রতিটি কথা পরে পড়া হতে পারে, এই ধরে নিয়ে তথ্যনির্ভর লিখুন। আগে থেকে ঠিক করুন, আইনজীবী কখন যুক্ত হবেন। এটি আইনি পরামর্শ নয়।
Decision log হলো জাহাজের লগবইয়ের মতো। প্রতিটি বড় সিদ্ধান্তের সময়, কারণ আর সিদ্ধান্তদাতা লেখা থাকে। সংকট কেটে গেলে স্মৃতি বদলায়, লেখা বদলায় না। মহড়ায়ও একই ফরম্যাট ব্যবহার করুন, যাতে অভ্যাস তৈরি হয়। এতে আপনি দেখাতে পারবেন, সেই মুহূর্তের জানা তথ্যে সিদ্ধান্তটি কেন যুক্তিসংগত ছিল।
| সময় | সিদ্ধান্ত | কারণ, তখনকার তথ্য | কে | কখন আবার দেখবেন |
|---|---|---|---|---|
| ০০:২০ | Order system আলাদা করা হলো | ফাইল খুলছে না, ছড়ানোর ঝুঁকি | Incident lead | ০১:৩০ |
| ০১:৪৫ | ৩ দিন আগের কপি থেকে ফেরার প্রস্তুতি | এর পরের backup ব্যর্থ | IT প্রধান | ০৬:০০ |
| ০৯:১৫ | Holding statement প্রকাশ | ক্রেতার পোস্ট ছড়াচ্ছে | মুখপাত্র, অনুমোদন: incident lead | ১৩:০০ |
৭ · মহড়ার পরে: after-action report আর কাজের হিসাব
মহড়া শেষ হলো মানে কাজ অর্ধেক হলো। ঘরেই সঙ্গে সঙ্গে হয় hotwash: কী ভালো হয়েছে, কোথায় আরও প্রশিক্ষণ দরকার, পরিকল্পনার কোন অংশ বদলাতে হবে। স্মৃতি তাজা থাকতেই এটি করুন। এরপর কয়েক দিনের মধ্যে evaluator-এর খাতা থেকে তৈরি হয় after-action report, যাকে সংক্ষেপে AAR বলে।
ভালো AAR ছোট: লক্ষ্য, কী দেখা গেল, ফাঁক, সুপারিশ। HSEEP একে improvement plan-এর সাথে জুড়ে দেখে, যেখানে কাজ, মালিক আর সময় লেখা থাকে। লক্ষ্য ধরে নম্বর দিলে কোন ফাঁক আগে বন্ধ করতে হবে তা বোঝা যায়। নম্বরটি দল বা মানুষের মূল্যায়ন নয়।
// Toy evaluator sheet. target and seen are minutes on the exercise
// clock of one fictional run. null = never reached in the exercise.
const objectives = [
{ id: 'O1', name: 'incident lead named', weight: 3, target: 15, seen: 12 },
{ id: 'O2', name: 'out-of-band channel works', weight: 2, target: 25, seen: 30 },
{ id: 'O3', name: 'restore time evidenced', weight: 3, target: 35, seen: 55 },
{ id: 'O4', name: 'holding statement approved', weight: 2, target: 45, seen: 50 },
{ id: 'O5', name: 'notification path named', weight: 2, target: 52, seen: null },
];
const mark = o => o.seen === null ? 0
: o.seen <= o.target ? 2
: o.seen <= o.target + 10 ? 1 : 0;
let got = 0, max = 0;
const rows = objectives.map(o => {
const m = mark(o);
got += m * o.weight;
max += 2 * o.weight;
return { ...o, m, gap: (2 - m) * o.weight };
});
rows.forEach(r => console.log(
`${r.id} ${r.name.padEnd(27)} mark ${r.m}/2 weight ${r.weight} gap ${r.gap}`));
console.log(`Weighted score: ${got}/${max} = ${(100 * got / max).toFixed(1)}%`);
const order = [...rows].filter(r => r.gap > 0).sort((a, b) => b.gap - a.gap);
console.log('Fix first: ' + order.map(r => `${r.id}(${r.gap})`).join(' > '));ফল এলো Weighted score: 10/24 = 41.7%, আর Fix first: O3(6) > O5(4) > O2(2) > O4(2). হিসাব: (২×৩ + ১×২ + ০×৩ + ১×২ + ০×২) = ১০, সর্বোচ্চ ২ × ১২ = ২৪। ৪১.৭% কোনো ব্যর্থতা নয়; নিচের লাইনটিই আসল ফল। O3-তে ফাঁক সবচেয়ে বড়, কারণ ফেরার সময় দল প্রমাণসহ বলতে পারেনি। সংখ্যা আর ওজন আমাদের অনুমান। নিজের ব্যবসা অনুযায়ী বদলান।
ফাঁক পাওয়া সহজ, বন্ধ করা কঠিন। “Backup নিয়ে আরও সতর্ক হতে হবে” কোনো কাজ নয়, একটি ইচ্ছা। নিচে দেখুন একটি পর্যবেক্ষণ কীভাবে মালিকসহ কাজ হয়ে ওঠে।
| পর্যবেক্ষণ | |
| ফাঁক | |
| কারণ | |
| কাজ | |
| মালিক, তারিখ | |
| প্রমাণ |
- পর্যবেক্ষণ। Evaluator-এর খাতা থেকে শুধু তথ্য: ফেরার সময়ের প্রশ্নে দল প্রমাণসহ উত্তরে পৌঁছাল মিনিট ৫৫-এ। লক্ষ্য ছিল মিনিট ৩৫। এখানে কারও নাম নেই।
- ফাঁক। পর্যবেক্ষণটি পরিকল্পনার ভাষায় লেখা হলো: RTO ৪ ঘণ্টা বলা আছে, কিন্তু আসল সময় অজানা।
- কারণ। “কেন?” জিজ্ঞেস করে পাওয়া গেল, পুরো ডেটা কখনো ঘড়ি ধরে ফেরানো হয়নি। এটি মানুষের নয়, প্রক্রিয়ার root cause, মানে গোড়ার কারণ।
- কাজ। “সতর্ক হওয়া” নয়, একটি যাচাইযোগ্য কাজ লেখা হলো: ১৮০ GB ঘড়ি ধরে ফেরানো। শেষ হয়েছে কি না, হ্যাঁ বা না-তে বলা যায়।
- মালিক আর তারিখ। একজন মানুষ, একটি তারিখ। “IT দল” মালিক নয়। দিন গোনা হয় মহড়ার দিন থেকে: দিন ১৪।
- প্রমাণ। কাজ শেষ হলো দিন ২০-এ, ৬ দিন দেরিতে। সময়ের রেকর্ড কার্ডে যুক্ত হলো। পরের মহড়ায় এই ফলই পরীক্ষা হবে।
কাজের তালিকা মাসিক সভায় দেখা উচিত, ঝুঁকির খাতার (পর্ব ৬৮) সাথে জুড়ে। নিচের tracker মহড়ার ৪৫ দিন পরের অবস্থা দেখায়।
// Toy after-action tracker. Days are counted from the exercise (day 0).
const today = 45;
const actions = [
{ id: 'A1', task: 'print contact sheet', owner: 'ops lead', due: 7, done: 5, verified: true },
{ id: 'A2', task: 'timed restore test', owner: 'IT lead', due: 14, done: 20, verified: true },
{ id: 'A3', task: 'statement template', owner: 'comms', due: 10, done: 9, verified: false },
{ id: 'A4', task: 'backup alert to phone', owner: 'IT lead', due: 21, done: null, verified: false },
{ id: 'A5', task: 'cloud support contact', owner: null, due: 30, done: null, verified: false },
{ id: 'A6', task: 'repeat tabletop', owner: 'CEO', due: 90, done: null, verified: false },
];
const status = a => {
if (!a.owner) return 'NO OWNER, escalate';
if (a.done === null) return today > a.due ? `OVERDUE by ${today - a.due} days` : 'open, on time';
if (!a.verified) return 'done, NOT verified';
return a.done > a.due ? `closed, ${a.done - a.due} days late` : 'closed on time';
};
const counts = { closed: 0, attention: 0, open: 0 };
for (const a of actions) {
const s = status(a);
if (s.startsWith('closed')) counts.closed++;
else if (s.startsWith('open')) counts.open++;
else counts.attention++;
console.log(`${a.id} ${a.task.padEnd(22)} ${(a.owner || '-').padEnd(9)} ${s}`);
}
console.log(`Day ${today}: closed ${counts.closed}, need attention ${counts.attention}, open ${counts.open}`);শেষ লাইন: Day 45: closed 2, need attention 3, open 1. A4-এ আছে OVERDUE by 24 days, কারণ ৪৫ − ২১ = ২৪। A5 বলছে NO OWNER, escalate; মালিকহীন কাজ দেরি হওয়ার আগেই ধরা ভালো। A3 “শেষ” হলেও done, NOT verified, মানে কেউ যাচাই করেননি। “Done” আর “প্রমাণিত” এক কথা নয়।
৮ · ছোট দল, মানসিক নিরাপত্তা, vendor আর কত ঘন ঘন
পাঁচজনের দল, শূন্য বাজেট
মহড়ার জন্য দামি tool লাগে না। লাগে একটি চা-বিরতি, এক পাতা কাগজ আর একজন সময় ধরার মানুষ। ৩০ মিনিটের একটি সংস্করণ:
- একটি লক্ষ্য: যেমন “ফোন নম্বর হাতে আছে কি না।”
- দুটি inject: “Website খুলছে না” আর “একজন কর্মীর ইমেইল থেকে অদ্ভুত বার্তা গেছে।”
- ভূমিকা ভাগ: কেউ facilitator আর evaluator দুটিই হবেন না। পাঁচজনের দলে পালা করে করুন।
- ফল: শেষে তিনটি কাজ, প্রত্যেকটির মালিক আর তারিখ। একটি শেয়ার্ড শিট বা খাতাই যথেষ্ট।
আটজন দেড় ঘণ্টা বসলে খরচ ১২ জন-ঘণ্টা। এই হিসাবটি নেতৃত্বকে দেখান, পাশে রাখুন এক দিন বন্ধ থাকলে ক্ষতির হিসাব।
কথা বলার নিরাপত্তা
কনিষ্ঠ কর্মী যদি ভাবেন, “ভুল ধরলে আমারই বিপদ”, তবে মহড়া শুধু অভিনয় হবে। Psychological safety মানে দলে এই বিশ্বাস যে প্রশ্ন, ভুল বা আপত্তি জানালে কেউ হেনস্তা হবেন না। Amy Edmondson-এর ১৯৯৯ সালের গবেষণা এই ধারণাকে দলের শেখার আচরণের সাথে যুক্ত করে দেখায়। তাই:
- মহড়ার ফল দিয়ে কারও মূল্যায়ন করবেন না, এটি শুরুতে নেতৃত্বের মুখ থেকেই বলা ভালো।
- AAR-এ মানুষের নাম নয়, ভূমিকা আর প্রক্রিয়া লিখুন।
- নেতা নিজের ভুল আগে স্বীকার করলে অন্যরা সাহস পান।
- ফলের মান বজায় রাখুন: দোষ না দেওয়া মানে দায়িত্ব না থাকা নয়। পর্ব ৫৪-এর just culture এই ভারসাম্যই শেখায়।
Cloud provider আর vendor
আপনার সংকটে অন্যের ভূমিকাও থাকে। Vendor বা payment partner হয়তো মহড়ায় বসবে না, তবু তার অংশটি পরীক্ষা করুন: support-এর পথ কী, জরুরি যোগাযোগ কার সাথে, চুক্তিতে সাড়ার সময় কত, log চাইলে কত দিনের পাওয়া যাবে, কে কোন দায়িত্বে। Cloud-এ দায়িত্ব ভাগ করা থাকে (পর্ব ৭২), তাই provider আপনার ডেটা নিজে থেকে ফেরাবে, এমন ধরে নেবেন না। গুরুত্বপূর্ণ vendor-কে বছরে একবার ৩০ মিনিটের যৌথ মহড়ায় ডাকুন। Provider-এর system-এ live পরীক্ষার আগে তার পরীক্ষা-নীতি পড়ুন আর অনুমতি নিন। Vendor ঝুঁকির পুরো আলোচনা পর্ব ৭১-এ।
কত ঘন ঘন
একক সঠিক সংখ্যা নেই। একটি যুক্তিসংগত শুরু:
| কী | কত ঘন ঘন (প্রস্তাব) | আবার কখন |
|---|---|---|
| ছোট tabletop | প্রতি ত্রৈমাসিকে একটি | নতুন system বা নতুন দলনেতা এলে |
| নেতৃত্বের tabletop | বছরে অন্তত একবার | বড় ঘটনা বা ব্যবসা বদলের পর |
| Restore drill | গুরুত্ব অনুযায়ী মাসিক থেকে ত্রৈমাসিক | Backup ব্যবস্থা বদলালে |
| Vendor-সহ মহড়া | বছরে একবার | নতুন গুরুত্বপূর্ণ vendor এলে |
কিছু কাঠামো নিয়ম নির্দিষ্ট করে। যেমন PCI DSS কার্ড-তথ্যের পরিবেশে incident response পরিকল্পনা অন্তত ১২ মাসে একবার পরীক্ষা করতে বলে। আপনার ক্ষেত্রে কী প্রযোজ্য, তা বর্তমান সংস্করণ দেখে মিলিয়ে নিন। ঈদ বা বড় সেলের মতো ব্যস্ত সময়ের আগেই মহড়া সেরে ফেলুন, সেলের মাঝে নয়।
আরও গভীরে: NIST CSF 2.0-র Improvement অংশে পরীক্ষা আর মহড়া থেকে উন্নতি খোঁজার কথা আছে, supplier-এর সাথে সমন্বয়সহ। NIST SP 800-61 Rev. 3 (এপ্রিল ২০২৫) incident response-কে CSF 2.0-র কাঠামোয় জোড়ে। NIST SP 800-84-এর Appendix A-তে নমুনা tabletop নথি আছে। Evaluator-এর পক্ষপাত কমাতে আগে থেকে পর্যবেক্ষণের ফর্ম ঠিক করে নেওয়া HSEEP-এর পদ্ধতির একটি মূল অংশ।
পরীক্ষা ও ইন্টারভিউতে:
- Tabletop আর functional exercise-এর পার্থক্য? Tabletop শুধু আলোচনা; functional-এ মানুষ বানানো পরিবেশে নিজের কাজ করেন।
- Inject কী? মহড়ার মধ্যে আনা নতুন ঘটনা বা তথ্য, যা একটি সিদ্ধান্ত চায়।
- Holding statement-এ কী থাকে? জানা তথ্য, নেওয়া ব্যবস্থা, পাঠকের করণীয়, পরের আপডেটের সময়।
- Red আর purple team-এর পার্থক্য? Red team প্রতিরক্ষাকে যাচাই করে; purple team-এ দুই পক্ষ একসাথে বসে detection উন্নত করে।
- Hotwash আর AAR-এর পার্থক্য? Hotwash ঘরে সঙ্গে সঙ্গে আলোচনা; AAR পরের লিখিত রিপোর্ট।
৯ · AI-এর যুগে মহড়া
পরিস্থিতির খসড়া, inject-এর ধারণা আর AAR-এর গোছানো ভাষা, এসব কাজে AI সময় বাঁচায়। ভুল হয় সেখানে, যেখানে আইন, সময়সীমা বা আপনার ব্যবসার তথ্য লাগে।
| AI-এর সাধারণ ভুল | ঝুঁকি | যাচাই |
|---|---|---|
| নিয়ন্ত্রকের নাম, ধারা বা জানানোর সময়সীমা বানিয়ে লেখে | মহড়ায় ভুল জিনিস শেখা | আইনের মূল লেখা আর আইনজীবী |
| Standard বা CVE নম্বর বানিয়ে দেয় | ভুল সূত্র AAR-এ ঢোকে | প্রতিটি সূত্র মূল উৎসে দেখা |
| বিবৃতিতে “কোনো ডেটা ঝুঁকিতে নেই” লেখে | প্রমাণ ছাড়া ভুল আশ্বাস | প্রতিটি বাক্যের প্রমাণ খোঁজা |
| আত্মবিশ্বাসী স্বরে ভুল triage করে | সিদ্ধান্ত ভুল পথে যায় | মানুষের সিদ্ধান্ত, decision log-এ লেখা |
| সমস্যা সরাতে check বন্ধ করতে বলে | Restore-এর পর নতুন ঝুঁকি | নিজের lab-এ পরীক্ষা, পরিবর্তন পর্যালোচনা |
নিচের prompt-এ আসল নাম, ডেটা বা গোপন তথ্য নেই, আর কোনো হামলার কৌশল চাওয়া হয়নি। আসল ঘটনার সময় log, ক্রেতার তথ্য বা চুক্তি কোনো AI-তে পেস্ট করার আগে প্রতিষ্ঠানের অনুমতি আর নীতি দেখুন।
AI ব্যবহারের চেকলিস্ট
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিয়ে নিজে কিছুক্ষণ ভাবুন, তারপর “→ উত্তর” চাপুন। ঘটনাগুলো প্রকাশিত রিপোর্টের স্তরে আলোচিত।
প্র ০১Colonial Pipeline ২০২১: হামলা অফিসের IT-তে, তবু তেল পরিবহন বন্ধ হলো কেন? এখান থেকে মহড়ায় কী প্রশ্ন আসে?
২০২১ সালের মে মাসে যুক্তরাষ্ট্রের একটি বড় জ্বালানি পাইপলাইন কোম্পানি ransomware-এর শিকার হয়। প্রকাশিত তথ্য অনুযায়ী আক্রান্ত হয়েছিল ব্যবসায়িক IT, আর সতর্কতা হিসেবে কোম্পানি নিজেই পাইপলাইনের কাজ কয়েক দিন বন্ধ রাখে। যুক্তরাষ্ট্রের পূর্ব উপকূলের কিছু এলাকায় জ্বালানি নিয়ে আতঙ্ক ছড়ায়। মুক্তিপণ দেওয়ার কথাও পরে প্রকাশ্যে আসে, আর মার্কিন কর্তৃপক্ষ তার একটি অংশ উদ্ধারের কথা জানায়।
মহড়ার দিক থেকে আকর্ষণীয় বিষয় হলো, সবচেয়ে বড় সিদ্ধান্তটি প্রযুক্তিগত ছিল না। অসম্পূর্ণ তথ্যের মধ্যে কয়েক ঘণ্টায় ঠিক করতে হয়েছিল: ব্যবসা চালু রেখে ছড়িয়ে পড়ার ঝুঁকি নেওয়া হবে, না সব থামিয়ে নিশ্চিত ক্ষতি মেনে নেওয়া হবে? এমন সিদ্ধান্ত কে নেবেন, কোন তথ্যের ভিত্তিতে, কতক্ষণে, তা ঘটনার রাতে প্রথমবার ভাবলে দেরি হয়ে যায়।
একটি ভালো tabletop এখানে কয়েকটি প্রশ্ন তোলে। IT আর কাজের system কি সত্যিই আলাদা? বিল বা অর্ডারের system বন্ধ থাকলে মূল সেবা চালানো কি সম্ভব? থামানোর ক্ষমতা কার হাতে, তিনি না থাকলে কার? সরকারি সংস্থা আর জনগণকে কখন জানানো হবে? আপনার ছোট দোকানের জন্যও একই প্রশ্ন: order system অচল হলে হাতে অর্ডার নেওয়া কি সম্ভব? মহড়ায় এসব প্রশ্নের উত্তর সিদ্ধান্তের একটি ছোট তালিকায় লিখে রাখুন: কোন অবস্থায় থামানো হবে, কে থামাবেন, আর কে আবার চালুর অনুমতি দেবেন। সেদিন রাতে এই তালিকাটিই সবচেয়ে মূল্যবান কাগজ হয়ে উঠবে, কারণ আবেগ আর চাপ তখন সিদ্ধান্তের গতি কমিয়ে দেয়।
মূল উপলব্ধি: সংকটের সবচেয়ে কঠিন সিদ্ধান্ত হয় ব্যবসার, আর সেগুলো অসম্পূর্ণ তথ্যে নিতে হয়। মহড়া সেই সিদ্ধান্তের মালিক আর মাপকাঠি আগেই ঠিক করে দেয়।
প্র ০২Maersk আর NotPetya ২০১৭: “আমাদের backup আছে” কথাটি কোন অনুমানের ওপর দাঁড়িয়ে থাকে?
২০১৭ সালের NotPetya ঘটনায় বিশ্বের অনেক প্রতিষ্ঠান ক্ষতিগ্রস্ত হয়। জাহাজ কোম্পানি Maersk-এর ঘটনাটি বহুল আলোচিত। প্রকাশিত বিবরণ অনুযায়ী, পরিচয় ব্যবস্থার Active Directory-র domain controller-গুলো একে অপরের সাথে মিলে চলত, তাই সেগুলো প্রায় একসাথেই নষ্ট হয়। শেষ পর্যন্ত একটি দূরের অফিসের কপি কাজে আসে, কারণ সেখানে বিদ্যুৎ বিভ্রাটে যন্ত্রটি তখন network-এর বাইরে ছিল। অফিসটি ঠিক কোথায় ছিল, তা নিয়ে প্রতিবেদনে ভিন্নতা আছে।
গল্পটি বীরত্বের মতো শোনালেও এর শিক্ষা অস্বস্তিকর। একটি বিশ্বজোড়া প্রতিষ্ঠানের পুনরুদ্ধারের একটি অংশ ভাগ্যের ওপর ঝুলে ছিল। replication আর backup এক জিনিস নয়: replication ভালো তথ্য যেমন ছড়ায়, নষ্ট অবস্থাও তেমনি ছড়াতে পারে। পরিকল্পনায় “redundant” লেখা থাকলেও সব কপি যদি একই ঝুঁকির মুখে থাকে, তবে সেটি আসলে একটিই ব্যর্থতার বিন্দু।
Tabletop এখানে অনুমান ভাঙার যন্ত্র। Facilitator জিজ্ঞেস করবেন: “ধরুন সব অনলাইন কপি একসাথে গেল। এরপর?” “পরিচয় ব্যবস্থা অচল হলে backup console-এ login করবেন কীভাবে?” “ফোন নম্বরের তালিকা কোন system-এ?” এরপর আলোচনা থেকে একটি drill জন্ম নেয়: পরিষ্কার পরিবেশে ঘড়ি ধরে ফেরানো, যা পর্ব ৩৪-এ আছে। Tabletop দেখায় প্রশ্নটি কোথায়, drill দেয় উত্তর। ছোট প্রতিষ্ঠানের জন্যও কথাটি সমান সত্য। আপনার সব কপি যদি একই account দিয়ে খোলা যায়, তবে একটি ভুলেই সব হারাতে পারে। তাই অন্তত একটি কপি আলাদা জায়গায় রাখুন আর বছরে অন্তত একবার সেটি থেকে ফিরিয়ে দেখুন।
মূল উপলব্ধি: প্রতিটি “আমাদের আছে” বাক্যের পেছনে একটি অনুমান লুকানো থাকে। মহড়া সেই অনুমানকে কথায় আনে, আর drill তাকে সংখ্যায় আনে।
প্র ০৩Hurricane Pam ২০০৪: মহড়া যদি বিপদ আগেই দেখিয়ে দেয়, তবু ক্ষতি ঠেকে না কেন?
২০০৪ সালের জুলাইয়ে যুক্তরাষ্ট্রের লুইজিয়ানায় “Hurricane Pam” নামে একটি বড় মহড়া হয়। একটি কাল্পনিক শক্তিশালী ঝড় নিউ অরলিন্স অঞ্চলে আঘাত করলে কী হবে, তা নিয়ে কেন্দ্রীয়, রাজ্য আর স্থানীয় কর্মকর্তারা কাজ করেন। এক বছর পর, ২০০৫ সালের আগস্টে, Hurricane Katrina আঘাত হানে। পরের শুনানি আর প্রতিবেদনে উঠে আসে, মহড়ার অনেক দুশ্চিন্তা বাস্তব হয়েছিল।
কেন শিক্ষা পুরো কাজে লাগেনি? মার্কিন সিনেটের শুনানিতে আলোচনা হয়, অর্থের অভাবে অনুসরণ-কর্মশালা পিছিয়ে যায়; পরের সভা হয় ঝড়ের প্রায় এক মাস আগে। তবে ছবিটি একরঙা নয়। শুনানিতে কিছু সাক্ষী বলেন, মহড়ার কিছু ধারণা সত্যিই কাজে লেগেছিল, আর তা জীবন বাঁচাতে সাহায্য করেছে। অর্থাৎ মহড়া নিষ্ফল ছিল না, কিন্তু তার অসমাপ্ত কাজের দাম ছিল বড়।
নিরাপত্তা দলের জন্য এটি পরিচিত দৃশ্য। মহড়ায় সবাই উৎসাহী, রিপোর্টও সুন্দর। তারপর সেল আসে, নতুন কাজ আসে, আর “backup alert ফোনে আনা” কাজটি পড়ে থাকে। ঠিকঠাক ব্যবস্থায় প্রতিটি কাজের একজন মালিক থাকে, তারিখ থাকে, নেতৃত্বের সভায় নিয়মিত দেখা হয়, আর বাজেট লাগলে সেই অনুরোধ স্পষ্ট হয়। পরের মহড়া শুরু হয় আগের কাজগুলো পরীক্ষা করে। কোনো কাজ শেষ না হলে সেটি লুকানো নয়, নেতৃত্বের সামনে একটি সিদ্ধান্ত হিসেবে রাখা উচিত: টাকা দেবেন, সময় দেবেন, না ঝুঁকিটি জেনেবুঝে মেনে নেবেন। জেনে মেনে নেওয়া ঝুঁকি আর ভুলে যাওয়া ঝুঁকি এক জিনিস নয়।
মূল উপলব্ধি: মহড়া ঝুঁকি কমায় না; ঝুঁকি কমে মহড়ার পরের কাজে। যে ফাঁক জানা ছিল কিন্তু বন্ধ হয়নি, ঘটনার পরে সেটিই সবচেয়ে কঠিন প্রশ্ন হয়ে দাঁড়ায়।
প্র ০৪Equifax ২০১৭: ক্রেতাদের জন্য আলাদা নতুন website বানানো কেন ঝুঁকিপূর্ণ হতে পারে?
২০১৭ সালে Equifax-এর বিশাল তথ্য ফাঁসের ঘটনা সামনে আসার পর কোম্পানিটি মূল domain-এর বাইরে আলাদা একটি নতুন domain-এ সহায়তার পাতা খোলে। একজন নিরাপত্তা-গবেষক দেখাতে চেয়েছিলেন এই পথ কত সহজে নকল করা যায়, তাই কাছাকাছি নামের একটি ক্ষতিকর নয় এমন demo পাতা বানান। সংবাদ-প্রতিবেদন অনুযায়ী, এরপর কোম্পানির অফিসিয়াল Twitter account থেকেই কয়েকবার ভুল করে সেই নকল ঠিকানায় মানুষকে পাঠানো হয়। কোম্পানি পরে পোস্টগুলো সরিয়ে নেয়।
ঘটনাটি দেখায়, সংকটের যোগাযোগ নিজেও একটি নিরাপত্তা-নকশা। মানুষ তখন ভীত, দ্রুত link-এ চাপেন, আর প্রতারকেরা এই সময়টির অপেক্ষায় থাকেন। নতুন ও অচেনা domain মানুষকে এমন অভ্যাস শেখায়, যা phishing সচেতনতার উল্টো। “এই অচেনা link-এ চাপুন আর ব্যক্তিগত তথ্য দিন” — ঠিক এই আচরণটিই আমরা না করতে বলি।
ভালো নকশা কেমন? সহায়তার তথ্য মূল domain-এর ভেতরে একটি নির্দিষ্ট পথে রাখুন। আগে থেকে একটি খালি পাতা তৈরি রাখুন। Customer care-এর জন্য লিখিত উত্তর দিন, যাতে কেউ স্মৃতি থেকে ঠিকানা না লেখেন। বার্তায় বলুন, আপনি OTP বা password চাইবেন না। Tabletop-এ I4 inject চালানোর সময় এই প্রশ্নটি করুন: “ক্রেতা কীভাবে বুঝবেন বার্তাটি সত্যিই আপনার?” দেখবেন, অনেক দল এই প্রশ্নে প্রথমবার থেমে যায়। উত্তরটি ঘটনার দিন খোঁজার বদলে শান্ত সময়ে ঠিক করে ওয়েবসাইটে জানিয়ে রাখা ভালো, যাতে ক্রেতা আগে থেকেই আসল পথ চেনেন।
মূল উপলব্ধি: সংকটের বার্তা শুধু তথ্য দেয় না, মানুষের আচরণও চালায়। আপনার সাড়া যেন প্রতারকের জন্য নতুন সুযোগ তৈরি না করে।
প্র ০৫বিমানের ককপিট থেকে নিরাপত্তা দল কী শিখতে পারে? কনিষ্ঠ সদস্যের কথা না শোনার দাম কত?
১৯৭৮ সালের ডিসেম্বরে যুক্তরাষ্ট্রের Portland-এর কাছে United Airlines Flight 173 দুর্ঘটনায় পড়ে। ল্যান্ডিং গিয়ারের সমস্যা নিয়ে ব্যস্ত ক্যাপ্টেনের মনোযোগ জ্বালানির ওপর ছিল না, আর বিমানটির জ্বালানি ফুরিয়ে যায়। NTSB-র বিশ্লেষণে ককপিটের দলগত কাজের দুর্বলতা গুরুত্ব পায়; অন্য সদস্যরা জ্বালানির কথা তুললেও যথেষ্ট জোর দিয়ে বলেননি বলে আলোচিত। এই ধরনের শিক্ষা থেকেই পরে Crew Resource Management গড়ে ওঠে। সেখানে অধীনস্থ সদস্যকে স্পষ্ট করে আপত্তি জানাতে, আর জ্যেষ্ঠজনকে তা শুনতে শেখানো হয়। এর অনুশীলনও হয় সিমুলেটরের মহড়ায়।
নিরাপত্তা দলে এর মিল স্পষ্ট। SOC-এর একজন নতুন analyst হয়তো প্রথমেই লক্ষ করলেন, backup job তিন দিন ব্যর্থ। কিন্তু তিনি ভাবলেন, “স্যার নিশ্চয়ই জানেন।” সবাই যখন ভুল সমস্যায় ব্যস্ত, তখন আসল সংকেত চুপচাপ পড়ে থাকে। মহড়ায় মালিক যদি প্রথমেই নিজের মত বলে দেন, বাকিরা সেটিই মেনে নেন।
Amy Edmondson ১৯৯৯ সালে Administrative Science Quarterly-তে দলের psychological safety আর শেখার আচরণের সম্পর্ক নিয়ে গবেষণা প্রকাশ করেন। সব প্রসঙ্গে একই ফল হবে, এমন নয়, তবে ধারণাটি মহড়ার নকশায় কাজে লাগে: কনিষ্ঠজন আগে বলবেন, প্রশ্ন করলে প্রশংসা হবে, আর “আমি নিশ্চিত নই” বলা যাবে। দলের জন্য একটি বাক্যও ঠিক করতে পারেন, যেমন “আমি একটি ঝুঁকি দেখছি।” এই বাক্য শুনলে সবাই থামবেন। মহড়ায় facilitator ইচ্ছে করে একটি ছোট তথ্য শুধু কনিষ্ঠ সদস্যকে দিতে পারেন, আর দেখতে পারেন সেই তথ্য নেতার কাছে পৌঁছায় কি না। এটি মানুষকে পরীক্ষা করে না, দলের তথ্যের পথকে পরীক্ষা করে।
মূল উপলব্ধি: সংকটে পদমর্যাদা প্রায়ই তথ্যকে চাপা দেয়। মহড়া শুধু প্রক্রিয়া নয়, কথা বলার সাহসও অনুশীলন করায়।
অনুশীলন
খাতা-কলমে করুন। উত্তর দেখার আগে নিজে চেষ্টা করুন।
-
RTO আর RPO যাচাই (numerical): ডেটাবেসের মাপ ১৮০ GB, ফেরানোর গতি ধরুন ১০ MB/s, পরে যাচাইয়ে লাগে ২ ঘণ্টা। RTO ৪ ঘণ্টা, RPO ১ দিন। শেষ ভালো কপি ৩ দিন আগের, দিনে ১,২০০ অর্ডার, গড় অর্ডার ধরুন ১,৫০০ টাকা। (ক) মোট ফেরার সময় কত? (খ) RTO পূরণ হয়? (গ) কতটি অর্ডার মেলাতে হবে, তার মূল্য কত? ধরুন ১ GB = ১,০০০ MB. সংখ্যাগুলো কাল্পনিক।
(ক) ১৮০,০০০ MB ÷ ১০ MB/s = ১৮,০০০ সেকেন্ড = ৫ ঘণ্টা। যাচাইসহ ৫ + ২ = ৭ ঘণ্টা।
(খ) ৭ ঘণ্টা > ৪ ঘণ্টা, তাই RTO পূরণ হয় না। ৩ ঘণ্টার ঘাটতি।
(গ) ৩ × ১,২০০ = ৩,৬০০ অর্ডার। ৩,৬০০ × ১,৫০০ = ৫৪,০০,০০০ টাকা। এটি পুরোটা ক্ষতি নয়, তবে এই মূল্যের রেকর্ড partner-দের তথ্য থেকে মেলাতে হবে। RPO ১ দিন ছিল, ক্ষতি ৩ দিন, তাই সেটিও ভেঙেছে। একে ব্যবসার ভাষায় নেতৃত্বের সামনে রাখুন।
-
বিবৃতির সমালোচনা (design বা critique): এই খসড়াটি পড়ুন: “আমাদের system সম্পূর্ণ নিরাপদ। সামান্য technical সমস্যা হয়েছে, যা বিদেশি হ্যাকারদের কাজ বলে মনে হচ্ছে। শিগগিরই সব ঠিক হবে।” কী কী সমস্যা? একটি ভালো রূপ লিখুন।
সমস্যা চারটি। “সম্পূর্ণ নিরাপদ” একটি প্রমাণহীন আশ্বাস। “সামান্য” ঘটনা ছোট করে দেখায়, যা পরে আস্থা নষ্ট করবে। “বিদেশি হ্যাকার” অনুমান। “শিগগিরই” কোনো সময় নয়, আর ক্রেতার করণীয়ও নেই।
ভালো রূপ: “আমরা নিশ্চিত হয়েছি যে আজ সকাল ৮টা থেকে আমাদের অর্ডার সেবা বন্ধ আছে। কারণ আর প্রভাব আমরা যাচাই করছি। সতর্কতা হিসেবে সেবাটি আলাদা করা হয়েছে। অনুগ্রহ করে ফোনে কাউকে OTP দেবেন না। পরবর্তী আপডেট দুপুর ১টায়, আমাদের website-এর সহায়তা পাতায়।”
-
আউটপুট অনুমান (predict the output):
inject_scheduler.js-তেoverrun-কে{ I1: 5 }করা হলো। বাকি সব আগের মতো। দুই নীতিতে শেষ লাইন দুটি কী হবে? Trim করা মহড়ায়I4আরI5কত মিনিট পাবে? প্রথমে হাতে হিসাব করুন, তারপর চালিয়ে মিলিয়ে নিন।সময় না ধরলে: I1 পায় ১৫ মিনিট, ঘড়ি ২০। এরপর ১০, ১০, ১০ আর ৭ যোগ হয়ে ঘড়ি ৫৭। শেষ লাইন
t=57 hotwash, 3 min left.Trim করলে: I3 শেষে ঘড়ি ৪০। I4-এর জন্য বাজেট ৫২ − ৪০ − ৫ = ৭, তাই সে পায় ৭, ঘড়ি ৪৭। I5-এর বাজেট ৫২ − ৪৭ = ৫, তাই ৫। শেষ লাইন
t=52 hotwash, 8 min left. স্থানীয়ভাবে চালিয়ে আমরা একই ফল পেয়েছি। -
নিজের ৩০ মিনিটের মহড়া (design): আপনার পরিবার, ক্লাব বা ছোট দলের জন্য একটি মহড়া লিখুন: “প্রধান ইমেইল বা Facebook পেজের নিয়ন্ত্রণ হারিয়েছে।” একটি লক্ষ্য, দুটি inject, দুটি প্রশ্ন, আর ফলাফলের জন্য একটি কাজের কার্ড বানান।
লক্ষ্য: ১০ মিনিটের মধ্যে account ফিরে পাওয়ার অফিসিয়াল পথ আর দায়িত্বপ্রাপ্ত ব্যক্তি ঠিক করা।
Inject ১: login হচ্ছে না, recovery ইমেইলও বদলে গেছে। প্রশ্ন: recovery code কোথায়, অফিসিয়াল সহায়তার পথ কোনটি?
Inject ২: পেজ থেকে সদস্যদের অদ্ভুত link পাঠানো হচ্ছে। প্রশ্ন: সদস্যদের কোন পথে সতর্ক করবেন?
কাজের কার্ড: কাজ: দুজনের জন্য MFA আর recovery code নিরাপদে রাখা; মালিক: একজন নির্দিষ্ট ব্যক্তি; তারিখ: ৭ দিন; প্রমাণ: দ্বিতীয়জন login করে দেখালেন। আপনার উত্তর ভিন্ন হলেও ঠিক থাকতে পারে, যদি লক্ষ্যটি মাপা যায় আর কাজের একজন মালিক থাকে।
নিজেকে যাচাই করুন
ভুল হলে কারণসহ ব্যাখ্যা পাবেন, আবার চেষ্টাও করতে পারবেন।
ক্রমএকটি tabletop-এর কাজগুলো সঠিক ক্রমে সাজান (▲▼ চেপে সরান)
- মাপা যায় এমন লক্ষ্য ঠিক করা
- পরিস্থিতি আর inject লেখা
- নিয়ম জানিয়ে মহড়া চালানো
- ঘরেই hotwash করা
- After-action report লেখা
- কাজের মালিক ঠিক করে পরে যাচাই করা
Tabletop exercise-এর সবচেয়ে সঠিক বর্ণনা কোনটি?
- অনুমতিসহ আসল system-এ হামলার অনুকরণ
- একটি বানানো ঘটনা ধরে facilitator-পরিচালিত আলোচনা, যেখানে কোনো system ছোঁয়া হয় না
- Backup থেকে ডেটা ফিরিয়ে সময় মাপা
- বহু দল মিলে বাস্তব সময়ে সম্পদ সরিয়ে কাজ করা
মহড়ার ঘড়ি মিনিট ৪২-এ, hotwash মিনিট ৫২-এ শুরু হওয়ার কথা, আর দুটি inject বাকি। প্রতিটি আলোচনা অন্তত ৫ মিনিট পেলে পরের inject সর্বোচ্চ কত মিনিট পাবে যাতে hotwash সময়মতো শুরু হয়?
- ১০ মিনিট
- ৭ মিনিট
- ৫ মিনিট
- ৩ মিনিট
নিচের কোন বাক্যটি holding statement-এ সবচেয়ে উপযুক্ত?
- “কোনো গ্রাহকের ডেটা ফাঁস হয়নি।”
- “মনে হচ্ছে একটি বিদেশি হ্যাকার দল এর পেছনে।”
- “আমাদের সরবরাহকারীর গাফিলতিতে এটি ঘটেছে।”
- “সকাল ৮টা থেকে অর্ডার সেবা বন্ধ আছে। প্রভাব যাচাই করা হচ্ছে। পরবর্তী আপডেট দুপুর ১টায়।”
একটি মহড়ায় পাঁচটি লক্ষ্যের ওজন ৩, ২, ৩, ২, ২ আর প্রাপ্ত নম্বর (০ থেকে ২-এর মধ্যে) ২, ১, ০, ১, ০। ওজনসহ স্কোর কত?
- প্রায় ৪১.৭%
- ৪০%
- প্রায় ৮৩.৩%
- ৫০%
After-action report-এর একটি সুপারিশ লেখা হলো: “Backup নিয়ে সবাইকে আরও সতর্ক হতে হবে।” প্রধান সমস্যা কী?
- বাক্যটি খুব ছোট
- এটি যাচাইযোগ্য নয়, আর মালিক বা তারিখও নেই
- এতে দোষী ব্যক্তির নাম নেই
- Backup নিয়ে সুপারিশ করা ঠিক নয়
SOC-কে না জানিয়ে একটি live red team মহড়া চলছে। হঠাৎ দলটি একটি সন্দেহজনক ঘটনা দেখল। সবচেয়ে নিরাপদ প্রস্তুতি কী?
- সব সতর্কবার্তাকে মহড়ার অংশ ধরে নেওয়া
- শুধু একটি অনুমতিপত্র ফাইলে রাখা
- একজন trusted agent আর আগে থেকে ঠিক করা থামার নিয়ম রাখা
- Red team-কে সব log মুছে দিতে বলা
শব্দকোষ
লেখার মধ্যে ডটেড দাগ দেওয়া শব্দে মাউস রাখুন বা চাপুন, অর্থ দেখাবে। এই পর্বের সব নতুন শব্দ এখানে একসাথে:
মনে রাখুন
- পরিকল্পনা লেখা হয় শান্ত মাথায়, ব্যবহার হয় চাপে। মহড়া এই ব্যবধান কমায়।
- Tabletop আলোচনা; drill ও functional কাজ করে দেখায়; red team লিখিত অনুমতি আর থামার নিয়ম ছাড়া নয়।
- নকশার সাত অংশ: লক্ষ্য, অংশগ্রহণকারী, পরিস্থিতি, inject, facilitator, evaluator আর বাঁধা সময়।
- Holding statement: তথ্য, ব্যবস্থা, করণীয়, পরের আপডেটের সময়। অনুমান নয়।
- ফাঁক থেকে মালিক, তারিখ আর প্রমাণসহ কাজ, আর পরের মহড়ায় তার যাচাই।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- পর্ব ৬৭ · নিরাপত্তা governance — policy, ভূমিকা আর metricপরবর্তী পর্বমহড়ার শিক্ষা কীভাবে নিয়মিত ব্যবস্থায় আসে।
- সাইবার নিরাপত্তা · কোর্স হোম৮০টি পর্বপুরো কোর্সের রোডম্যাপ।
- পর্ব ৩৪ · Ransomware প্রতিরক্ষাপিছনে দেখুনImmutable backup আর পুনরুদ্ধারের সময়ের হিসাব।
- পর্ব ৫৪ · নিরাপত্তা সংস্কৃতিপিছনে দেখুনভুল রিপোর্ট করার পরিবেশ আর just culture.
- Cloud & DevOps · Incident managementপাশের ট্র্যাকOn-call, ভূমিকা আর ঘটনার পরের পর্যালোচনা।