1. XML-RPC WordPress là gì ?

- Tính năng XML-RPC của WordPress cho phép các dịch vụ bên ngoài truy cập và sửa đổi nội dung trên trang web. Ví dụ phổ biến về các dịch vụ sử dụng XML-RPC là plugin Jetpack, ứng dụng di động WordPresspingback (Hình ảnh lỗi kết nối ứng dụng di động WordPress nếu XML-RPC không được bật)

- Ban đầu, cài đặt thủ công WordPress có XML-RPC bị tắt theo mặc định. Để kích hoạt nó, bạn phải đi tới Settings > Writing > Remote Publishing (Cài đặt> Viết> Xuất bản từ xa). Tuy nhiên, từ phiên bản 3.5 trở đi, WordPress đã bật tính năng này theo mặc định và tùy chọn bật hoặc tắt nó đã bị loại bỏ. (https://codex.wordpress.org/XML-RPC_Support)

2. Tại sao mặc định hosting iNET không bật tính năng XML-RPC WordPress ?

- Với XML-RPC, có hai điểm yếu có thể bị tin tặc khai thác

- Khi bạn muốn xuất bản nội dung từ một thiết bị từ xa, một yêu cầu XML-RPC sẽ được tạo. Các yêu cầu này được xác thực bằng tên người dùng và mật khẩu đơn giản. Đây là một kiểm tra bảo mật cơ bản. Nếu một hacker nắm được thông tin đăng nhập này, họ có thể sử dụng nó để gửi yêu cầu của riêng họ. Bằng cách này, họ có quyền truy cập vào trang web của bạn.

- XML-RPC được thiết kế để người dùng xuất bản nội dung với số lượng lớn. Điều này cho phép các cuộc tấn công bạo lực trong đó tin tặc sử dụng bot để cố gắng đoán tên người dùng và mật khẩu của bạn. Thông qua chức năng XML-RPC, họ có thể thực hiện các nỗ lực đăng nhập bằng cách gửi số lượng lớn để đoán thông tin đăng nhập của bạn. (Hình ảnh web bị request tệp xmlrpc.php)

- Cuối cùng, nếu một tin tặc đã giành được quyền truy cập vào trang web của bạn, họ có thể sử dụng sai chức năng pingback XML-RPC để thực hiện các cuộc tấn công DDoS. Trong một cuộc tấn công như vậy, tin tặc đánh sập các trang web (thường là của các thương hiệu lớn hoặc chính phủ) bằng cách gửi pingback từ hàng nghìn trang web. Việc nhận dữ liệu đột ngột này sẽ làm quá tải máy chủ web của mục tiêu và có thể làm sập trang web.

- Ở phần 1 đã đề cập đến chức năng của XML-RPC. Nhưng nếu bạn không sử dụng ứng dụng di động WordPress cũng như plugin JetPack và nếu bạn không thấy trackback và pingbacks hữu ích thì tốt nhất bạn nên tắt các tệp xmlrpc.php.

- Bằng cách vô hiệu hóa nó, bạn sẽ đảm bảo rằng tính năng / chức năng không thể được sử dụng để hack trang web WordPress của bạn.

3. Bật XML-RPC WordPress trên hosting cPanel iNET

3.1. Bật XML-RPC trên htaccess

- Mặc định tính năng XML-RPC WordPress bị tắt bởi hệ thống hosting, nên nếu muốn sử dụng cần được bật thông qua file .htaccess của hệ thống.

- Truy cập vào thư mục chứa code web của bạn và chỉnh sửa file .htaccess bằng cách thêm đoạn mã sau vào cuối file.

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
 order deny,allow
 deny from all
 allow from xxx.xxx.xxx.xxx
 allow from yyy.yyy.yyy.yyy
</Files>

Trong đó: 

  •  deny from all: chặn toàn bộ các kết nối đến
  •  allow from xxx.xxx.xxx.xxx: mở kết nối cho IP xxx.xxx.xxx.xxx

- Ngoài ra nếu bạn không chắc chắn IP sử dụng để mở kết nối, có thể sử dụng đoạn mã sau:

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
 order deny,allow
 allow from all
</Files>

Trong đó:

allow from all: cho phép tất cả các kết nối đến tệp xmlrpc.php

3.2. Tắt ModSecurity

Hệ thống hosting iNET sử dụng bảo vệ web WAF ModSecurity, do vậy các kết nối đến Wordpress - xmlrpc.php sẽ bị chặn và trả về mã lỗi 406

Để tắt ModSecurity cho 1 tên miền cụ thể hoặc tất cả tên miền truy cập cPanel > Security > ModSecurity

Kiểm tra kết quả

- Việc cho phép tất cả kết nối đến tệp xmlrpc.php iNET không khuyến nghị vì điều đó có thể xảy ra các vấn đề không mong muốn như đã nêu ở phần 2, ảnh hưởng đến hoạt động website của bạn trên hệ thống hosting iNET nếu bị hacker, tin tặc lợi dụng.

Như vậy iNET đã hướng dẫn bạn bật tính năng XML-RPC WordPress trên hosting, tùy vào mục đích để bạn có thể sử dụng đúng nhu cầu. Chúc bạn thực hiện thành công !