Cách chặn truy cập xmlrpc.php trên DirectAdmin để bảo mật WordPress hiệu quả

Tác giả: 04/10/2025

Chặn truy cập xmlrpc.php trên DirectAdmin

 

 

 

 

Trong thế giới quản trị website, việc bảo vệ hệ thống khỏi các cuộc tấn công mạng là một nhiệm vụ quan trọng. Một trong những mục tiêu phổ biến của các hacker và BadBot chính là tệp xmlrpc.php – một thành phần thường thấy trên các website WordPress. Nếu không được kiểm soát, các request độc hại nhắm vào xmlrpc.php có thể làm chậm website, tiêu tốn tài nguyên server, thậm chí dẫn đến nguy cơ bị xâm nhập. Với Directadmin, bạn hoàn toàn có thể ngăn chặn BadBot và các request tấn công này một cách dễ dàng và hiệu quả. Hãy cùng tìm hiểu cách thực hiện trong bài viết này!

 

Tệp xmlrpc.php là một phần của WordPress, cho phép giao tiếp từ xa giữa website và các ứng dụng bên ngoài (như ứng dụng di động hoặc phần mềm quản lý nội dung). Tuy nhiên, chính tính năng này lại trở thành “con mồi” hấp dẫn cho BadBot và hacker. Chúng thường gửi hàng loạt request giả mạo nhằm:

– Tấn công Brute Force: Thử đăng nhập bằng cách gửi liên tục các tổ hợp tên người dùng và mật khẩu.

– DDoS: Gây quá tải server bằng lượng lớn request.

– Khai thác lỗ hổng: Tìm kiếm điểm yếu trong hệ thống để xâm nhập.

 

Nếu không có biện pháp bảo vệ, website của bạn có thể bị ảnh hưởng nghiêm trọng về hiệu suất và bảo mật.

 

Chặn Tấn công Với Apache + Directadmin
  1. Truy cập vào Server với quyền root qua SSH
  2. Đi tới đường dẫn lưu trữ các tệp mẫu tùy chỉnh (khi bạn chỉnh sửa hoặc tạo mới các mẫu cấu hình cho DirectAdmin, bạn có thể lưu chúng vào thư mục này để đảm bảo rằng các thay đổi của bạn không bị ghi đè bởi các cập nhật hệ thống hoặc DirectAdmin.)
cd /usr/local/directadmin/data/templates/custom/
  1. Tạo các tệp trống để chứa cấu hình tùy chỉnh
touch virtual_host2.conf.CUSTOM.4.post virtual_host2_secure.conf.CUSTOM.4.post

touch virtual_host2_secure_sub.conf.CUSTOM.4.post virtual_host2_sub.conf.CUSTOM.4.post

chmod 644 virtual_host2.conf.CUSTOM.4.post virtual_host2_secure.conf.CUSTOM.4.post

chmod 644 virtual_host2_secure_sub.conf.CUSTOM.4.post virtual_host2_sub.conf.CUSTOM.4.post
  1. Mở từng tệp và thêm đoạn code sau ở cuối file
<Location ~ "/xmlrpc.php">

     Order allow,deny

     Deny from all

     ErrorDocument 403 "Sorry, you are not allowed to view this page!"

</Location>

Khởi động lại hệ thống

systemctl restart apache2
  1. Sao chép nội dung của tệp đầu tiên vào các tệp khác:
cp -p virtual_host2.conf.CUSTOM.4.post virtual_host2_secure.conf.CUSTOM.4.post

cp -p virtual_host2.conf.CUSTOM.4.post virtual_host2_secure_sub.conf.CUSTOM.4.post

cp -p virtual_host2.conf.CUSTOM.4.post virtual_host2_sub.conf.CUSTOM.4.post
  1. Áp dụng các thay đổi và tái tạo lại cấu hình cho tất cả các virtual host hiện có
cd /usr/local/directadmin/custombuild/

./build rewrite_confs
  1. Hãy đảm bảo rằng Apache của bạn đã khởi động lại, sau đó thử truy cập vào link http://www.domain.com/xmlrpc.php => Bạn sẽ thấy thông báo “Sorry, you are not allowed to view this page!”.
Chặn Tấn công Với Nginx + Directadmin
  1. Truy cập vào Server với quyền root qua SSH
  2. Đi tới đường dẫn lưu trữ các tệp mẫu tùy chỉnh (khi bạn chỉnh sửa hoặc tạo mới các mẫu cấu hình cho DirectAdmin, bạn có thể lưu chúng vào thư mục này để đảm bảo rằng các thay đổi của bạn không bị ghi đè bởi các cập nhật hệ thống hoặc DirectAdmin.)
cd /usr/local/directadmin/data/templates/custom/
  1. Tạo các tệp trống để chứa cấu hình tùy chỉnh
touch nginx_server.conf.CUSTOM.4.post nginx_server_secure.conf.CUSTOM.4.post

touch nginx_server_secure_sub.conf.CUSTOM.4.post nginx_server_sub.conf.CUSTOM.4.post

chmod 644 nginx_server.conf.CUSTOM.4.post nginx_server_secure.conf.CUSTOM.4.post

chmod 644 nginx_server_secure_sub.conf.CUSTOM.4.post nginx_server_sub.conf.CUSTOM.4.post
  1. Mở từng tệp và thêm đoạn code sau ở cuối file
location =/xmlrpc.php 

{

     deny all;

}

Lưu tệp cấu hình và kiểm tra cú pháp của tệp cấu hình Nginx để đảm bảo không có lỗi

nginx –t

Khởi động lại hệ thống

systemctl restart nginx
  1. Sao chép nội dung của tệp đầu tiên vào các tệp khác
cp -p nginx_server.conf.CUSTOM.4.post nginx_server_secure.conf.CUSTOM.4.post

cp -p nginx_server_secure.conf.CUSTOM.4.post nginx_server_secure_sub.conf.CUSTOM.4.post

cp -p nginx_server_secure_sub.conf.CUSTOM.4.post nginx_server_sub.conf.CUSTOM.4.post
  1. Áp dụng các thay đổi và tái tạo lại cấu hình
cd /usr/local/directadmin/custombuild/

./build rewrite_confs
  1. Hãy đảm bảo rằng Nginx của bạn đã khởi động lại, sau đó thử truy cập vào link http://www.domain.com/xmlrpc.php => Bạn sẽ thấy lỗi 403: “403 Forbidden”.
Chặn Tấn công Với OpenLiteSpeed + Directadmin
  1. Truy cập vào Server với quyền root qua SSH
  2. Đi tới đường dẫn lưu trữ các tệp mẫu tùy chỉnh (khi bạn chỉnh sửa hoặc tạo mới các mẫu cấu hình cho DirectAdmin, bạn có thể lưu chúng vào thư mục này để đảm bảo rằng các thay đổi của bạn không bị ghi đè bởi các cập nhật hệ thống hoặc DirectAdmin.)
cd /usr/local/directadmin/data/templates/custom/
  1. Tạo các tệp trống để chứa cấu hình tùy chỉnh
touch openlitespeed_vhost.conf.CUSTOM.5.post

chown diradmin:diradmin openlitespeed_vhost.conf.CUSTOM.5.post
  1. Mở tệp và thêm dòng code sau ở cuối file
RewriteRule ^/(xmlrpc|wp-trackback)\.php - [F,L,NC]

Khởi động lại hệ thống

systemctl restart lsws
  1. Áp dụng các thay đổi và tái tạo lại cấu hình
cd /usr/local/directadmin/custombuild/

./build rewrite_confs
  1. Hãy đảm bảo rằng OpenLiteSpeed của bạn đã khởi động lại, sau đó thử truy cập vào link http://www.domain.com/xmlrpc.php => Bạn sẽ thấy lỗi 403: “403 Forbidden”.

 

Tấn công từ BadBot và các request nhắm vào xmlrpc.php không còn là nỗi lo nếu bạn biết cách tận dụng Directadmin. Với các công cụ bảo mật tích hợp và khả năng cấu hình linh hoạt, Directadmin giúp bạn bảo vệ website một cách toàn diện, tiết kiệm thời gian và công sức. Hãy áp dụng ngay các biện pháp trên để đảm bảo website của bạn luôn hoạt động ổn định và an toàn!