SecLab
Logging, Error Handling & ResponsewalkthroughĐộ khó 3/527 phút

Từ log tới một cảnh báo dùng được

Mục tiêu: Sau bài này bạn viết được một cảnh báo bảo mật có tỉ lệ dương tính giả đủ thấp để không ai tắt nó.

V16A09:2025SSDF RV
Bước 1 / 5 · read6 phút

Ghi log không phải phát hiện

A09 đổi tên từ Security Logging and Monitoring Failures thành Security Logging and Alerting* Failures, và một chữ đó là toàn bộ nội dung bài này. Có log không có nghĩa là phát hiện được.* Rất nhiều tổ chức có đủ log để điều tra một sự cố sau khi biết nó xảy ra, và không có gì để biết nó đang xảy ra.

Ba mức, và hầu hết tổ chức dừng ở mức một:

MứcCó gìTrả lời được câu hỏi
1. Ghi logDòng log tồn tại"Chuyện gì đã xảy ra?" — sau khi bạn đã biết là có chuyện
2. Truy vấn đượcLog tập trung, có index, giữ đủ lâu"Việc này có xảy ra không?" — khi bạn nghĩ ra câu hỏi
3. Cảnh báoMột quy tắc chạy tự động"Có chuyện gì đang xảy ra không?" — không cần bạn hỏi

Khoảng cách giữa mức 2 và mức 3 là khoảng cách quyết định trong một sự cố thật, vì mức 2 đòi một con người nghĩ ra câu hỏi đúng — và lúc 3 giờ sáng chủ nhật thì không có ai nghĩ.

Và đây là phần quan trọng nhất: một cảnh báo bị tắt là một cảnh báo không tồn tại.

Đây không phải một lời khuyên mềm mà là một quy luật vận hành. Một cảnh báo có 90% dương tính giả sẽ được người on-call bỏ qua sau tuần thứ hai, rồi được mute ở tuần thứ tư, và cái mute đó không bao giờ được gỡ. Nên tỉ lệ dương tính giả là một tiêu chí thiết kế của cảnh báo, quan trọng ngang độ phủ.

Bốn cảnh báo có tỉ lệ dương tính giả thấp và giá trị phát hiện cao — đây là bốn cái đáng làm trước:

Cảnh báoVì sao ít dương tính giả
Một tài khoản nhận >50 lần 403 trong 5 phútNgười dùng thật không gặp 403 nhiều lần; UI không cho họ
Đăng nhập thành công từ một nước mới, cho một tài khoản có quyền caoHiếm, và mỗi lần đều đáng xem
Một tài khoản export >10× lượng dữ liệu trung vị của chính họSo với chính họ, không so với người khác
Bất kỳ thay đổi vai nào không đi qua UI adminNó chỉ xảy ra khi có gì bất thường

Chú ý cảnh báo thứ ba: so một tài khoản với chính nó, không so với trung bình toàn hệ thống. Một người dùng doanh nghiệp export 50.000 dòng mỗi ngày là bình thường với họ; cùng con số đó với một tài khoản cá nhân là bất thường. Ngưỡng tuyệt đối tạo ra dương tính giả ở đầu trên và bỏ sót ở đầu dưới.

Xem lộ trình

Bình luận

Tham gia thảo luận
Đăng ký để bình luận

Bình luận cần tài khoản đã hoàn thành ít nhất một bài học. Điều kiện đó là thứ giữ cho luồng thảo luận này còn đáng đọc: mỗi ý kiến gắn với một người có thể bị hỏi lại, và reputation tích luỹ theo thời gian.

Đăng kýĐăng nhập

Bạn vẫn đọc được toàn bộ bình luận dưới đây mà không cần tài khoản. Đăng nhập xong bạn sẽ quay lại đúng chỗ này, không phải đầu trang.

Đang tải bình luận…