Bạn nhận một email cảnh báo website chậm bất thường, hoặc chỉ đơn giản là đã lâu không ai đụng tới phần bảo mật của trang. Trước khi hoảng, việc nên làm trước tiên là kiểm tra bảo mật website bằng vài công cụ cụ thể, đọc đúng kết quả trả về, rồi mới quyết định có cần xử lý sâu hơn không.
Bài này nói về việc kiểm tra định kỳ bằng công cụ quét (scan) — việc bất kỳ chủ website nào cũng có thể tự làm hoặc đưa vào lịch chăm sóc website. Phần kiểm thử xâm nhập (pentest) sâu hơn, cần người được phép và có hợp đồng riêng, được nói ở phần sau.
Vì sao cần kiểm tra bảo mật website định kỳ
Lỗ hổng mới được công bố liên tục trên các plugin, theme và cả lõi WordPress. Một plugin bạn cài cách đây hai năm có thể vừa bị phát hiện lỗi nghiêm trọng tuần trước, và bạn sẽ không biết nếu không chủ động kiểm tra. Nên quét vào các thời điểm: trước một đợt cập nhật lớn, sau khi thêm plugin hoặc theme mới, ngay khi thấy dấu hiệu lạ (trang chậm bất thường, có tài khoản quản trị lạ, Google gửi cảnh báo), và theo lịch định kỳ dù không có dấu hiệu gì.
Việc quét không tốn nhiều thời gian và không ảnh hưởng tới người dùng đang truy cập trang, nên không có lý do để bỏ qua.
Quét bảo mật khác kiểm thử xâm nhập có phép ở đâu
Hai việc này hay bị gọi chung là “kiểm tra bảo mật”, nhưng cách làm và mức rủi ro khi thực hiện rất khác nhau.
| Tiêu chí | Quét bảo mật (scan) | Kiểm thử xâm nhập (pentest có phép) |
|---|---|---|
| Cách thực hiện | Công cụ tự động, so khớp phiên bản phần mềm với cơ sở dữ liệu lỗ hổng đã biết | Người có chuyên môn chủ động thử khai thác lỗi để xem hậu quả thật |
| Phạm vi | Rộng — liệt kê mọi lỗ hổng đã công bố trên các thành phần đang dùng | Hẹp và sâu hơn — tập trung vào một hoặc vài mục tiêu cụ thể |
| Tần suất hợp lý | Đều đặn, lặp lại thường xuyên không tốn nhiều công | Ít hơn, mỗi lần cần thời gian chuẩn bị và thống nhất phạm vi trước |
| Rủi ro khi thực hiện | Thấp, hầu như không ảnh hưởng hoạt động của trang | Có thể gây gián đoạn nếu không kiểm soát, cần thống nhất thời điểm trước |
| Ai nên làm | Chủ website, đội kỹ thuật tự chạy công cụ | Người hoặc đơn vị độc lập, có hợp đồng và phạm vi bằng văn bản |
| Yêu cầu trước khi làm | Chỉ chạy trên hệ thống mình sở hữu hoặc đang quản trị | Phải có xác nhận ủy quyền rõ ràng từ chủ sở hữu hệ thống |
Quét không thay được kiểm thử xâm nhập, vì công cụ quét chỉ nhận ra lỗi đã có trong cơ sở dữ liệu lỗ hổng; những lỗi riêng của từng website (ví dụ một quy trình đặt hàng bị lợi dụng) thường chỉ lộ ra khi có người chủ động thử khai thác theo cách con người mới nghĩ ra được.
Các nhóm công cụ quét phổ biến và đọc được gì
- Quét lỗ hổng WordPress (ví dụ WPScan): đối chiếu phiên bản core, plugin, theme đang chạy với cơ sở dữ liệu lỗ hổng đã công bố; trả về thành phần bị ảnh hưởng, loại lỗi, phiên bản đã có bản vá.
- Quét mã độc, danh sách cảnh báo trình duyệt (ví dụ Sucuri SiteCheck): kiểm trang từ góc nhìn trình duyệt, báo nếu trang bị gắn cờ chứa mã độc hoặc nằm trong danh sách cảnh báo.
- Kiểm tra cấu hình HTTPS (ví dụ Qualys SSL Labs): chấm điểm chứng chỉ, giao thức và bộ mã hoá đang dùng, chỉ ra cấu hình cũ cần đổi.
- Kiểm tra tiêu đề bảo mật HTTP (ví dụ Mozilla Observatory, securityheaders.com): xem trang đã khai báo đủ các tiêu đề như Content-Security-Policy, X-Frame-Options chưa.
- Báo cáo Security Issues trong Google Search Console: Google tự quét các trang đã xác minh quyền sở hữu và báo ba nhóm vấn đề — nội dung bị chèn trái phép (hacked content), phần mềm độc hại hoặc không mong muốn, và nội dung lừa đảo (social engineering).
Cách đọc một kết quả quét lỗ hổng
Một dòng kết quả quét thường có các trường sau, nên đọc theo đúng thứ tự này để quyết định việc cần làm trước:
- Thành phần bị ảnh hưởng: core, hay tên cụ thể của plugin hoặc theme nào.
- Khoảng phiên bản bị ảnh hưởng và phiên bản đã vá: nếu bản bạn đang chạy nằm trong khoảng bị ảnh hưởng và đã có bản vá, việc cần làm là cập nhật ngay.
- Loại lỗi: ví dụ chèn mã, vượt quyền, tải file tuỳ ý — loại lỗi cho biết kẻ tấn công có thể làm gì nếu khai thác được.
- Mức cần quan tâm, đọc theo nhiều yếu tố thay vì một nhãn duy nhất: có cần đăng nhập để khai thác không (không cần đăng nhập thì rủi ro cao hơn), có cần người dùng bấm vào đâu không (tự động xảy ra thì rủi ro cao hơn), và lỗi đã có cách khai thác công khai hay chưa.
Một lỗi ở mức trung bình nhưng không cần đăng nhập, nằm trên một plugin nhiều người dùng, đôi khi đáng lo hơn một lỗi mức cao chỉ xảy ra ở một trang quản trị bạn không dùng tới. Đọc đủ các trường trên thay vì chỉ nhìn một nhãn mức độ.
Vì sao không tự ý quét hoặc kiểm thử website không phải của mình
Chỉ thực hiện quét hoặc kiểm thử trên website bạn sở hữu, đang quản trị, hoặc đã được chủ sở hữu xác nhận bằng văn bản cho phép. Bộ luật Hình sự có quy định riêng về hành vi xâm nhập trái phép vào mạng máy tính, mạng viễn thông hoặc phương tiện điện tử của người khác (Điều 289); hành vi này có thể bị xử lý hình sự, kể cả khi người thực hiện chỉ chạy công cụ quét tự động mà không có ý định phá hoại gì. Việc “thử xem đối thủ có lỗ hổng không” vì vậy không nên làm, dù chỉ là quét bằng công cụ miễn phí sẵn có.
Việc cần làm sau khi có kết quả quét
- Sắp xếp các lỗi theo mức cần quan tâm (xem phần đọc kết quả ở trên) trước khi bắt tay xử lý.
- Với lỗi đã có bản vá: cập nhật plugin, theme đúng cách ngay, đừng để qua một kỳ cập nhật nữa.
- Với lỗi chưa có bản vá: tạm gỡ hoặc đổi sang plugin, theme khác cùng chức năng, không nên chờ nhà phát triển vá nếu lỗi nghiêm trọng.
- Luôn sao lưu trước khi sửa, để có đường quay lại nếu thao tác gây ra lỗi khác.
- Nếu nghi ngờ website đã bị khai thác thật, không chỉ đơn thuần có lỗ hổng, chuyển sang quy trình xử lý website bị hack thay vì chỉ vá lỗi.
- Lưu lại kết quả quét lần này để so sánh với lần sau, xem lỗi có lặp lại không.
Việc kiểm tra bảo mật website nên lặp lại định kỳ, không phải làm một lần rồi thôi. Nhiều khách hàng đưa việc này vào lịch quản trị website hằng tháng để không phải tự nhớ ngày.
Đưa việc kiểm tra bảo mật vào lịch chăm sóc website
Gửi brief: nền tảng website đang dùng, lần kiểm tra bảo mật gần nhất là khi nào. VIDCO trao đổi phạm vi và báo giá theo nhu cầu thực tế.
Nguồn tham khảo
Thông tin trong bài được đối chiếu với các nguồn chính thức dưới đây tại thời điểm biên soạn; văn bản và chính sách có thể thay đổi.
- WPScan – Vulnerability Database cho WordPress
- OWASP Web Security Testing Guide
- Security Issues Report – Google Search Console
- Điều 289 Bộ luật Hình sự – Tội xâm nhập trái phép vào máy tính
Câu hỏi thường gặp
Quét bảo mật bằng công cụ miễn phí có đủ tin cậy không?
Đủ để phát hiện các lỗ hổng đã công bố công khai trên core, plugin, theme — phần lớn website nhỏ gặp đúng dạng lỗi này. Công cụ miễn phí không thay được việc đọc kỹ kết quả và xử lý đúng thứ tự.
Bao lâu nên kiểm tra bảo mật website một lần?
Nên quét định kỳ, và quét thêm ngay sau mỗi lần thêm plugin hoặc theme mới, hoặc trước một đợt cập nhật lớn. Không có mốc thời gian cố định cho mọi website, vì tuỳ tần suất thay đổi của từng trang.
Phát hiện lỗ hổng nhưng chưa có bản vá thì làm sao?
Tạm gỡ hoặc thay bằng plugin, theme khác cùng chức năng nếu lỗi nghiêm trọng. Nếu lỗi ở mức thấp và thành phần đó vẫn cần dùng, có thể hạn chế quyền truy cập tới khi có bản vá, nhưng cần theo dõi sát.
VIDCO có làm kiểm thử xâm nhập (pentest) không?
Phạm vi chăm sóc, quản trị website của VIDCO gồm kiểm tra bảo mật định kỳ bằng công cụ quét. Kiểm thử xâm nhập là dịch vụ chuyên biệt, do đơn vị độc lập thực hiện theo hợp đồng ủy quyền riêng, không nằm trong phạm vi chăm sóc website thông thường.