xmlrpc.php là gì và lý do nên vô hiệu hóa trong Wordpress? | Vietnix - Cloud Server Anti DDoS Chuyên Nghiệp

xmlrpc.php là gì và lý do nên vô hiệu hóa trong Wordpress?

07/04/2021
18 Lượt xem

xmlrpc.php là gì?

xmlrpc.php là gì? Là một tính năng giúp bạn đăng bài lên blog WordPress từ xa. Thông qua các ứng dụng bên ngoài như Windows Live Writer, IFTTT,… với HTTP làm công cụ truyền và XML làm công cụ encode (mã hóa).

Khuyết điểm lớn nhất của Xmlrpc là độ bảo mật kém. Rất dễ bị hacker lợi dụng để tấn công Brute Force Attack hoặc DDOS. Khiến trang web hay bị down thường xuyên, cho nên lời khuyên hãy tắt nó đi nếu không sử dụng.

Bạn có thể tham khảo 3 cách phổ biến sau đây để tắt tín năng Xmlrpc:

1. Vô hiệu hoá Xmlrpc bằng Plugin

  • Truy cập vào giao diện WordPress.
  • Di chuyển đến mục Plugins -> Nhấp vào Add New và search Disable XMLRPC -> cài đặt Plugin như hình bên dưới:

Khi được kích hoạt, plugin này sẽ tự động chạy code cần thiết để tắt Xmlrpc.

  • Trong trường hợp bạn đang sử dụng plugin Jetpack hoặc một số plugin khác đang dùng yếu tố của xmlrpc, bạn có thể cài thêm các plugin sau để giải quyết tình trạng này:
    • Cài đặt plugin Stop XMLRPC Attack để ngưng Xmlrpc nhưng vẫn cho phép các plugin như Jetpack..v.v tự động truy cập vào file xmlrpc.php.
    • Cài đặt plugin Control XML-RPC Publishing để cho phép kiểm soát và sử dụng công cụ xuất bản từ xa bằng xmlrpc.php.
    • Cài đặt plugin iThemes Security vì đã có tích hợp sẵn chức năng chặn XML-RPC và chặn Pingback, bạn có thể bật lên tại mục Security -> Settings -> WordPress Tweak và chọn Disable XML-RPC.

2. Sửa file .htaccess

  • Bạn có thể chặn tất cả các yêu cầu tới file xmlrpc.php bằng cách sử dụng .htaccess, dán đoạn mã sau vào file .htaccess của bạn:
# Block WordPress xmlrpc.php requests (vietnix)
<Files xmlrpc.php>
order deny,allow
deny from all
allow from x.x.x.x
</Files>
Bạn cũng có thể thêm vào allow from <IP> để cho phép tính năng XML-RPC vẫn hoạt động nếu kết nối từ địa chỉ IP đó.

3. Sửa file vhost Nginx

  • Nếu bạn đang sử dụng Nginx làm backend (sử dụng cùng với PHP-FPM) thì cần thêm rule sau vào file vhost của website:
location ~ xmlrpc.php { deny all; access_log off; log_not_found off; }

Chúc các bạn thành công!

Tìm hiểu thêm:
>>> WordPress là gì? Tính năng nổi bật của WordPress
>>> Hướng dẫn sử dụng Vesta Control Panel tạo một WordPress website
>>> Anti DDoS Protection là gì? Chống DDoS hiệu quả