Thứ Bảy, 12 tháng 11, 2016

Hãy tắt XML-RPC khi không nên sử dụng

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à 1 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.

XML-RPC là 1 giao thức kết nối với website WordPress từ xa sử dụng XML để bàn bạc dữ liệu qua lại. ngày nay với 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ừ 1 áp 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 rộng rãi trên WordPress, nó lại khiến 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 1 lượng to request đến máy chủ để khiến tê liệt máy chủ, hình thức tấn công này được gọi là HTTP Flood Attack, là 1 kiểu tấn công DDoS.

Việc tấn công website WordPress dựa vào XML-RPC không phải là mới, nhưng trong 1 tuần trở lại đây mình thấy hơi rộng rãi người bị tấn công theo hình thức này, theo ghi nhận của mình trên các người dùng sử dụng dịch vụ hosting tại AZDIGI.

Do đó, ngày nay nếu bạn không với nhu cầu kết nối WordPress đến các dịch vụ hoặc áp 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.

Một cách đơn thuần nhất để biết website mình với đ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 với lượng to lượt tróc nã cập như dưới đây thì website bạn đang bị tấn công chuẩn y 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

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

Nếu bạn sử 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.

order allow,deny deny from all

Nếu bạn đang sử dụng NGINX khiến 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

Nếu bạn không một thể khiến 2 cách trên thì sử dụng tính năng với 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à 1 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 đã với 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 với thể bật lên tại mục Security -> Settings -> WordPress Tweak và mua Disable XML-RPC.

ithemes-security-block-xmlrpc Chặn XML-RPC trên plugin iThemes Security.

Nếu bạn sử dụng NGINX thì sau khi đánh dấu vào tùy mua này sẽ phải khởi động lại NGINX nhé.

Mặc dù mã nguồn WordPress là 1 trong các mã nguồn rộng rãi và với độ an toàn phải chăng nhưng 1 vài tính năng trong mã nguồn với thể sử dụng sai mục đích phải hãy thường xuyên theo dõi log lỗi (error log) hoặc log tróc nã cập (access log) để sớm phát hiện các hành vi thất thường. nếu bạn không kiên cố website mình với 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 phải chăng hơn.

Thạch Phạm Thạch Phạm

Đam mê với web và lập trình, thích viết và san sẻ, nghiện cà phê và xăm mình, hứng thú với nhạc dân ca và nhạc không lời.

Xem thêm bài viết Subscribe.
This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Không có nhận xét nào:

Đăng nhận xét