Cách bảo mật web từng bước: checklist thực tế cho blog
Cách bảo mật blog/web từng bước: secret, dependency, CSP, quyền repo và checklist chống lộ credential — thực dụng cho site tĩnh.
Bài này trả lời
Blog tĩnh có cần bảo mật không? CSP là gì? Có nên public repo không? 2FA có cần không?Mục lục
Cách bảo mật web từng bước: checklist thực tế cho blog
Bảo mật không bắt đầu từ WAF đắt tiền. Với blog tĩnh + CI, 80% việc là không lộ secret và không chạy script lạ.
Tầng 1 — Tài khoản & quyền
- 2FA GitHub
- Ít admin
- Token fine-grained, hết hạn
- Không share password
Tầng 2 — Secret hygiene
-
Không commit
.env - Secret chỉ trong GitHub Secrets
- Rotate khi nghi lộ
- Không in secret ra log CI
Tầng 3 — Dependency & workflow
- Pin action version
- Review workflow lạ
-
Hạn chế
pull_request_targetnguy hiểm - Không auto-merge PR fork không tin
Nền vận hành: DevOps checklist.
Tầng 4 — Frontend
- CSP cơ bản
-
Không
evaluser input - Escape output comment/CMS
- HTTPS
Tham chiếu OWASP Top 10.
Tầng 5 — Dữ liệu người dùng
Nếu có login/comment/payment:
- Session tách role
- Không tin client
- Rate limit
- Không log PII
Góc fintech: bảo mật ngân hàng số.
Checklist hàng quý
| Việc | Tần suất |
|---|---|
| Review quyền collaborator | 3 tháng |
| Rotate token | 3–6 tháng |
| Quét secret repo | Mỗi tháng / mỗi PR |
| Backup | Tuần |
Checklist PR security (nhanh)
- Diff có token/password không?
- Workflow mới xin permission gì?
- Dependency lạ?
-
Link ngoài
javascript:?
Sự cố lộ secret — 30 phút đầu
- Revoke token
- Rotate key
- Xoá khỏi git history nếu cần (và coi như đã lộ)
- Kiểm tra access log
- Thông báo team
CSP tối thiểu (ý tưởng)
default-src 'self'- Script chỉ domain tin cậy
frame-ancestors 'none'nếu không cần embed
Bảo mật máy dev
- Ổ khoá màn hình
- Không commit từ máy share
- SSH key có passphrase
- Tắt sync clipboard secret
Liên hệ fintech
Người dùng ngân hàng số: không chia sẻ OTP, kiểm tra URL chính thức — xem bài bảo mật VietinBank/app.
Bước tiếp
Chạy một lượt secret scan trên repo tuần này và bật 2FA mọi tài khoản admin.
Ghi chú thực chiến (bổ sung)
Phần này mình giữ cố ý ngắn, làm được ngay, tránh lý thuyết dài:
- Chọn một mục trong checklist phía trên — chỉ một.
- Đặt deadline 48 giờ (hoặc 7 ngày nếu là lộ trình).
- Ghi lại kết quả vào note: làm được gì / kẹt ở đâu.
- Lặp lại mục tiếp theo; đừng nhảy cóc khi nền chưa vững.
- Chia sẻ với một người (bạn / team) để có feedback.
Khi nào nên dừng và hỏi lại
- Bạn copy đúng checklist nhưng không hiểu vì sao làm bước đó.
- Công cụ/giấy tờ thực tế khác với mô tả (luôn ưu tiên nguồn chính thức).
- Có rủi ro tiền bạc, pháp lý, tài khoản — dừng và đọc điều khoản gốc.
Liên kết đọc thêm trong SEOMONEY
Hãy dùng menu chuyên mục và các bài liên quan ở cuối trang (Related / series) để đi sâu cluster thay vì mở 20 tab ngẫu nhiên. Topical authority đến từ mạng bài cùng chủ đề, không phải một bài “siêu dài” đơn lẻ.
Tóm tắt hành động
| Ưu tiên | Việc | Xong khi |
|---|---|---|
| P0 | Mục checklist số 1 bạn chọn | Có output kiểm chứng được |
| P1 | Ghi note lỗi/kẹt | Có 3 dòng ghi nhận |
| P2 | Đặt lịch ôn/lặp | Có mốc trên calendar |
Làm đủ P0 + P1 đã hơn 80% người chỉ “lưu bài để đọc sau”.
Liên kết bên ngoài được sử dụng trong bài viết
Liên kết nội bộ liên quan
Bản quyền & Ghi nguồn
Một phần dữ liệu trong bài viết được tham khảo từ OWASP Top 10. Mọi thương hiệu, tên sản phẩm và tài liệu gốc thuộc quyền sở hữu của chủ sở hữu tương ứng. Bài viết chỉ trích dẫn, tổng hợp và phân tích — không nhằm thay thế tài liệu chính thức.
Bình luận
Đang tải bình luận…
Chưa có bình luận nào. Hãy là người đầu tiên chia sẻ ý kiến.
Đăng nhập để tham gia thảo luận.
Đăng nhập bằng Google để bình luậnChỉ dùng để bình luận. Không truy cập trình soạn thảo/CMS.
Không kết nối được máy chủ. Vui lòng thử lại.