Trong các báo cáo về bảo mật cho website, không thể nhắc đến các công cụ kiểm tra rà lỗ hổng bảo mật thông qua kiểm tra phiên bản plugin hoặc theme cũ chưa nâng cấp. Các chuyên gia về Web tại Code Tốt hướng dẫn bạn cách thiết lập để ngăn chặn việc quét phiên bản theme/plugin trên cấu hình máy chủ.
Các vấn đề bảo mật của file chứa thông tin nhạy cảm
Thường các file chứa thông tin sau được coi là file nhạy cảm:
- README.md (thường chứa các nội dung như Version: 1.0.0)
- Changelog.MD (cũng chứa các phiên bản và các patch thông tin về phiên bản)
- *-sample.txt, ví dụ config-sample.txt là các file nhạy cảm có thể chứa cách thức cấu hình database, và có thể kèm cả @ver.
Sự nhạy cảm này thường do các phiên bản dù là bản miễn phí hay trả phí vẫn hay được tác giả công bố công khai trên website, nên các công cụ scan theme hoặc scan theme có thể detect ra được.
Như vậy, các file này thường để chế độ có thể access mặc định. Mình gõ vào trình duyệt đúng path là nó ra, và các công cụ quét bảo mật thường xuyên sử dụng cách này để rà soát lỗ hổng bảo mật của mỗi web.
Cách xử lý ngăn chặn việc quét bảo mật này như thế nào?
Đối với máy chủ có cho phép mod_rewrite như Apache, Litespeed, bạn có thể sửa trong file .htaccess của website:
# 404 redirect for readme/license/changelog/config/sample access path
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule (?:readme|license|changelog|-config|-sample)\.(?:php|md|txt|html?) index.php [L]
RewriteRule \.(?:psd|log|cmd|exe|bat|c?sh)$ index.php [L]
</IfModule>
Với các máy chủ sử dụng Nginx config, bạn sẽ sử dụng đoạn code sau:
# Block access to specific files and extensions
location ~* \.(?:php|md|txt|html?|psd|log|cmd|exe|bat|c?sh)$ {
# Deny direct access to readme, license, changelog, -config, -sample files
if ($request_uri ~* "(?:readme|license|changelog|-config|-sample)\.(?:php|md|txt|html?)") {
rewrite ^ /index.php last;
}
# Deny direct access to other specified extensions
if ($request_uri ~* "\.(?:psd|log|cmd|exe|bat|c?sh)$") {
rewrite ^ /index.php last;
}
}
Sau khi cập nhật đoạn code đó xong, bạn hãy thử vào URL 1 file README của plugin để kiểm chứng nhé.
Các khách hàng đang sử dụng Dịch vụ Bảo trì website của Code Tốt có thể liên hệ với đội ngũ hỗ trợ kỹ thuật để nhận cấu hình cập nhật này cho website của mình.
