Vô hiệu hóa XML-RPC để bảo mật WordPress tốt hơn và tối ưu tốc độ load.
WordPress sử dụng XML-RPC để cho phép người dùng thực hiện nhiều hoạt động trên blog/ website của họ từ xa. Nó cho phép bạn truy cập vào trang web của mình thông qua các ứng dụng di động dành riêng cho WordPress. Với XML-RPC, bạn cũng có thể đăng một bài viết trên blog (thông qua email hoặc ứng dụng) một cách dễ dàng. Chúng cũng được sử dụng để tạo trackback và pingback, cho phép bạn liên kết trang web của mình với các trang web thú vị khác. Tuy nhiên, nhiều cuộc tấn công WordPress hiện nay đang khai thác các tính năng của XML-RPC để chiếm quyền truy cập vào các trang web. Vì vậy, việc vô hiệu hóa các tính năng của XML-RPC khi không dùng đến là một ý tưởng không hề tồi để tăng cường khả năng bảo mật và tăng tốc độ load cho WordPress.
Tham khảo thêm:
Brute-force Attacks trong WordPress liên quan đến nỗ lực đăng nhập lặp đi lặp lại theo phương thức dò tên đăng nhập và mật khẩu ngẫu nhiên. Tuy nhiên, đăng nhập bằng cách sử dụng trang đăng nhập mặc định của WordPress (wp-login.php) có thể được bảo mật bằng nhiều cách. Không nản lòng bởi điều này, những kẻ tấn công đã tìm thấy một cách khác để phát động Brute-force Attack và rất khó để phát hiện, đó là sử dụng XML-RPC. Tất cả các yêu cầu XML-RPC đều được chứng thực để bạn có thể chỉnh sửa các trang web một cách an toàn. Những kẻ tấn công khai thác điều này để cố gắng tạo vô số các tổ hợp tên người dùng và mật khẩu cho đến khi chúng xâm nhập được vào trang web của bạn. Các phương pháp như giới hạn số lần đăng nhập thất bại và CAPTCHA chỉ có hiệu quả trong việc ngăn chặn những nỗ lực truy cập từ trang đăng nhập WordPress, chúng không thể bảo vệ bạn chống lại các cuộc tấn công thông qua XML-RPC.
DDoS (Distributed Denial of Service) cũng là một phương thức tấn công có thể được thực hiện bằng cách khai thác các tính năng XML-RPC. Trên thực tế, nếu bạn đang kích hoạt tính năng pingbacks/ trackbacks, trang web của bạn có thể bị tấn công bởi một trang web khác ngay bây giờ và bạn thậm chí sẽ không hề hay biết về điều đó. Một kẻ tấn công duy nhất có thể sử dụng hàng ngàn trang web WordPress để khởi động một cuộc tấn công DDoS vào trang web của bạn với một yêu cầu (request) pingback đơn giản đến tập tin XML-RPC. Những yêu cầu gần như bất tận sẽ khiến các máy chủ web bị quá tải và làm trang web của bạn bị downtime hoặc thậm chí có thể dẫn đến crash máy chủ. Trong hầu hết các trường hợp, máy chủ web sẽ ngừng cung cấp dịch vụ cho bạn trước khi điều đó xảy ra.
Một trong những cách đơn giản nhất để tự bảo vệ mình là vô hiệu hóa tính năng XML-RPC nếu bạn không dùng tới. Tuy nhiên, cũng không ít ứng dụng và plugin sử dụng XML-RPC cho hoạt động của mình, ví dụ như: WordPress Mobile App, Jetpack, LibSyn, BuddyPress… Do đó, bạn cần kiểm tra kỹ lưỡng trước khi quyết định vô hiệu hóa XML-RPC để tránh làm ảnh hưởng đến hoạt động của blog/ website.
Có rất nhiều plugin (BulletProof Security, Disable XML-RPC, Remove XML-RPC Pingback Ping…) có thể giúp bạn làm điều này một cách dễ dàng. Bạn cũng có thể chỉ cần tắt một vài tính năng của XML-RPC. Ví dụ, plugin Disable XML-RPC Pingback có thể được sử dụng để chỉ tắt pingbacks trên trang web của bạn thay vì toàn bộ các tính năng XML-RPC. Ngoài ra, bạn cũng nên thiết lập thêm tường lửa để bảo vệ blog/ website chống lại Brute-force Attack và DDoS một cách tốt nhất .
Trong trường hợp bạn đang sử dụng plugin Jetpack, chỉ cần kích hoạt module Protect của plugin này lên là được. Jetpack vẫn hoạt động bình thường, trong khi blog/ website của bạn được bảo vệ an toàn trước nguy cơ tấn công qua XML-RPC.
Chèn đoạn code sau đây vào file functions.php
của theme hoặc child theme mà bạn đang sử dụng rồi lưu lại.
Sử dụng công cụ WordPress XML-RPC Validation Service để kiểm tra xem bạn đã vô hiệu hóa XML-RPC thành công hay chưa?
Truy cập Settings => Discussion, bỏ tick trong các mục Attempt to notify any blogs linked to from the article và Allow link notifications from other blogs (pingbacks and trackbacks) on new articles để vô hiệu hóa tính năng pingbacks và trackbacks.
Thêm tiếp đoạn code sau đây vào file .htaccess
trong thư mục gốc của WordPress để ngăn chặn việc truy cập trái phép file xmlrpc.php
:
Bạn có đang sử dụng XML-RPC trên blog/ website của mình hay không? Bạn đã làm gì để chống lại các cuộc tấn công bảo mật thông qua phương thức này? Đừng quên chia sẻ ý kiến của bạn với chúng tôi trong khung bình luận bên dưới.
Nếu bạn thích bài viết này, hãy subscribe blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất qua email nhé. Cảm ơn rất nhiều. :)