Bỏ qua menu, tới nội dung
Thành viên The MONA Group
Thành viên The MONA Group
Sản phẩm và viết theo yêu cầu
1900 636 648Tư vấn miễn phí, 8h–22h
MONA OS 2.0Hệ thống quản trị MONA tự phát triển, nối 7 phần mềm nội bộ về một dữ liệu, có Gấu Quản Trị trả lời câu hỏi điều hành.7 phần mềm1 trục dữ liệu8 AI AgentXem MONA OS hoạt động
Dự án giáo dụcThe IELTS WorkshopPhần mềm quản lý chuỗi 11 cơ sở luyện thi, kèm app cho học viên20238 tháng12 ngườiXem hồ sơ dự án Xem thêm dự án Khoa Y
Dự án bán lẻHình minh hoạ gấu MONA bán trang sức tại quầy kính, cạnh màn hình bán hàng và tồn khoNgọc Thành JewelryPhần mềm quản lý chuỗi cửa hàng trang sức, tích hợp xuất hoá đơn20246 tháng7 ngườiXem hồ sơ dự án
Dự án sản xuấtHình minh hoạ gấu MONA hướng dẫn công nhân học bài trên phần mềm đào tạo trong phòng họp nhà máyPolytex Far Eastern Việt NamPhần mềm đào tạo công nhân viên chạy trong mạng nội bộ nhà máy20234 tháng8 ngườiXem hồ sơ dự án
Dự án nhân sựHình minh hoạ gấu MONA đứng lớp đào tạo cho bác sĩ, điều dưỡng bằng phần mềm học trực tuyếnBệnh viện Hoàn Mỹ Sài GònViệc đào tạo nhân sự chuyển từ Excel sang phần mềm MONA viết riêng20247 tuần13 moduleXem hồ sơ dự án
Sản phẩm có sẵnHình minh hoạ gấu MONA phục vụ bàn, khách quét mã QR trên bàn để gọi mónnhahang.aiGọi món tại bàn bằng mã QR, kết nối bếp, quản lý bàn, định lượng nguyên liệuNhà hàngQuán ănChuỗi ăn uốngXem nhahang.ai
Sản phẩm có sẵnMONA HouseTự lập hoá đơn tiền phòng, gửi mã QR qua Zalo, báo có khi khách chuyển khoảnNhà trọCăn hộ cho thuêXem MONA House
Sản phẩm có sẵnMONA NHTQĐặt hàng Taobao, 1688, Tmall, ví khách hàng và theo dõi vận đơn cho công ty nhập hàngTaobao1688TmallXem MONA NHTQ
Tư vấn miễn phí, 8h–22h mỗi ngày

NC-05 · Bảo mật · Bản 1.0 · Bài đo

Website WordPress của doanh nghiệp bị dò những gì mỗi ngày

MONA đọc nhật ký truy cập của mona.software trong 10,7 ngày: 47.956 trong 374.164 request hỏi những tệp mà người xem bình thường không bao giờ gọi. MONA xếp chúng vào chín nhóm, xem máy chủ trả lời gì, và so với lúc lớp chặn mới bật ngày 25/09.

Thực hiện: Nhóm kỹ thuật MONA Software Công ty TNHH Phần mềm MONA, MST 0316694442

Đo 18/09 đến 28/09/2026 · Cập nhật

Mỗi ngàyMười việc nên kiểmHỏi MONATrích dẫn

Kết luận cho chủ doanh nghiệp

  1. 1

    Trong 10,7 ngày, 47.956 trong 374.164 request tới mona.software, tức 12,8%, hỏi những tệp mà người xem bình thường không gọi: cửa đăng nhập, tệp cấu hình, tệp sao lưu, công cụ cơ sở dữ liệu và tệp PHP lạ. Số này đếm theo đường dẫn được hỏi, chưa biết ai hỏi.

  2. 2

    Một nhóm chiếm phần lớn. XML-RPC nhận 34.051 request, 71,0% số dò quét, và riêng ngày 24/09 có 24.445 request, bằng 35,7% lượng truy cập cả ngày.

  3. 3

    Cách trả lời quan trọng hơn cách đếm. Trước mốc 25/09 lúc 15:21, POST tới xmlrpc.php nhận mã 200 với một câu lỗi ngắn cố định; từ mốc, lớp bảo vệ trả 403 dài 75 byte ngay ở cửa. Request vẫn tiếp tục tới, nên thứ đổi là cách máy chủ trả lời.

Điểm chính: Trong 10,7 ngày, 12,8% request tới mona.software là dò quét, và 71,0% trong số đó nhắm vào xmlrpc.php.

1Mỗi ngày có bao nhiêu request dò quét

Bảng dưới là 11 ngày của bản trích log, tính theo giờ Việt Nam. Ngày 18/09 chỉ có dữ liệu từ 01:10 và ngày 28/09 chỉ đến 17:58, nên hai ngày này ngắn hơn. Cột «Dò quét» là số request hỏi một trong chín nhóm tệp ở phần sau.

Request dò quét theo ngày
NgàyTổng requestDò quétTỉ lệ
18/09 (từ 01:10)20.7025642,7%
19/0921.0409284,4%
20/0924.6062.1438,7%
21/0926.6665.97922,4%
22/0931.5264.10913,0%
23/0932.0122.2997,2%
24/0968.51725.43437,1%
25/0940.7281.1362,8%
26/0931.1621.6485,3%
27/0940.4682.1265,3%
28/09 (đến 17:58)36.7371.5904,3%

Ngày bình thường có khoảng 2.143 request dò quét (trung vị của 9 ngày đủ). Ngày 24/09 là ngày đỉnh: riêng xmlrpc.php nhận 24.445 request, bằng 35,7% lượng truy cập cả ngày. Những ngày liền kề thấp hơn nhiều, nên một website nhỏ có thể nhận một đợt dò dồn vào vài giờ.

2Chín nhóm dò quét và những đường dẫn hay gặp

MONA xếp mỗi request vào một nhóm theo đường dẫn được hỏi, kiểm lần lượt theo thứ tự trong bảng. Một request chỉ nằm ở một nhóm. Đường dẫn cho biết người hỏi muốn lấy gì, còn log không cho biết người đó là ai.

Chín nhóm dò quét
NhómHỏi gìRequestTỉ lệ trong số dò quétĐường dẫn hay gặp
XML-RPCTệp xmlrpc.php của WordPress, nơi thử đăng nhập hàng loạt34.05171,0%//xmlrpc.php, /xmlrpc.php, /blog/xmlrpc.php
Cửa đăng nhậpCửa đăng nhập và quản trị: wp-login.php, /wp-admin/5.04610,5%/wp-login.php, /wp-admin/index.php, /wp-admin/
Tệp cấu hình bí mậtTệp cấu hình và khoá bí mật: .env, .git, .aws, wp-config2.1684,5%/.env, /.git/config, /.env.local
Tệp sao lưuTệp sao lưu và dữ liệu: .sql, .zip, .bak, thư mục backup3880,8%/backup/, /old/, /backup.zip
Công cụ cơ sở dữ liệuCông cụ quản trị cơ sở dữ liệu: phpMyAdmin, Adminer230,0%/adminer.php, /dbadmin/, /adminer-4.8.1.php
Dò người dùngDò tên người dùng qua REST: /wp-json/wp/v2/users1090,2%/wp-json/wp/v2/users/me, /wp-json/wp/v2/users, //wp-json/wp/v2/users/
Dò phiên bản pluginDò phiên bản plugin và giao diện: readme.txt, license1740,4%/wp-content/plugins/pods/readme.txt, /wp-content/plugins/forminator/readme.txt, /wp-content/plugins/no-existing-plugin-0265985a/readme.txt
Tệp lõi gọi trực tiếpTệp lõi WordPress gọi trực tiếp: wp-links-opml.php, wp-signup.php1830,4%/wp-content/index.php, /wp-mail.php, /wp-links-opml.php
Tệp PHP lạTệp PHP lạ và lỗ hổng thường gặp: alfa.php, file.php, vendor/phpunit5.81412,1%/file.php, /goods.php, /txets.php

XML-RPC chiếm 71,0% số request dò quét. Trong 33.991 request tới xmlrpc.php, gần như toàn bộ là POST, kiểu gọi dùng để thử nhiều mật khẩu trong một lần. Nhóm tệp PHP lạ đứng thứ hai với 5.814 request, tên tệp lặp lại giữa các ngày vì người quét chạy cùng một danh sách. Nhóm tệp lõi WordPress gọi trực tiếp chỉ có tệp thật của WordPress, nhưng người xem bình thường không bao giờ gõ thẳng tên các tệp này.

3Máy chủ trả lời gì trước và sau khi đổi lớp chặn

Mốc so sánh là 25/09 lúc 15:21, thời điểm POST tới xmlrpc.php lần đầu nhận mã 403 trong log. Trước mốc có 182,2 giờ dữ liệu, sau mốc có 74,6 giờ. «Từ chối hoặc không có» gồm các mã 401, 403, 404 và 405.

Máy chủ trả lời gì trước và sau mốc đổi lớp chặn
NhómTrước mốcTừ mốc
XML-RPC31.682 request, 31.645 nhận mã 200, 37 bị từ chối hoặc không có, 0 chuyển hướng2.369 request, 0 nhận mã 200, 2.368 bị từ chối hoặc không có, 1 chuyển hướng
Cửa đăng nhập4.866 request, 2 nhận mã 200, 3.209 bị từ chối hoặc không có, 1.655 chuyển hướng180 request, 14 nhận mã 200, 163 bị từ chối hoặc không có, 3 chuyển hướng
Tệp cấu hình bí mật1.539 request, 3 nhận mã 200, 1.297 bị từ chối hoặc không có, 226 chuyển hướng629 request, 0 nhận mã 200, 618 bị từ chối hoặc không có, 9 chuyển hướng
Tệp sao lưu347 request, 3 nhận mã 200, 268 bị từ chối hoặc không có, 76 chuyển hướng41 request, 0 nhận mã 200, 41 bị từ chối hoặc không có, 0 chuyển hướng
Công cụ cơ sở dữ liệu21 request, 0 nhận mã 200, 20 bị từ chối hoặc không có, 1 chuyển hướng2 request, 0 nhận mã 200, 2 bị từ chối hoặc không có, 0 chuyển hướng
Dò người dùng106 request, 0 nhận mã 200, 106 bị từ chối hoặc không có, 0 chuyển hướng3 request, 0 nhận mã 200, 3 bị từ chối hoặc không có, 0 chuyển hướng
Dò phiên bản plugin166 request, 12 nhận mã 200, 152 bị từ chối hoặc không có, 2 chuyển hướng8 request, 0 nhận mã 200, 8 bị từ chối hoặc không có, 0 chuyển hướng
Tệp lõi gọi trực tiếp124 request, 64 nhận mã 200, 37 bị từ chối hoặc không có, 17 chuyển hướng59 request, 39 nhận mã 200, 13 bị từ chối hoặc không có, 7 chuyển hướng
Tệp PHP lạ3.330 request, 8 nhận mã 200, 3.314 bị từ chối hoặc không có, 8 chuyển hướng2.484 request, 0 nhận mã 200, 2.281 bị từ chối hoặc không có, 201 chuyển hướng

XML-RPC là chỗ thay đổi rõ nhất. Trước mốc, 31.635 request POST nhận mã 200, và 29.704 trong số đó có câu trả lời dài đúng 258 byte, tức một thông báo ngắn cố định chứ không là dữ liệu. Từ mốc, 2.356 request POST nhận mã 403, câu trả lời dài 75 byte, và lớp bảo vệ trả lời trước khi WordPress phải chạy.

Cửa đăng nhập đổi theo cách khác. Trước mốc, wp-login.php trả 403 cho 3.199 request. Từ khi website dùng đường dẫn đăng nhập riêng, wp-login.php và /wp-admin/ trả 404 như một tệp không tồn tại, nên người quét không biết website có cửa đăng nhập ở đâu.

Nhóm tệp sao lưu và dữ liệu có 347 request trước mốc và 41 request từ mốc; từ mốc, mọi request thuộc nhóm này nhận 404. Bài học là để tệp sao lưu ngoài thư mục web và để máy chủ web trả 404 cho các đuôi này.

4Các lớp chặn của một website WordPress và chỗ mỗi lớp đứng

Dấu vết trong log khớp với các lớp MONA bật khi cứng hoá website ngày 25/09. Bảng dưới ghi mỗi lớp đứng ở đâu, vì thứ tự lớp quyết định request bị chặn sớm hay muộn.

Các lớp chặn của mona.software và chỗ mỗi lớp đứng
LớpĐứng ở đâuLàm gìDấu vết trong log
CloudflareTrước máy chủMọi request đi qua; chặn một phần ở rìa mạng trước khi tới máy chủ374.164 request trong bản log đều đi qua Cloudflare
Luật nginxMáy chủ web, trước PHPTrả 404 cho tệp .sql, .old, .swp, .bak và .envNhóm tệp cấu hình bí mật và tệp sao lưu nhận 404 sau mốc
MONA Shield 1.6.2Plugin chạy trong WordPressChặn xmlrpc.php bằng 403, chặn danh sách người dùng REST bằng 401, đưa ?author= về trang chủPOST tới xmlrpc.php nhận 403 dài 75 byte
Đường dẫn đăng nhập riêngMã của websitewp-login.php và /wp-admin/ trả 404 khi chưa đăng nhập; sai mật khẩu 5 lần trong 15 phút thì khoá IP đó 15 phútwp-login.php chuyển từ 403 sang 404
IP thật từ CloudflareMã của websiteĐặt địa chỉ người dùng thật vào mọi lệnh khoá, để khoá đúng người sai mật khẩu và không khoá nhầm cả nhóm dùng chung một nút CloudflareKhông đo được trong log này

Thứ tự trong bảng là thứ tự request đi qua. Lớp càng ở ngoài càng rẻ cho máy chủ: một request bị từ chối ở nginx chưa cần mở PHP và chưa cần kết nối cơ sở dữ liệu.

5Mười việc nên kiểm trên website WordPress của doanh nghiệp

Mười việc dưới đây rút từ chín nhóm trong bài. Cột giữa là số đo được ở mona.software. Cột cuối là cách kiểm, và là cách đọc của MONA, chưa có điều luật nào bắt buộc.

Mười việc nên kiểm trên website WordPress của doanh nghiệp
ViệcSố đo ở mona.softwareCách kiểm
xmlrpc.phpNhận 34.051 request, nhiều nhất trong chín nhómGửi một POST thử tới /xmlrpc.php; mã 200 nghĩa là WordPress còn xử lý. Nếu không dùng ứng dụng nào gọi XML-RPC thì tắt hoặc chặn ở lớp ngoài.
Cửa đăng nhậpNhận 5.046 request, trong đó 961 là POSTĐổi đường dẫn đăng nhập, giới hạn số lần sai theo IP thật phía sau Cloudflare, trả 404 cho wp-login.php khi chưa đăng nhập.
/.env và /.gitNhận 2.168 requestGõ thử /.env và /.git/config trên website của mình; kết quả đúng là 404 hoặc 403.
Tệp sao lưuNhận 388 requestKhông để tệp .sql, .zip, .bak trong thư mục web. Lưu ngoài thư mục web, và để máy chủ web trả 404 cho các đuôi này.
phpMyAdmin, AdminerNhận 23 requestKhông cài công cụ quản trị cơ sở dữ liệu trên máy chủ web công khai; cần dùng thì giới hạn theo IP hoặc qua VPN.
Danh sách người dùng RESTNhận 109 requestChặn /wp-json/wp/v2/users với khách chưa đăng nhập, để tên đăng nhập quản trị không bị lấy.
readme.txt của pluginNhận 174 request, 12 nhận mã 200Mã 200 nghĩa là website cho đọc phiên bản plugin. Chặn truy cập trực tiếp readme.txt và license.txt.
Tệp lõi WordPress gọi trực tiếpNhận 183 requestChặn các tệp như wp-links-opml.php, wp-trackback.php nếu website không dùng.
Tệp PHP lạNhận 5.814 request, tên tệp lặp lạiĐịnh kỳ so thư mục wp-content và wp-includes với danh sách tệp lõi của WordPress; tệp lạ cần xoá và tìm cách nó vào được.
Đọc log theo nhóm12,8% request là dò quétMỗi tuần đếm request theo chín nhóm này. Một nhóm tăng đột ngột là dấu hiệu cần xem, như ngày đỉnh trong bảng ngày.

6Giới hạn của phép đo

  • Một website, 10,7 ngày. Số của website khác, hoặc của một tuần khác, sẽ khác; ngày đỉnh 24/09 cho thấy một đợt dò có thể dồn vào vài giờ.
  • Nhóm được xác định theo đường dẫn. Một request có thể đến từ người, công cụ giám sát hoặc bot, và log không phân biệt được. Chuỗi trình duyệt không dùng để phân loại vì người quét thường giả chuỗi này.
  • Cloudflare có thể chặn một phần request trước khi tới máy chủ, nên log máy chủ đếm thấp hơn số thật. Đường dẫn dạng ?author=1 nằm ở phần tham số nên chưa đếm được.
  • Trước và sau mốc đổi lớp chặn chỉ là so sánh theo thời gian, chưa là thử nghiệm có đối chứng. Phần «sau» có 74,6 giờ, và ngày đỉnh 24/09 nằm ở phần «trước», nên lượng request giữa hai phần không so thẳng được. Bài chỉ so cách máy chủ trả lời.
  • Mã 200 trả lời một request chưa nói gì về việc đòn dò thành công. Thông báo ngắn cố định của XML-RPC trước mốc là một câu từ chối. Bài không xác định tệp nào bị lộ nội dung, ngoài các mã trả lời ghi trong bảng.
  • Danh sách tệp lõi lấy theo WordPress 7.1.2. Một tệp .php lạ trùng tên với tệp lõi của bản khác sẽ bị xếp nhầm vào nhóm tệp lõi.

7Phương pháp, dữ liệu và trích dẫn

Dữ liệu là nhật ký truy cập nginx của mona.software, đã bỏ địa chỉ IP và chuỗi trình duyệt, từ 18/09/2026 01:10 đến 28/09/2026 17:58 giờ Việt Nam (256,8 giờ). Chỉ tính 374.164 request đi qua Cloudflare, bỏ các request nội bộ của WordPress. Mỗi request được xếp vào chín nhóm theo đường dẫn, kiểm theo thứ tự trong bảng nhóm, mỗi request một nhóm. Tệp lõi phân biệt với tệp lạ bằng danh sách tệp .php của WordPress 7.1.2 lấy từ api.wordpress.org. Mốc so sánh là lần đầu POST tới xmlrpc.php nhận 403. Mã chạy lại nằm trong file analyze.py; bản trích log gốc chứa đường dẫn của mọi người xem nên không đăng.

Tải dữ liệu: Tổng quan JSON · Chín nhóm CSV · Theo ngày CSV · Trước và sau CSV · Đường dẫn hay gặp CSV · Mã chạy lại PY

Trích dẫn bài này

Nhóm kỹ thuật MONA Software (2026). Website WordPress của doanh nghiệp bị dò những gì mỗi ngày. NC-05, bản 1.0. Công ty TNHH Phần mềm MONA. https://mona.software/nghien-cuu/website-wordpress-bi-do-nhung-gi-moi-ngay/. Đo 18/09 đến 28/09/2026, cập nhật 05/10/2026.

@techreport{mona_nc05_2026,
  author = {{Nhóm kỹ thuật MONA Software}},
  title = {Website WordPress của doanh nghiệp bị dò những gì mỗi ngày},
  institution = {Công ty TNHH Phần mềm MONA},
  number = {NC-05, bản 1.0},
  year = {2026},
  month = oct,
  url = {https://mona.software/nghien-cuu/website-wordpress-bi-do-nhung-gi-moi-ngay/},
  note = {Bài đo, đo 18/09 đến 28/09/2026}
}

Muốn MONA đọc nhật ký truy cập của website doanh nghiệp? Hỏi MONA

Gửi MONA website đang chạy và nơi lưu nhật ký truy cập. MONA đếm theo chín nhóm trong bài và chỉ ra nhóm nào đáng xem trước.

Hotline 1900 636 648