Xmlrpc là gì? Vì sao ta nên vô hiệu file xmlrpc trên WordPress

0
296 views

Có những tính năng cho phép bạn tương tác với website của bạn từ xa trong những ngày đầu của WordPress. Những tính năng tương tự này đã tạo nên một cộng đồng bằng cách cho phép các blogger khác truy cập blog của bạn. Công cụ chính được sử dụng cho mục đích này là ” XML-RPC “. Và trong những năm gần đây, file này bị lạm dụng và trở thành một lỗ hổng bảo mật vô cùng lớn. Dưới đây, chúng tôi sẽ giải thích Xmlrpc là gì cũng như lý do vì sao chúng ta nên vô hiệu hóa file này trên WordPress.

Xmlrpc là gì? Vì sao ta nên vô hiệu file xmlrpc trên WordPress 1

Xmlrpc là gì? Vì sao ta nên vô hiệu file xmlrpc trên WordPress

Xmlrpc là gì?

Để giúp các bạn hiểu rõ hơn về file Xmlrpc, chúng tôi xin giải thích khái niệm này một cách ngắn gọn như sau. Xmlrpc chính là tính năng giúp truyền tải dữ liệu của WordPress. File này gồm HTTP làm công cụ truyền và XML làm công cụ encode. Tính năng này được tạo giúp WordPress giao tiếp với các hệ thống bên ngoài vì WordPress không phải là hệ thống đóng hoàn toàn.

Chức năng chính mà xmlrpc.php kích hoạt là cho phép giao tiếp giữa điện thoại và site của bạn được thiết lập, thiết lập trackback và pingbacks từ các site khác, và một số tính năng liên kết với plugin Jetpac.

Xmlrpc trước đây, hiện tại và tương lai

Xmlrpc ra đời từ trước khi WordPress được gọi là WordPress, khi mà kết nối internet còn rất chậm, quá trình tạo và publish bài viết còn rất khó khăn cũng như tốn nhiều thời gian. Mọi người thường phải viết bài ở đâu đó rồi copy và paste vào web chứ không viết trực tiếp bài trên trình duyệt. Lúc đó, giải pháp khắc phục khó khăn là  tạo một blogging client offline, nơi bạn có thể viết nội dung, sau đó kết nối tới blog của bạn để xuất bản nó. Kết nối này được thực hiện thông qua Xmlrpc.

Khi phiên bản WordPress 2.6 ra đời vào năm 2008, đã có lựa chọn để bạn có thể kích hoạt hoặc vô hiệu Xmlrpc. Tuy nhiên, sau khi có ứng dụng  WordPress iPhone app, Xmlrpc được kích hoạt mặc định và không thể tắt hoàn toàn chức năng này được trong setting. Tình trạng này vẫn được giữ nguyên đến nay. Tuy nhiên, chức năng của files này đã giảm thiểu đáng kể theo thời gian, và kích thước của file đã giảm từ 83kb còn 3kb.

Trong tương lai, với WordPress API mới, chúng ta có thể thấy Xmlrpc sẽ sớm bị loại bỏ hoàn toàn. Mặc dù API mới vẫn đang trong giai đoạn thử nghiệm và chỉ có thể dùng khi kích hoạt plugin. Tuy nhiên, API mới sẽ được code trực tiếp vào trong WordPress core, để loại bỏ hoàn toàn file xmlrpc.php, vì lúc này nó hoàn toàn không cần thiết nữa. API mới không hoàn hảo, nhưng qua thời gian nó sẽ mạnh mẽ hơn, bảo mật tốt hơn và giải quyết tất cả vấn đề mà xmlrpc.php đang có.

>>> Xem thêmCách sửa lỗi 500 internal server error trong WordPress

Vì sao chúng ta nên vô hiệu hóa Xmlrpc trong WordPress?

Bảo mật chính là vấn đề lớn nhất của Xmlrpc. Chúng tới từ file xmlrpc.php bị dùng làm phương pháp tấn công brute force lên chính bản thân website chứa nó. Bạn cũng có tạo một password cực mạnh cùng với plugin WordPress bảo mật để tự bảo vệ nhưng vô hiệu hóa hẳn nó đi vẫn là cách tối ưu nhất.

Trước đây, xmlrpc có 2 điểm yếu thường xuyên bị lạm dụng. Trước hết là dùng brute force attack để tấn công hoàn toàn vào website. Các hacker có thể tận dụng file xmlrpc.php để truy cập bằng nhiều tổ hợp đã được biết đến của username và password của bạn. Họ chỉ cần có một command là đã có thể chạy tự động vài trăm password khác nhau để thử truy cập. Nó hoàn toàn bypass được các công cụ bảo mật vì các công cụ này không bảo vệ được nếu tấn công qua được xmlrpc.

Thứ hai là tấn công DDoS vào website khiến nó bị down. Các hacker có thể sử dụng tính năng pingback trong WordPress để gửi pingbacks tới hàng ngàn site cùng lúc. Xmlrpc.php mở đường cho hacker phát tán việc tấn công DDoS bằng việc hỗ trợ gần như không giới hạn số IP address.

Các phương pháp hạ chế tấn công thông qua Xmlrpc

Để check xem XML-RPC có đang chạy không, bạn có thể dùng tool XML-RPC Validator để chạy thử. Nếu site có thể vận hành được và nếu thấy báo lỗi có nghĩa là site của bạn chưa kích hoạt XML-RPC. Ngược lại, nếu bạn không thấy báo lỗi, bạn có thể vô hiệu hóa xmlrpc.php bằng một trong 3 cách dưới đây.

Vô hiệu xmlrpc.php trên NGINX

Nếu bạn đang sử dụng NGINX làm backend (sử dụng cùng với PHP-FPM) thì bỏ đoạn sau vào tập tin cấu hình domain trên NGINX.

Sau đó khởi động lại NGINX.

Vô hiệu xmlrpc.php trên .htaccess

Nếu bạn dùng Shared Hosting hoặc các server cài đặt Apache thì chèn đoạn sau vào tập tin .htaccess ở thư mục gốc của website.

Vô hiệu xmlrpc.php bằng Plugins

Vô hiệu XML-RPC trên WordPress rất đơn giản.

Bạn chỉ cần chuyển tới mục Plugins › Add New trong WordPress dashboard. Tìm plugin Disable XML-RPC và cài đặt plugin như bên dưới:

Xmlrpc là gì? Vì sao ta nên vô hiệu file xmlrpc trên WordPress 2

Xmlrpc là gì? Vì sao ta nên vô hiệu file xmlrpc trên WordPress

Kích hoạt plugin này là được. Plugin sẽ tự động chạy code cần thiết để tắt XML-RPC.

Tuy nhiên, có thể có nhiều plugin khác đang dùng một yếu tố của XML-RPC, vì vậy, vô hiệu nó hoàn toàn có thể gây lỗi xung đột plugin và khiến site không hoạt động.

Nếu bạn chỉ muốn tắt từng phần của XML-RPC, nhưng vẫn cho phép plugin và chức năng nào chạy, hãy cài những plugin khác như bên dưới:

  • Stop XML-RPC Attack. Plugin này sẽ chặn mọi tấn công bằng XML-RPC, nhưng nó vẫn cho phép các plugin như Jetpack, và nhiều công cụ tự động khác truy cập vào file xmlrpc.php.
  • Control XML-RPC Publishing. Cho phép kiểm soát và sử dụng công cụ6 xuất bản từ xa bằng xmlrpc.php

Kết luận

Trên đây, chúng tôi đã chia sẻ với các bạn Xmlrpc là gì, lí do vì sao nên vô hiệu nó cũng như các phương pháp vô hiệu hóa đơn giản, hiệu quả. Nếu bạn có bất kỳ thắc mắc gì thì hãy comment phía dưới để mình cùng trao đổi nhé. Chúc các bạn thành công!

 

Comment của bạn

avatar
  Subscribe  
Notify of