Bảo mật website doanh nghiệp: checklist kỹ thuật từ HTTPS, tiêu đề bảo mật đến giám sát

Checklist 6 nhóm biện pháp bảo mật website theo OWASP, MDN, Let's Encrypt, CISA và NCSC: HTTPS, tiêu đề bảo mật, cập nhật, tài khoản, giới hạn tốc độ, sao lưu và giám sát, kèm 5 bước ứng phó.
Phần lớn biện pháp bảo vệ website cơ bản không đắt. Cái khó là làm đủ và làm lặp lại: một chứng chỉ hết hạn hay một plugin bị bỏ quên là đủ hỏng cả lớp bảo vệ.
Bài này gom checklist kỹ thuật từ OWASP, MDN Web Docs, Let's Encrypt, npm, CISA, WordPress.org, Google Search Central và NCSC (Anh), đọc và đối chiếu đến ngày 22/10/2026.
Bài trả lời 3 câu hỏi: cấu hình gì ở HTTPS và tiêu đề bảo mật, duy trì gì sau khi ra mắt, và làm gì khi nghi bị xâm nhập. Click Star không nêu thống kê số vụ tấn công vì chưa mở được nguồn đo cho Việt Nam.
Điểm chính
- OWASP Top 10 hiện hành là bản 2025 với 10 nhóm. Cấu hình sai đứng thứ 2, và lỗi chuỗi cung ứng phần mềm (mở rộng từ nhóm thành phần lỗi thời) đứng thứ 3.
- Tiêu đề bảo mật HTTP là việc rẻ nhất: HSTS, CSP, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, X-Frame-Options. Bật từng bước, và chạy CSP ở chế độ Report-Only trước khi chặn thật.
- Permissions-Policy: microphone=() tắt micro ở mọi ngữ cảnh, kể cả chính trang của bạn. Trang có ghi âm hoặc gọi thoại cần microphone=(self).
- Chứng chỉ HTTPS cần gia hạn tự động và có cảnh báo. Let's Encrypt đã công bố hạn mặc định giảm từ 90 ngày xuống 64 ngày từ 10/2/2027, rồi 45 ngày từ 16/2/2028.
- Cập nhật là việc lặp lại. Ưu tiên lỗ hổng trong danh mục KEV của CISA vì đã biết là bị khai thác thật.

OWASP Top 10:2025 cho biết điều gì
Trang OWASP ghi bản mới nhất là OWASP Top 10 2025, bản thứ 8 (không ghi ngày, đọc 22/10/2026). Danh sách gồm:
- A01 Broken Access Control
- A02 Security Misconfiguration
- A03 Software Supply Chain Failures
- A04 Cryptographic Failures
- A05 Injection
- A06 Insecure Design
- A07 Authentication Failures
- A08 Software or Data Integrity Failures
- A09 Security Logging and Alerting Failures
- A10 Mishandling of Exceptional Conditions
Cấu hình sai tăng từ hạng 5 (2021) lên hạng 2, với dấu hiệu gồm máy chủ không gửi tiêu đề bảo mật. Checklist dưới đây chia 6 nhóm bám theo các mục này.
HTTPS và chứng chỉ: gia hạn tự động, có cảnh báo

Theo MDN (cập nhật 15/8/2026), mọi yêu cầu và phản hồi nên đi qua HTTPS, kèm chuyển hướng HTTP sang HTTPS và tải mọi tài nguyên qua HTTPS để tránh cảnh báo nội dung hỗn hợp.
Với Let's Encrypt, chứng chỉ mặc định có hạn 90 ngày và hãng khuyên gia hạn mỗi 60 ngày (FAQ). Bài công bố ngày 2/12/2025 đưa lịch giảm hạn: 45 ngày với hồ sơ tlsserver (tự chọn) từ 13/5/2026, 64 ngày với hồ sơ mặc định từ 10/2/2027 và 45 ngày từ 16/2/2028.
Hệ quả: gia hạn thủ công mỗi 90 ngày sẽ không còn đủ. Hãng khuyên dùng ARI (ACME Renewal Information) hoặc gia hạn khi đã qua khoảng 2/3 vòng đời, và đặt giám sát báo khi chứng chỉ không gia hạn đúng hạn.
OWASP lưu ý: nếu HSTS đặt thời hạn rất dài mà chứng chỉ hết hạn, người dùng hợp lệ có thể không vào được site cho đến khi HSTS hết hiệu lực.
Tiêu đề bảo mật HTTP: 6 tiêu đề cần cấu hình

Bài dùng OWASP HTTP Headers Cheat Sheet (không ghi ngày) và MDN.
HSTS. Theo MDN (cập nhật 11/9/2026), tiêu đề Strict-Transport-Security báo trình duyệt chỉ truy cập host qua HTTPS và không cho bỏ qua lỗi chứng chỉ. Nó chỉ có hiệu lực sau lần truy cập HTTPS đầu tiên.
Trang hstspreload.org khuyên tăng max-age theo giai đoạn (5 phút, 1 tuần, 1 tháng) và kiểm tra lỗi trước mỗi bước; includeSubDomains đòi hỏi mọi tên miền phụ chạy được HTTPS.
Hai nguồn lệch nhau về preload. OWASP đề xuất max-age=63072000; includeSubDomains; preload, còn hstspreload.org viết lợi ích của preload so với HSTS là nhỏ và không khuyến nghị.
Mẫu trong ảnh là bản rút gọn, đã bỏ preload. Muốn nộp vào danh sách preload, hstspreload.org yêu cầu max-age tối thiểu 31536000 giây, có includeSubDomains và preload, và mọi tên miền phụ chạy HTTPS.
CSP. Theo MDN (cập nhật 22/3/2026), Content-Security-Policy kiểm soát tài nguyên trang được tải và giúp chống XSS; MDN khuyên tránh 'unsafe-inline'. OWASP gọi CSP là phức tạp.
Cách an toàn là gửi Content-Security-Policy-Report-Only để nhận báo cáo vi phạm mà chưa chặn, sửa rồi mới bật chặn.
X-Content-Type-Options: nosniff. Theo MDN (17/3/2026), trình duyệt dùng đúng Content-Type được khai báo thay vì đoán. Điều kiện đi kèm (OWASP): khai báo Content-Type đúng cho mọi tài nguyên.
Referrer-Policy. Theo MDN (4/9/2026), mặc định là strict-origin-when-cross-origin. OWASP khuyên khai báo rõ thay vì dựa vào mặc định.
Permissions-Policy. Theo MDN (14/9/2026), cú pháp là Permissions-Policy: tính-năng=danh-sách, các tính năng cách nhau bằng dấu phẩy. () là tắt, self là chỉ cùng nguồn. MDN gắn nhãn thử nghiệm.
Mẫu OWASP là geolocation=(), camera=(), microphone=(). Theo MDN, () tắt tính năng ở mọi ngữ cảnh, kể cả iframe, và getUserMedia() bị từ chối. Nghĩa là microphone=() chặn micro cả với chính trang của bạn. Trang có ghi âm hoặc gọi thoại cần microphone=(self), camera cũng vậy.
X-Frame-Options. OWASP khuyên X-Frame-Options: DENY để không cho hiển thị trang trong khung. Theo OWASP, chỉ thị frame-ancestors của CSP thay thế tiêu đề này ở các trình duyệt hỗ trợ.
Cập nhật phần mềm, plugin và phụ thuộc
OWASP gọi nhóm này là Software Supply Chain Failures (A03). Dấu hiệu dễ bị tổn thương: không theo dõi phiên bản mọi thành phần kể cả phụ thuộc gián tiếp, không quét lỗ hổng định kỳ, và vá theo chu kỳ hàng tháng hay quý.
- Lập danh sách phần mềm, plugin, thư viện kèm phiên bản (Google Search Central, 10/12/2025).
- npm audit gửi mô tả phụ thuộc lên registry và trả báo cáo lỗ hổng đã biết; cần tệp package-lock, trả mã thoát khác 0 nếu có lỗ hổng, và --audit-level đặt ngưỡng (npm CLI 12.2.0).
- WordPress.org: bản cũ không được vá, có cập nhật tự động từ bản 3.7, nên xóa plugin không dùng và chỉ lấy plugin từ kho WordPress.org hoặc công ty có tên tuổi.
Để chọn việc vá trước, CISA duy trì danh mục KEV gồm lỗ hổng có mã CVE, có bằng chứng tin cậy bị khai thác thật và có cách khắc phục rõ ràng. CISA khuyến nghị mọi tổ chức dùng làm đầu vào ưu tiên. Tệp KEV phát hành 21/10/2026 có 1.754 mục (theo tệp JSON của CISA). Nhận định của Click Star: không có trong KEV chưa có nghĩa là an toàn.
Tài khoản quản trị và phân quyền tối thiểu
Click Star đã có bài riêng về passkey, MFA và RLS cho ứng dụng nội bộ. Theo OWASP Authentication Cheat Sheet, MFA là biện pháp phòng thủ mạnh nhất trước phần lớn tấn công mật khẩu và nên bật ở mọi nơi có thể.
- Mật khẩu dưới 8 ký tự là yếu nếu có MFA, dưới 15 ký tự nếu không có (OWASP, trích NIST SP 800-63B). Không bắt đổi định kỳ; chỉ đổi khi có rò rỉ.
- Khóa tài khoản nên đếm theo tài khoản, không theo IP, và ghi log mọi lần khóa.
- Phân quyền từ chối mặc định (A01:2025); tắt liệt kê thư mục, không để .git hay tệp sao lưu trong thư mục web.
- Xóa tài khoản mặc định và tính năng không dùng (A02:2025); dùng SFTP, không dùng FTP.
Chống bot, giới hạn tốc độ và WAF
Không chặn được mọi bot, nên mục tiêu là giới hạn tác hại.
OWASP API4:2023 nêu giới hạn tần suất gọi trong một khoảng thời gian, chính sách chặt hơn ở một số điểm cuối, và đặt hạn mức chi cho dịch vụ bên thứ ba, nếu không được thì đặt cảnh báo hóa đơn. Theo OWASP Authentication Cheat Sheet, CAPTCHA chỉ là lớp phòng thủ bổ sung, không phải biện pháp ngăn chặn.
OWASP mô tả WAF là bộ quy tắc áp lên giao tiếp HTTP, thường bao XSS và SQL injection; công sức tùy biến có thể đáng kể. WAF là lớp bổ trợ, không thay việc vá.
Sao lưu, giám sát và nhật ký
OWASP đổi tên A09 thành Logging and Alerting để nhấn mạnh cảnh báo: ghi log mà không cảnh báo thì giá trị rất thấp.
OWASP Logging Cheat Sheet khuyên ghi "khi nào, ở đâu, ai, việc gì" cho đăng nhập, lỗi phân quyền, thao tác quản trị và xuất dữ liệu. Mật khẩu, token, mã phiên và chuỗi kết nối thường không nên ghi trực tiếp vào log (cần thì loại bỏ, che hoặc băm). Không đặt log ở nơi truy cập được từ web.
Kiểm tra bằng công cụ quét tiêu đề công khai
HTTP Observatory (MDN, do Mozilla phát triển): site bắt đầu từ 100 điểm rồi bị trừ hoặc cộng điểm, tối đa 145; từ 100 là A+. FAQ nói rõ công cụ không kiểm phần mềm lỗi thời, SQL injection hay plugin CMS dễ bị tấn công.
Vì vậy điểm cao chỉ cho biết tiêu đề đã cấu hình, không cho biết site đã vá.
Khi nghi bị xâm nhập: 5 bước ứng phó

Hướng dẫn NCSC cho doanh nghiệp vừa và nhỏ (đăng 2019, rà soát 8/10/2020, bối cảnh Anh) chia ứng phó thành 5 bước.
- Chuẩn bị: xác định hệ thống quan trọng, thử khôi phục sao lưu, ghi người phụ trách và liên hệ hosting, đơn vị IT.
- Nhận diện: NCSC nêu dấu hiệu như tài khoản bị khóa, đòi tiền chuộc, người ngoài báo email lạ từ tên miền; trả lời ngay 10 câu hỏi của NCSC.
- Xử lý: khôi phục từ sao lưu, vá, dọn máy nhiễm, đổi mật khẩu.
- Báo cáo: báo cơ quan quản lý và cảnh sát (ở Anh là ICO và Report Fraud), thông báo nhân viên và khách bị ảnh hưởng, cân nhắc tư vấn pháp lý. Đây là hướng dẫn của Anh, không áp dụng nguyên văn cho Việt Nam.
- Rút kinh nghiệm: rà hành động, cập nhật kế hoạch, siết phòng thủ.
Ý nghĩa với doanh nghiệp Việt Nam và đánh giá của Click Star
Click Star không tìm thấy số đo công khai về tỷ lệ website doanh nghiệp Việt Nam có đủ tiêu đề bảo mật hoặc từng bị xâm nhập. Bài này chưa đọc trực tiếp Luật An ninh mạng hay Luật An toàn thông tin mạng nên không phân tích. Click Star đã có bài riêng về luật bảo vệ dữ liệu cá nhân.
Lợi ích liên quan: Click Star cung cấp dịch vụ thiết kế website chuẩn SEO tải nhanh. Hãy dùng checklist này để hỏi mọi đơn vị làm web, kể cả Click Star.
Đánh giá của Click Star. HSTS, nosniff và Referrer-Policy ít rủi ro. CSP và Permissions-Policy cần thử vì có thể làm hỏng micro, nhúng bên thứ ba hoặc script nội tuyến. Phần tốn công thật là vận hành lặp lại: gia hạn chứng chỉ, vá, rà tài khoản, đọc cảnh báo. Điểm quét cao không thay việc vá.
Lộ trình 30 ngày và cách đo
Khung tham khảo của Click Star, không lấy từ nguồn ngoài:
- Tuần 1: kiểm kê tên miền, phần mềm, plugin, tài khoản quản trị; xác nhận chứng chỉ gia hạn tự động và có cảnh báo.
- Tuần 2: bật MFA hoặc passkey, xóa tài khoản và plugin không dùng, quét lỗ hổng phụ thuộc và vá theo KEV trước.
- Tuần 3: thêm nosniff, Referrer-Policy, HSTS theo giai đoạn; gửi CSP ở chế độ Report-Only; kiểm Permissions-Policy.
- Tuần 4: giới hạn tốc độ đăng nhập, bật cảnh báo đăng nhập thất bại, thử khôi phục sao lưu và diễn tập 5 bước.
Cách đo (khung tham khảo, chưa có ngưỡng chuẩn ngành): số ngày còn lại của chứng chỉ gần hết hạn nhất, số lỗ hổng mức cao còn mở, số tài khoản quản trị chưa có MFA, ngày thử khôi phục gần nhất.
Những sai lầm thường gặp
- Bật HSTS dài hạn khi tên miền phụ chưa chạy HTTPS hoặc chứng chỉ chưa gia hạn tự động.
- Bật CSP chặn ngay, không qua Report-Only.
- Đặt microphone=() hay camera=() trên trang có ghi âm hoặc cuộc gọi.
- Coi điểm A+ của công cụ quét là đã an toàn.
- Dùng WAF thay cho việc vá lỗi.
- Bật nhật ký nhưng không ai đọc cảnh báo, hoặc ghi mật khẩu và token vào log.
Điều chưa biết
Click Star chưa có số đo công khai cho Việt Nam và chưa đọc quy định pháp luật Việt Nam về an ninh mạng, báo cáo sự cố; cần hỏi luật sư khi có sự cố liên quan dữ liệu cá nhân.
Trang Profiles của Let's Encrypt ghi hồ sơ tlsserver có hạn 45 ngày nhưng không ghi mốc ngày, nên mốc 13/5/2026 chỉ dựa vào bài công bố. Hỗ trợ trình duyệt của Permissions-Policy chưa được kiểm từng trình duyệt.
Bài liên quan
Cần tư vấn cụ thể cho doanh nghiệp?
Click Star giúp anh/chị xây dựng giải pháp phù hợp ngành nghề và quy mô. Trả lời mọi câu hỏi trong giờ làm việc.



