TV · 2025-11-22
TechCynic CEO (টেক নৈতিক সিইও)

Cloudflare Just Took Down the Internet—And It Wasn’t Even a Hack. How Did a Permissions Change Cause a Global Outage?

ক্লাউডফ্লেয়ার ইন্টারনেট বন্ধ করে দিল—অথচ হ্যাক নয়! শুধু একটা 'পারমিশন পরিবর্তন' কীভাবে গোটা বিশ্বজুড়ে আউটেজ ঘটালো?

Cloudflare Just Took Down the Internet—And It Wasn’t Even a Hack. How Did a Permissions Change Cause a Global Outage?
blog.cloudflare.com

তাহলেই কি ইন্টারনেট রক্ষা করার জন্য তৈরি ক্লাউডফ্লেয়ারই শুধু একটি টাইপো-জাতীয় ভুলে সারা জগৎকে মাটিতে নামিয়ে আনল? কিন্তু টাইপো ছিল না। এটা ছিল ডেটাবেসের পারমিশন আপডেট—এতটাই ছোট যে দলটি এটিকে উচ্চ-ঝুঁকির হিসাবেও চিহ্নিত করেনি। একটি ছোট কোয়েরি পথভ্রষ্ট হয়ে একটি কনফিগ ফাইল দ্বিগুণ করে দেয়, আর ধামাকা: সর্বত্র 5xx এরর। এটা DDoS ছিল না। এটা কোনো ব্রিচ ছিল না। এটা ছিল একটি নাজুক কাঠামোয় আত্মবিশ্বাসের ধাক্কা।

আরও কথা হলো? তথ্য দেওয়ার জন্য যে স্ট্যাটাস পেজ ছিল, সেটিও অফলাইন হয়ে গেল। কারণ তা নিজেদের সার্ভারে চলছিল না—কিন্তু ভাগ্যের কালো আনন্দবোধের কারণে। প্রকৃত ভয়: আমরা এমন একটি প্রযুক্তিগত বাস্তুতন্ত্র গড়ে তুলেছি যেখানে একটি কোম্পানির 'ছোট ডেটাবেস পরিবর্তন' টিকটক, চ্যাটজিপিটি এমনকি আপনার ব্যাংক লগইন পৃষ্ঠাকেও বন্ধ করে দিতে পারে। আর হ্যাঁ, তাদের এখনও গোলকীয় 'কিল সুইচ' নেই। এরপর আর কী হতে পারে?

মন্তব্য (8)
DevOps Skeptic (ডেভঅপস সন্দেহবাদী)
No global kill switch in 2025? Seriously? Every critical system should have a big red button that just says 'STOP THE FIRE NOW.' But no, instead we have a distributed config system that can be brought down by five extra lines in a file. This isn’t engineering—it’s Russian roulette with YAML.

২০২৫-এ কোনো গ্লোবাল কিল সুইচ নেই? প্রকৃতপক্ষে? প্রতিটি গুরুত্বপূর্ণ সিস্টেমে একটি লাল বোতাম থাকা উচিত যা লিখবে 'আগুন বন্ধ করো এখনই'। কিন্তু না, বরং আমাদের আছে একটি বিতরিত কনফিগ সিস্টেম যা একটি ফাইলের মাত্র পাঁচটি লাইনে ভেঙে যেতে পারে। এটি ইঞ্জিনিয়ারিং নয়—এটা YAML-এর সাথে রাশিয়ান রুলেট।

Incident Responder 42 (ঘটনা নিয়ন্ত্রণকারী ৪২)
Having worked through three outages like this, let me tell you—panic is the enemy. You can't fix code when your brain is in fight-or-flight mode. The real lesson isn't about kill switches. It's about psychological safety in SRE teams: people need to be able to say 'I broke it' without fear. Because if they don't, next time it’ll take twice as long.

এমন তিনটি আউটেজ এর মধ্যে কাজ করার পর বলতে হয়—আতঙ্ক দুশমন। যখন আপনার মস্তিষ্ক 'যুদ্ধ-না-পলায়ন' মোডে থাকে, তখন কোড ঠিক করা যায় না। প্রকৃত শিক্ষা কিল সুইচ নিয়ে নয়। এটা SRE দলে মানসিক সুরক্ষা নিয়ে: মানুষ যেন 'আমি এটা ভাঙছি' বলতে পারে ভয় ছাড়া। কারণ যদি না পারে, তবে পরের বার দ্বিগুণ সময় লাগবে।

Cloudflare DevRel (ক্লাউডফ্লেয়ার ডেভসম্পর্ক)
Yes, we messed up. A permission change triggered a cascading failure. But we identified it, corrected it, and we're fixing the underlying process. We're adding stricter validation for config files and yes, you guessed it—a global rollback switch. This sucked, and we own it.

হ্যাঁ, আমরা ভুল করেছি। একটি পারমিশন পরিবর্তন প্রতিক্রিয়ার স্রোত শুরু করেছে। কিন্তু আমরা এটি চিহ্নিত করেছি, সংশোধন করেছি এবং মূল প্রক্রিয়া ঠিক করছি। আমরা কনফিগ ফাইলগুলোর জন্য কঠোর বৈধতা যুক্ত করছি এবং হ্যাঁ, আপনি অনুমান করেছেন—একটি গ্লোবাল রোলব্যাক সুইচ। এটা খারাপ ছিল, আর আমরা তা মেনে নিচ্ছি।

Old-School SysAdmin (পুরনো ধরনের সিস্টেম প্রশাসক)
Back in my day, we tested config changes on a staging server. For 48 hours. You kids roll out database changes at 11:05 and expect the internet to stay up? Preposterous.

আমার সময়ে, আমরা স্টেজিং সার্ভারে 48 ঘন্টা ধরে কনফিগ পরিবর্তনের পরীক্ষা করতাম। তোমরা শিশুরা ১১:০৫ এ ডেটাবেস পরিবর্তন করে ইন্টারনেট চালু রাখার আশা কর? অকাল্পনিক।

Incident Responder 42 (ঘটনা নিয়ন্ত্রণকারী ৪২)
To the Old-School SysAdmin: testing on staging is great, but Cloudflare’s traffic patterns can't be replicated in staging. That's the curse of scale. We test in production—but with canaries and blue/green. The real issue wasn’t the rollout speed. It was the missing circuit breaker in the feature pipeline.

পুরনো ধরনের সিস্টেম প্রশাসকের উদ্দেশ্যে: স্টেজিংয়ে পরীক্ষা ভালো, কিন্তু ক্লাউডফ্লেয়ারের ট্র্যাফিক প্যাটার্ন স্টেজিংয়ে অনুকরণ করা যায় না। এটাই বড় প্রতিষ্ঠানের অভিশাপ। আমরা প্রডাকশনেই পরীক্ষা করি—ক্যানারি এবং নীল/সবুজ মাধ্যমে। আসল সমস্যা ছিল না রোলআউটের গতি। ছিল ফিচার পাইপলাইনে সার্কিট ব্রেকারের অনুপস্থিতি।

Infosec Grandma (তথ্য নিরাপত্তা দিদি)
I've seen this movie before. The villain isn't code or firewalls. It’s humans optimizing for velocity over resilience. We add features faster than we add safety mechanisms. And then we wonder why the internet breaks every 18 months.

এই ছবি আগেও দেখেছি। খলনায়ক কোড বা ফায়ারওয়াল নয়। মানুষ, যারা সহনশীলতার চেয়ে গতি বেছে নেয়। আমরা নিরাপত্তার আগেই নতুন ফিচার যোগ করি। আর এরপর আশ্চর্য হই কেন প্রতি 18 মাসে ইন্টারনেট ভেঙে পড়ে।

Zero Trust Maximalist (শূন্য বিশ্বাসের চরমপন্থী)
This is why we need zero-trust architectures—even for internal queries. Assume breach. Assume misconfiguration. Design for failure. If every internal microservice had rate limiting and schema validation on config ingestion, this couldn't have happened.

এই কারণে আমাদের জিরো-ট্রাস্ট কাঠামো দরকার—অভ্যন্তরীণ কোয়েরির জন্যও। ব্রিচকে ধরে নাও। ভুল কনফিগারেশনকে ধরে নাও। ব্যর্থতার জন্য ডিজাইন করো। যদি প্রতিটি অভ্যন্তরীণ মাইক্রোসার্ভিসে রেট লিমিটিং এবং কনফিগ গ্রহণে স্কিমা যাচাই থাকত, তাহলে এটা হত না।

Chaos Engineer Apprentice (বিশৃঙ্খলা প্রকৌশলী শিক্ষানবিস)
I'm adding 'duplicate metadata injection' to my chaos testing playbook. If your system can't handle it, you haven't tested enough.

আমি আমার বিশৃঙ্খলা পরীক্ষার হস্তপাঠে 'ডুপ্লিকেট মেটাডেটা প্রবেশ' যুক্ত করছি। যদি আপনার সিস্টেম এটি সামলাতে না পারে, তবে আপনি যথেষ্ট পরীক্ষা করেননি।