Cách tắt xml-rpc WordPress không cần plugin

Cách tắt xml-rpc WordPress không cần plugin

Mới đây một khách hàng của tôi có gửi yêu cầu hỗ trợ về việc dù anh đã đổi url đăng nhập vào website (wp-admin) rồi nhưng tại sao trong 1 plugin thống kê đăng nhập vẫn thấy khá nhiều đăng nhập thất bại và website liên tục bị sập thì tôi có check web và thấy rằng giao thức XML-RPC vẫn còn mở nên việc attacked vẫn có 1 đường để sử dụng hình thức tấn công Brute Force Attacks thông qua XML-RPC xml rpc wordpress

I. XML-RPC là gì?

XML-RPC cho WordPress được thiết kế để kích hoạt các kết nối từ xa giữa trang web của bạn và các ứng dụng bên ngoài. Điều này có nghĩa là người dùng có thể tương tác với trang web WordPress của họ thông qua các nền tảng viết blog hoặc ứng dụng điện thoại khác nhau. XML-RPC hữu ích trong những ngày đầu của Internet, khi một người muốn chỉnh sửa nội dung ngoại tuyến, sau đó kết nối với blog WordPress của họ sau đó để xuất bản nội dung đó. Tuy nhiên, với những tiến bộ trong công nghệ, Đa số người dùng không sử dụng XML-RPC nên XML-RPC tiềm ẩn nhiều rủi ro bảo mật mà bạn nên vô hiệu hóa chúng đi để website được bảo mật hơn.

II. XML-RPC được sử dụng như thế nào trong WordPress?

Theo mặc định, WordPress tự động kích hoạt XML-RPC ! Nó tạo một API cho XML-RPC để cho phép tương tác (nhận, đọc, chỉnh sửa, đăng, v.v.) các bài đăng, nhận xét, phân loại … Bạn có thể tìm thấy ứng dụng của XML-RPC trong WordPress ở đâu?
  • Pingback
  • JSON API
  • iPhone/Android app
  • Remote posting by Microsoft Word for example.
  • Your own apps, perhaps!
REST API đã được tích hợp vào lõi WordPress và xmlrpc.php không còn được sử dụng cho giao tiếp này nữa. API REST để giao tiếp với các ứng dụng dành cho thiết bị di động WordPress, ứng dụng khách trên máy tính để bàn, nền tảng blog bên ngoài, WordPress.com (dành cho plugin Jetpack), cũng như các hệ thống và dịch vụ khác. Sự lựa chọn hệ thống mà REST API có thể kết nối phong phú hơn nhiều so với xmlrpc.php Bạn có thể thấy hiện tại REST API đã thay thế hoàn toàn cho XML-RPC nên bạn hãy tắt xmlrpc.php trên trang web của mình và dưới đây là cách để vô hiệu hóa XML-RPC trong WordPress

III. Vô hiệu hóa XML-RPC trong WordPress

Khách hàng của tôi có gửi yêu cầu hỗ trợ về việc dù anh đã đổi url đăng nhập vào website (wp-admin) rồi nhưng tại sao trong 1 plugin thống kê đăng nhập vẫn thấy khá nhiều đăng nhập thất bại và website liên tục bị sập thì tôi có check web và thấy rằng giao thức XML-RPC vẫn còn mở nên việc attacked vẫn có 1 đường để sử dụng hình thức tấn công Brute Force Attacks thông qua XML-RPC, ngoài ra XML-RPC còn hay bị khai thác DDoS nữa. Brute Force Attacks: Attacked có thể sử dụng xml-rpc để kiểm tra hàng trăm kết hợp tên người dùng và mật khẩu cho đến khi có thể truy cập vào trang web của bạn. Điều này xảy ra vì xml-rpc không giới hạn số lần đăng nhập như khi bạn đăng nhập vào WordPress bình thường. Đây là 1 tính năng cũ và hiện tại nó là lỗ hỏng để hacker có thể khai thác hình thức tấn công Brute Force Attacks DDoS: Attacked có thể sử dụng xml-rpc để pingback hàng nghìn IP. Điều này cho phép họ gửi một lượng lớn dữ liệu và lưu lượng truy cập có thể gây ra tình trạng quá tải cho máy chủ của bạn xml rpc

1. Chặn xmlrpc bằng .htaccess

Nếu bạn sử dụng máy chủ là Apache hoặc Litespeed bạn có thể vô hiệu hóa XML-RPC bằng cách thêm đoạn code phía dưới vào file .htaccess là được. Nếu bạn sử dụng Nginx thì có thể vô hiệu hóa bằng cách mở tệp cấu hình Nginx và chèn đoạn mã sau vào tệp:

2. Xóa xmlrpc.php bằng code functions.php

Ngoài cách vô hiệu hóa XML-RPC ở trên bạn cũng có thể sử dụng code sau để chèn vào file functions.php trong theme của bạn Hiện tại xmlrpc hầu như không còn hữu ích nữa nên mình khuyến khích mọi người hãy vô hiệu hóa xmlrpc để nâng cao bảo mật cho website WordPres Xin cảm ơn.