Nên tắt ngay XML-RPC để ngăn chặn tấn công DDoS trên WordPress

Mã giảm giá AZDIGI

Khi sử dụng WordPress, chắc hẳn nếu ai đã từng mở mã nguồn xem đều thấy tập tin xmlrpc.php nằm ở thư mục gốc mã nguồn. XML-RPC là một script được sử d...

WordPress 4.7 Vaughan có gì mới?
3 Hosting miễn phí thích hợp để test WordPress
Khắc phục lỗi Briefly Unavailable for Scheduled Maintenance WordPress

Khi sử dụng WordPress, chắc hẳn nếu ai đã từng mở mã nguồn xem đều thấy tập tin xmlrpc.php nằm ở thư mục gốc mã nguồn. XML-RPC là một script được sử dụng trong WordPress kể từ các phiên bản trước nhưng từ phiên bản 3.5 nó đã được bật lên mặc định. DDos

Nên tắt ngay XML-RPC để ngăn chặn tấn công DDoS trên WordPress

XML-RPC là một giao thức kết nối với website WordPress từ xa sử dụng XML để trao đổi dữ liệu qua lại. Hiện tại có thể hỗ trợ các API của các CMS như WordPress API, Blogger API, Movable API, Pingback API, MetaWeblog API,…

Thông thường trên WordPress, chúng ta sẽ sử dụng đến XML-RPC khi thiết lập đăng bài từ một ứng dụng khác bên ngoài như Windows Live Writer, hoặc các dịch vụ kết nối với website để đăng bài như IFTTT chẳng hạn.

Nhưng từ khi XML-RPC được sử dụng phổ biến trên WordPress, nó lại làm dấy lên về nguy cơ bị tấn công Brute Force Attack để dò mật khẩu hoặc nặng hơn là gửi một lượng lớn Request đến máy chủ để làm tê liệt máy chủ, hình thức tấn công này được gọi là HTTP Flood Attack, là một kiểu tấn công DDoS.

Thống kê tần suất tấn công qua XMLRPC trên WordPress của Sucuri

Thống kê tần suất tấn công qua XMLRPC trên WordPress của Sucuri

Do đó, hiện tại nếu bạn không có nhu cầu kết nối WordPress đến các dịch vụ hoặc ứng dụng bên ngoài thì hãy vô hiệu hóa XML-RPC để tránh được nguy cơ tấn công theo hình thức này.

Cách nhận biết website đang bị tấn công

Một cách đơn giản nhất để biết website mình có đang bị tấn công theo hình thức này hay không là mở tập tin access_log lên xem. Nếu bạn thấy có lượng lớn lượt truy cập như dưới đây thì website bạn đang bị tấn công thông qua XML-RPC.

xxx.xxx.xxx.xxx - - [15/Sep/2016:12:54:49 +0700] "POST /xmlrpc.php HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
xxx.xxx.xxx.xxx - - [15/Sep/2016:12:54:50 +0700] "POST /xmlrpc.php HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
xxx.xxx.xxx.xxx - - [15/Sep/2016:12:54:50 +0700] "POST /xmlrpc.php HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
xxx.xxx.xxx.xxx - - [15/Sep/2016:12:54:51 +0700] "POST /xmlrpc.php HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
xxx.xxx.xxx.xxx - - [15/Sep/2016:12:54:51 +0700] "POST /xmlrpc.php HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
xxx.xxx.xxx.xxx - - [15/Sep/2016:12:54:52 +0700] "POST /xmlrpc.php HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8

Cách hạn chế tấn công thông qua XMLRPC

Để hạn chế tấn công theo hình thức này thì có một cách đơn giản nhất là chặn tập tin này không cho thực thi. Lưu ý các bạn không nên xóa đi vì nó là một phần của mã nguồn WordPress, có thể gây lỗi hoặc khi cập nhật phiên bản nó sẽ có lại nên chặn là cách tối ưu nhất.

Có 2 cách để chặn, cách thứ nhất là CHMOD tập tin này thành 100 hoặc 400, cách thứ hai là không cho webserver thực thi tập tin này thông qua .htaccess (đối với Apache) hoặc NGINX.

Chặn xmlrpc.php trên .htaccess

Nếu bạn dùng Shared Host 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.

<files xmlrpc.php>
 order allow,deny
 deny from all
</files>

Chặn 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.

location = /xmlrpc.php {
 deny all;
 access_log off;
 log_not_found off;
}

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

service nginx restart

Chặn xmlrpc.php bằng plugin iThemes Security

Nếu bạn không tiện làm 2 cách trên thì dùng tính năng có sẵn của iThemes Security là việc dễ dàng nhất.

Plugin bảo mật này hầu như là một plugin phải cài khi sử dụng WordPress rồi, nếu bạn chưa cài plugin này thì hãy cài ngay theo hướng dẫn này. Trong plugin này đã có tích hợp sẵn chức năng chặn XML-RPC và chặn Pingback (nên tắt luôn nếu không cần), bạn có thể bật lên tại mục Security -> Settings -> WordPress Tweak và chọn Disable XML-RPC.

Chặn xmlrpc.php bằng plugin iThemes Security

Chặn xmlrpc.php bằng plugin iThemes Security

Nếu bạn dùng NGINX thì sau khi đánh dấu vào tùy chọn này sẽ cần khởi động lại NGINX nhé.

Mặc dù mã nguồn WordPress là một trong những mã nguồn phổ biến và có độ an toàn tốt nhưng một vài tính năng trong mã nguồn có thể sử dụng sai mục đích nên hãy thường xuyên theo dõi log lỗi (error log) hoặc log truy cập (access log) để sớm phát hiện những hành vi bất thường. Nếu bạn không chắc chắn website mình có an toàn hay không thì mình khuyến cáo sử dụng dịch vụ Sucuri Firewall để bảo mật website tốt hơn

Chúc các bạn thành công! DDos DDos DDos

Share from: thachpham.com

Chia sẻ bài viết với:

COMMENTS

WORDPRESS: 0
Sunwah PearlHồ Tràm CoastarCoastar Hồ TràmCoastar EstatesKhu dân cư Nguyễn BìnhKDC Nguyễn BìnhDự án Nguyễn BìnhNam Việt ÁNine SouthĐất Hòa XuânĐất nền Hòa XuânDat Hoa XuanDat nen Hoa Xuan