Ẩn WordPress thật sự kỹ – chống dò theme/plugin/version

WordPress là CMS phổ biến, nhưng cũng vì thế mà trở thành mục tiêu của nhiều bot và hacker. Bằng cách ẩn các dấu vết như phiên bản WordPress, tên theme, plugin và đường dẫn nhạy cảm, bạn có thể giảm đáng kể nguy cơ bị khai thác lỗ hổng. Bài viết này hướng dẫn cách thực hiện mà không cần plugin nặng nề.

Ẩn WordPress thật sự kỹ – chống dò theme/plugin/version

1. Xóa version khỏi mã nguồn HTML

remove_action('wp_head', 'wp_generator');

Hoặc kỹ hơn:

add_filter('the_generator', '__return_empty_string');

2. Ẩn thông tin version của CSS & JS

Mặc định WordPress thêm version của file theo dạng ?ver=. Bạn có thể loại bỏ để tránh lộ version plugin/theme:

function remove_css_js_version($src) {
    if (strpos($src, '?ver='))
        $src = remove_query_arg('ver', $src);
    return $src;
}
add_filter('style_loader_src', 'remove_css_js_version', 9999);
add_filter('script_loader_src', 'remove_css_js_version', 9999);

3. Chặn truy cập thư mục /wp-content

Tạo file .htaccess trong thư mục /wp-content với nội dung:

Options -Indexes

Hoặc chặn duyệt file kiểu trực tiếp:

<FilesMatch "\.(php|ini|bak|zip|sql)$">
    Order allow,deny
    Deny from all
</FilesMatch>

4. Đổi tên đường dẫn theme (nâng cao)

Đây là bước khó hơn và đòi hỏi hiểu cấu trúc WordPress. Bạn có thể:

  • Đặt theme vào thư mục con không mang tên themes
  • Sử dụng register_theme_directory() để chỉ định vị trí mới
  • Hoặc rewrite URL trong .htaccess / Nginx để che giấu tên theme thực

5. Chặn XML-RPC (nếu không dùng)

add_filter('xmlrpc_enabled', '__return_false');

Và chặn thêm trong .htaccess:

<Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
</Files>

6. Chặn dò plugin/theme phổ biến bằng URL

Dùng file .htaccess để chặn bot truy cập các đường dẫn chứa tên plugin phổ biến:

RewriteCond %{REQUEST_URI} ^.*(wp-content/plugins/wp-file-manager|wp-content/themes/twenty).* [NC]
RewriteRule ^.* - [F,L]

7. Tùy chọn nâng cao: dùng WAF hoặc CDN để ngụy trang

  • Dùng Cloudflare để rewrite URL tĩnh
  • Dùng mod_security hoặc firewall để chặn tool như WPScan

Kết luận

Ẩn dấu vết WordPress không đảm bảo an toàn tuyệt đối, nhưng làm giảm khả năng bị nhắm đến bởi các cuộc tấn công tự động. Hãy kết hợp các bước trên cùng với bảo mật server và cập nhật định kỳ để tối ưu khả năng phòng thủ.

Nếu bạn muốn kỹ hơn nữa, hãy xem xét viết một lớp wrapper cho toàn bộ asset, hoặc cấu hình Nginx để phân phối CSS/JS từ đường dẫn ảo.

Bình luận


  • Không có bình luận.