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

Ở cùng 200 ms mỗi lần băm, bcrypt và argon2 làm kẻ tấn công chậm y như nhau trên CPU — khác biệt thật là 4 KB so với 512 MB RAM, gấp 131.072 lần

Lưu mật khẩu đúng cách nghĩa là không lưu mật khẩu. Tôi hiệu chỉnh bcrypt, scrypt, argon2 về cùng 200 ms/lần băm rồi đo: trên CPU cả ba làm kẻ tấn công chậm như nhau (5–6 lần đoán/giây), nên cấu hình đủ cao quan trọng hơn chọn thuật toán. Khác biệt thật lộ ra trên GPU/ASIC — argon2 dùng 512 MB RAM mỗi lần băm, vô hiệu hoá đúng lợi thế phần cứng của kẻ tấn công.

DevOps 02/09/2026 9 phút

logrotate báo 'thành công' rồi nuốt mất 4.317 dòng log — và không một dòng lỗi nào cảnh báo tôi

Tôi cho một tiến trình ghi 300.000 dòng đánh số rồi chạy logrotate ở giữa. copytruncate làm mất 4.317 dòng, im lặng tuyệt đối; đổi tên file thì không mất dòng nào nhưng cả luồng log chảy vào chỗ không ai đọc. Hai cách xoay vòng, hai kiểu hỏng, không cái nào kêu lên.

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

Autoescape chặn sạch XSS trong HTML — rồi thủng gọn ở một thuộc tính href tôi tưởng đã an toàn

Tôi không đếm xem payload có mặt trong HTML hay không — tôi mở Chromium thật và chờ hộp thoại alert bật lên. Autoescape thắng mọi payload trong nội dung HTML, nhưng để lọt trơn khi biến rơi vào href. Bài học: chặn đúng cho ngữ cảnh này không tự nhiên đủ cho ngữ cảnh kia.

DevOps 02/09/2026 9 phút

Giảm mẫu bằng trung bình để tiết kiệm đĩa đã xoá 84% chiều cao đỉnh của tôi — 939 ms còn 150 ms, và không gì trên màn hình cho biết

Prometheus nén một mẫu còn 2,16 byte, và giãn chu kỳ thu thập tiết kiệm gần tuyến tính. Nhưng giảm mẫu bằng trung bình là phép biến đổi KHÔNG đảo ngược được: một đợt chậm 939 ms bị san còn 150 ms, biểu đồ vẫn có đường, chỉ là đỉnh biến mất và không ai biết. Cách giữ đỉnh mà vẫn tiết kiệm.

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 8 phút

40 panel làm tươi mỗi 10 giây tốn 12% một nhân cho mỗi người xem — và 'sum by' không làm Prometheus nhẹ đi một chút nào

Mỗi bảng điều khiển đang mở là một chuỗi truy vấn lặp lại mà không con số chi phí nào hiện lên màn hình người đang nhìn. Tôi đo trên Prometheus 21.563 chuỗi: gộp bằng sum by chỉ cắt phần trả về chứ không cắt phần đọc (nhanh hơn vỏn vẹn 1,88 lần), cái nó thật sự cứu là trình duyệt; bước là đòn bẩy lớn nhất; và chi phí nhân thẳng với số người đang mở — mười người là hơn một nhân trọn vẹn.