- 1. Ẩn phiên bản WordPress
- 2. Chặn duyệt thư mục (Directory Browsing)
- Apache (.htaccess)
- Nginx
- 3. Tắt XML-RPC nếu không sử dụng
- Apache (.htaccess)
- Nginx
- 4. Tắt chỉnh sửa file trong admin
- 5. Tắt REST API cho người không đăng nhập
- 6. Bảo vệ file wp-config.php
- Apache (.htaccess)
- Nginx
- 7. Giới hạn truy cập wp-login.php
- Apache (.htaccess)
- Nginx
- 8. Thiết lập quyền file/folder đúng chuẩn
- Gợi ý thêm (nếu có dùng Cloudflare)
- Kết luận
1. Ẩn phiên bản WordPress
Để tránh bị dò lỗ hổng theo phiên bản, hãy ẩn thông tin WordPress version:
// functions.php
remove_action('wp_head', 'wp_generator');
2. Chặn duyệt thư mục (Directory Browsing)
Tránh để người khác duyệt nội dung thư mục như /wp-content/uploads/.
Apache (.htaccess)
Options -Indexes
Nginx
location / {
autoindex off;
}
3. Tắt XML-RPC nếu không sử dụng
Nếu bạn không dùng Jetpack hoặc app mobile thì nên chặn hoàn toàn xmlrpc.php.
Apache (.htaccess)
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
Nginx
location = /xmlrpc.php {
deny all;
return 403;
}
4. Tắt chỉnh sửa file trong admin
Ngăn chặn việc chỉnh sửa code plugin/theme trong bảng quản trị (nếu bị hack).
// wp-config.php
define('DISALLOW_FILE_EDIT', true);
5. Tắt REST API cho người không đăng nhập
REST API có thể bị lạm dụng để dò dữ liệu, nên giới hạn chỉ người đã đăng nhập mới được gọi.
// functions.php
add_filter('rest_authentication_errors', function($result) {
if (!is_user_logged_in()) {
return new WP_Error('rest_cannot_access', 'Access denied', ['status' => 403]);
}
return $result;
});
6. Bảo vệ file wp-config.php
File wp-config.php chứa thông tin nhạy cảm như mật khẩu DB, nên cần cấm truy cập ngoài.
Apache (.htaccess)
<files wp-config.php>
order allow,deny
deny from all
</files>
Nginx
location ~* wp-config.php {
deny all;
}
7. Giới hạn truy cập wp-login.php
Trang đăng nhập thường bị tấn công brute force, bạn nên giới hạn IP truy cập hoặc firewall.
Apache (.htaccess)
<Files wp-login.php>
Order Deny,Allow
Deny from all
Allow from 123.456.789.000
</Files>
Nginx
location = /wp-login.php {
allow 123.456.789.000;
deny all;
}
Thay IP trên bằng IP của bạn.
8. Thiết lập quyền file/folder đúng chuẩn
- Thư mục:
755 - Tập tin:
644 wp-config.php:400hoặc440
Không để file/folder ở chế độ ghi toàn bộ (777).
Gợi ý thêm (nếu có dùng Cloudflare)
- Tạo rule chặn truy cập đến
/wp-login.phptừ quốc gia lạ - Chặn
/xmlrpc.phphoặc/wp-json/nếu không dùng - Bật Web Application Firewall (WAF)
Kết luận
Không cần đến 10 plugin bảo mật, bạn hoàn toàn có thể “tăng giáp” cho WordPress bằng vài dòng cấu hình. Hãy ưu tiên sự gọn nhẹ và hiểu rõ từng thay đổi mình thực hiện để giữ site vừa an toàn, vừa tối ưu tốc độ.
Bình luận