WordPress XML-RPC là một chức năng khá lâu đời được đưa vào WordPress CMS. Nó là một phương tiện chuẩn hóa thông tin liên lạc giữa một trang web WordPress và các công nghệ web hoặc thiết bị di động khác. Nếu bạn là người dùng WordPress, hướng dẫn này sẽ cho bạn biết XML-RPC là gì và tại sao bạn nên tắt nó để bảo vệ bản thân.
Cách hoạt động của XML-RPC
Trang web WordPress của bạn được thiết kế để hoạt động trên Web. Nó sử dụng các công nghệ web cốt lõi như HTML, CSS và PHP. Tất cả các tệp này được xếp gọn gàng trong các thư mục bên trong máy chủ lưu trữ của bạn.
Khi khách truy cập nhấp vào tên miền của bạn hoặc bất kỳ dẫn xuất nào của nó, họ sẽ truy cập trang web của bạn. Thư mục cụ thể chứa thông tin họ muốn tải xuống trình duyệt của họ. Bây giờ, trình duyệt diễn giải thông tin này và hiển thị thông tin đó cho họ.
Nhưng nếu bạn không muốn truy cập trang web của mình bằng trình duyệt thì sao? Điều gì sẽ xảy ra nếu bạn muốn truy cập nó từ một phần mềm quản trị tùy chỉnh hoặc thậm chí là một ứng dụng di động?
WordPress XML-RPC đề cập đến vấn đề này.
XML-RPC là một API bao bọc thông tin cần thiết bên trong một tệp XML đơn giản và gửi nó đến ứng dụng di động hoặc phần mềm từ xa. Sau đó, ứng dụng di động sẽ thổi phồng thông tin này với thiết kế được định cấu hình sẵn của riêng nó. Trong trường hợp này, ứng dụng dành cho thiết bị di động không cần tải xuống các tệp trang web quan trọng nữa và bạn vẫn có thể truy cập dữ liệu của mình trong một ứng dụng tiện lợi.
Có vẻ như tốt, vấn đề duy nhất là bạn sẽ phải gửi tên người dùng và mật khẩu của mình mỗi khi bạn muốn xác thực qua XML-RPC. Điều này khiến nó rất dễ bị tin tặc tấn công.
Cách XML-RPC khiến bạn dễ bị tổn thương
XML-RPC khiến trang web của bạn dễ bị tấn công theo ít nhất hai cách: tấn công brute force và đánh cắp thông tin đăng nhập .
1. Các cuộc tấn công bạo lực
Những kẻ tấn công cố gắng lây nhiễm trang web của bạn bằng cách sử dụng một cuộc tấn công vũ phu.
Một cuộc tấn công vũ phu chỉ đơn thuần là một trò chơi phỏng đoán. Kẻ tấn công cố gắng đoán mật khẩu của bạn nhiều lần cho đến khi chúng thành công.
Nó xảy ra vài nghìn lần mỗi giây để họ có thể thử hàng triệu kết hợp trong một khoảng thời gian ngắn.
Trên trang WordPress, bạn có thể dễ dàng hạn chế các cuộc tấn công brute force bằng cách giới hạn số lần đăng nhập vào trang web của mình. Tuy nhiên, vấn đề với XML-RPC là nó không giới hạn số lần đăng nhập vào trang web của bạn.
Kẻ tấn công có thể tiếp tục đoán bằng cách đánh lừa máy chủ của bạn rằng họ là quản trị viên đang tìm cách lấy một số thông tin. Và bởi vì họ không có bằng chứng xác thực chính xác, họ chưa thể truy cập vào trang web của bạn, vì vậy họ tiếp tục thử nhiều lần mà không có kết quả.
Vì không có giới hạn về số lượng bản dùng thử nên việc họ có quyền truy cập chỉ là vấn đề thời gian. Bằng cách này, tin tặc cũng có thể dễ dàng đánh sập một trang web bằng cách thực hiện một cuộc tấn công DDOS XML-RPC (bằng cách gửi các làn sóng yêu cầu “pingback” tới XML-RPC để làm quá tải và làm hỏng máy chủ).
2. Chặn / Đánh cắp thông tin đăng nhập
Một điểm yếu khác của XML-RPC là hệ thống xác thực không hiệu quả. Mỗi khi bạn gửi yêu cầu truy cập trang web của mình, bạn cũng phải gửi thông tin đăng nhập của mình. Điều này có nghĩa là tên người dùng và mật khẩu của bạn bị lộ.
Tin tặc có thể đang rình rập xung quanh để đánh chặn gói thông tin này. Sau khi thành công, họ không cần phải trải qua sự khắc nghiệt của các cuộc tấn công vũ phu nữa. Họ chỉ cần truy cập vào trang web của bạn bằng thông tin đăng nhập hợp lệ của bạn.
Tôi có nên tắt XML-RPC trong WordPress không?
Kể từ phiên bản WordPress 3.5, mã XML-RPC đã có nhiều cải tiến đến mức nhóm WordPress cho rằng nó đủ an toàn để được bật theo mặc định. Nếu bạn đang dựa vào các ứng dụng dành cho thiết bị di động hoặc phần mềm từ xa để quản lý trang web WordPress của mình, bạn có thể không nên tắt XML-RPC.
Nếu bạn rất quan tâm đến bảo mật của máy chủ của mình, tốt hơn là bạn nên vô hiệu hóa nó vì nó che đậy một cách khả dĩ mà tin tặc có thể sử dụng để tấn công trang web của bạn.
Cách tắt XML-RPC trong WordPress
XML-RPC được bật theo mặc định trong WordPress, nhưng có một số cách để tắt nó.
Lưu ý :nếu bạn đang sử dụng plugin JetPack phổ biến, bạn không thể tắt XML-RPC, vì Jetpack bắt buộc phải giao tiếp với máy chủ. Ngoài ra, trước khi tắt XML-RPC, hãy đảm bảo rằng không có plugin hoặc chủ đề nào của bạn đang sử dụng nó.
Tắt XML-RPC
1. Định vị thư mục chủ đề của bạn (thường là trong “wp-content / themes /”) và mở tệp “functions.php”.
2. Dán các lệnh sau vào cuối tệp:
// Disable use XML-RPC add_filter( 'xmlrpc_enabled', '__return_false' );
Lưu tệp “functions.php”. Thao tác này sẽ tắt chức năng XML-RPC trong WordPress. Xin lưu ý rằng phương pháp này chỉ vô hiệu hóa XML-RPC, nhưng nó không ngăn tin tặc tấn công trang web của bạn vì đã có tệp xml-rpc.php.
Chặn quyền truy cập vào tệp XML-RPC
Cách tốt nhất để ngăn tin tặc tấn công là chặn quyền truy cập vào tệp xml-rpc.
Máy chủ Apache
Nếu trang web WordPress của bạn đang chạy trên máy chủ Apache (nếu bạn thấy tệp “.htaccess” trong thư mục cài đặt WordPress, bạn có thể chắc chắn rằng trang web của mình được lưu trữ trên máy chủ Apache), hãy làm theo các bước sau.
1. Đăng nhập vào Bảng điều khiển của bạn. Tìm kiếm Trình quản lý tệp.
2. Mở trình quản lý tệp. Điều hướng đến thư mục “public_html” rồi đến tài liệu “.htaccess”.
3. Nhấp chuột phải để chỉnh sửa tệp.
4. Ở cuối tệp, dán đoạn mã sau:
# Disallow all WordPress xmlrpc.php requests to this domain <Files xmlrpc.php> order deny,allow deny from all </Files>
5. Lưu và thoát.
Máy chủ Nginx
Đối với máy chủ Nginx, hãy dán mã sau vào tệp cấu hình máy chủ của bạn:
# nginx block xmlrpc.php requests location /xmlrpc.php { deny all; }
Giờ đây, trang web của bạn đã được bảo mật khỏi các cuộc tấn công.
Kết luận
Các cuộc tấn công bạo lực và đánh cắp dữ liệu sẽ tiếp tục gây ra nhiều vấn đề cho chủ sở hữu trang web. Nhiệm vụ của bạn là đảm bảo trang web của bạn an toàn. Vô hiệu hóa XML-RPC là một cách hiệu quả để thực hiện việc này. Thực hiện theo hướng dẫn ở trên và bảo vệ trang web cũng như khách truy cập của bạn khỏi tin tặc ngay bây giờ.