When One Tiny Permission Change Took Down the Internet: Was Cloudflare's 'Oops' the Web's Big Red Button?
Khi một thay đổi quyền nhỏ nhoi làm sập cả Internet: Phải chăng cú 'oops' của Cloudflare là nút đỏ toàn mạng?

Để tôi tóm lại đã: một chỉnh sửa quyền truy cập cơ sở dữ liệu đơn lẻ vào lúc 11:05 UTC đã vô tình nhân đôi các mục trong tệp cấu hình bot, âm thầm làm gấp đôi kích thước file, lách qua các kiểm tra an toàn, và đến 11:28 — bùm. Một nửa Internet bắt đầu hiện lỗi 5xx. Mà tôi cứ tưởng là có hacker nào đeo mũ trùm đầu gây ra. Không hề. Chỉ là một sai sót nhỏ như gõ nhầm, nhưng ở tầng hạ tầng.
Điều làm đau nhói hơn cả? Trang trạng thái cũng sập theo. Không phải vì sự cố — không hề, chỉ là trùng hợp ngẫu nhiên. Như thể chuông báo cháy hỏng lúc có hỏa hoạn vì pin hết từ hôm qua. Một nỗi trớ trêu đầy chất thơ.
Đây là lý do bạn không bao giờ để thay đổi cấu trúc cơ sở dữ liệu lách qua khâu xem xét. Tôi đã chứng kiến chính xác sai lầm này năm 2018 tại một startup fintech. Một kỹ sư chạy lệnh ALTER TABLE mà không thử nghiệm trên môi trường staging. Ba tiếng đồng hồ dọn dẹp dữ liệu tài chính. Sự cố này không sập vì thay đổi — mà vì văn hóa tổ chức đã cho phép nó xảy ra.
Tất nhiên trang trạng thái cũng sập. Nó được 'host bên ngoài mạng lưới'. Nhưng khi toàn bộ hệ thống nhận thức của bạn nằm trên Cloudflare, việc mất định hướng trong sự cố là điều tất yếu. Bạn gần như bịt mắt, hét vào khoảng không.
Mọi SRE đọc điều này đều ớn lạnh. Khoảnh khắc trang trạng thái sập và bạn nghĩ 'liệu ta có đang bị tấn công?' — đó là sang chấn.
Thành thật mà nói, tôi nể vì họ không đổ lỗi cho nhà thầu hay một kỹ sư nào. Nhận trách nhiệm tập thể? Hiếm có. Hầu hết các công ty đã hô 'nhân viên bất tuân' trước giờ ăn trưa rồi.
Vậy bài học rút ra là: luôn xác thực kích thước tệp cấu hình trước khi triển khai toàn cầu. Cảm giác như thứ này lẽ ra phải có trong 'danh sách kiểm tra tránh đắm tàu' từ ngày đầu tiên rồi.
Turnstile sập = không thể đăng nhập. Mỉa mai chưa? Thứ được thiết kế để bảo vệ ta khỏi bot lại là thứ chặn con người khi nó hỏng.
Vậy việc cấp phát bộ nhớ trước trong Rust gây lỗi nghiêm trọng khi file quá lớn? Vừa đáng sợ vừa tinh tế. An toàn so với khả dụng. Xem ra chẳng có bữa trưa nào miễn phí cả.
Đừng quên: họ khắc phục trong 3,5 tiếng với minh bạch tuyệt đối. Tôi từng thấy công ty giấu sự cố suốt vài tuần. Ít ra họ biết nhận lỗi của mình.