Q

Quản trị viên

Là một lập trình viên yêu công nghệ, thích viết blog để chia sẻ kiến thức, kinh nghiệm lập trình và những điều thú vị trong thế giới tech.

2300 bài viết · Website
Bảo mật 02/09/2026 9 phút

Mã TOTP sáu số của bạn không biết nó đang được gõ vào trang giả — và đó là lỗ hổng WebAuthn bịt bằng toán học

Tôi dựng TOTP thật rồi đo ba tính chất của nó: mã đổi mỗi 30 giây, cửa sổ chấp nhận ±31 giây, và tự nó KHÔNG chống phát lại. Nhưng điểm yếu chí mạng là phishing thời gian thực — thứ WebAuthn chặn được vì nó gắn chữ ký vào đúng tên miền. Hai công nghệ, hai triết lý.

DevOps 02/09/2026 9 phút

Cùng một sự cố, ba cách tính SLI cho ba kết luận trái ngược: vi phạm SLO, đạt SLO, và 'không có chuyện gì xảy ra'

Tôi dựng cùng một sự cố hai lần rồi tính SLI ba cách. Theo request: vi phạm nặng. Theo cửa sổ: y hệt nhau dù số người dính khác 3,6 lần. Theo độ trễ trung bình: 100% đạt, mù hoàn toàn. Câu hỏi trung tâm của SLO không phải 'đặt bao nhiêu' mà là 'tính SLI thế nào'.

Bảo mật 02/09/2026 9 phút

Bốn lớp lỗ hổng, một bảng: cách an toàn chặn 0/4, cách 'tự tắt bảo vệ' lọt 4/4 — bảo mật không phải thêm gì, mà là đừng gỡ

Bài chốt sê-ri bảo mật web: tôi gom bốn lớp lỗ hổng khác hẳn nhau (chạy mã từ chuỗi, SQL injection, shell injection, YAML RCE) vào một phép đo — cách khuyến nghị chặn sạch cả bốn, cách opt-out lọt cả bốn. Công cụ hiện đại đã mặc định an toàn; lỗ hổng gần như luôn đến từ hành động chủ động gỡ lớp bảo vệ có sẵn, không phải từ việc thiếu một lớp mới.

DevOps 02/09/2026 9 phút

Bật cả log, chỉ số và trace lấy đi 12,9% thông lượng — nhưng một lớp sinh 10,8 GB/ngày còn lớp kia chỉ 7,2 MB, chênh 1.540 lần

Tôi cộng cả ba lớp quan sát trên cùng một dịch vụ và đo tổng: −12,9% thông lượng, +19,3% CPU, +45,8% bộ nhớ. Nhưng phát hiện quan trọng hơn con số tổng là mô hình chi phí — chỉ số giữ trạng thái gộp nên KHÔNG tỷ lệ với lưu lượng (1.312 byte dù 20 nghìn hay 20 triệu yêu cầu), còn log và trace ghi từng sự kiện nên phình tuyến tính. Cùng lượng việc, trace tốn gấp 1.540 lần chỉ số.

DevOps 02/09/2026 10 phút

Mỗi pod trong Kubernetes thêm đúng 187 chuỗi chỉ số — kể cả pod không làm gì; và ba pod sống một phút để lại 4.580 chuỗi vĩnh viễn

Bản thân cụm Kubernetes cũng là một nguồn phát chỉ số, và nó phát ngay cả khi bạn chưa triển khai gì. Tôi đo: 187 chuỗi/pod tuyến tính hoàn hảo, kể cả pod pause chẳng làm gì. Và một bất ngờ — xoá sạch một namespace để lại 4.580 chuỗi control plane không bao giờ co lại (nhưng nó bão hoà).

DevOps 02/09/2026 9 phút

Trả thêm 59,8% dung lượng log để giảm số dòng phải đọc khi điều tra từ 48.000 xuống 4 — một đánh đổi hiếm khi rõ ràng đến thế

Nhúng trace_id vào mỗi dòng log tốn thêm 59,8% dung lượng. Đổi lại: khi có sự cố, số dòng bạn phải lọc để tìm đúng chuyện đã xảy ra giảm 12.000 lần. Thời gian máy chạy gần như không đổi — cái thay đổi là thời gian của con người lúc đang cháy nhà.