Cách đọc access log để tìm request bất thường khi WordPress bị hack

Minh họa đọc access log WordPress khi website bị hack để phát hiện request bất thường

Khi WordPress bị hack, access log hữu ích nhất để dựng timeline và kiểm tra correlation giữa request với file change, account activity, redirect hoặc spam. Log không tự chứng minh exploit thành công; phải đọc đúng format, timezone và phạm vi retention trước khi kết luận.

Một dòng access log cần đọc những trường nào?

Field Ví dụ khái quát Cách dùng
Client address Địa chỉ client/proxy Correlation; không dùng một mình để attribution
Timestamp Ngày giờ + timezone Nối với file/auth/deploy timeline
Method + path GET/POST + endpoint Xác định khu vực cần kiểm tra
Status 2xx/3xx/4xx/5xx Kết quả HTTP ở một lớp; không chứng minh compromise
Referrer Trang nguồn nếu có Context request
User-Agent Chuỗi client Context, dễ thay đổi

Bắt đầu từ incident window

  1. Xác định thời điểm đầu tiên thấy redirect, spam, Admin lạ hoặc file change.
  2. Chuẩn hóa timezone giữa access log, application log, database và filesystem.
  3. Lấy cửa sổ thời gian trước/sau event thay vì đọc toàn bộ traffic không mục tiêu.
  4. Lọc theo endpoint hoặc component đã liên quan tới IOC.
  5. Đối chiếu sequence request với thay đổi server-side.

Annotated log example

Một record điển hình thường có cấu trúc: client → timestamp → method/path → status → bytes → referrer → user-agent. Khi audit, annotate từng field vào timeline thay vì chỉ nhìn IP hoặc status. Ví dụ, một request tới endpoint liên quan xảy ra trước file change vài giây là correlation cần kiểm tra tiếp, chưa phải bằng chứng exploit thành công.

Correlation table mẫu

Time Log event Server event Interpretation Confidence
T0 Request tới endpoint liên quan Không có change Request tồn tại, chưa chứng minh impact Low
T1 Request/login sequence Account hoặc file change sau đó Correlation cần kiểm chứng Medium
T2 Event lặp trước mỗi recurrence Payload tái tạo Hypothesis mạnh hơn Medium/High tùy evidence

Cách lọc log an toàn

Dùng chức năng search/filter chỉ đọc của log viewer, SIEM hoặc text editor để thu hẹp theo thời gian, method, path, status hoặc component đã biết. Mục tiêu là giảm nhiễu, không phải dùng một pattern chung để tự động gắn nhãn request là độc hại.

Proxy/CDN: client IP có thể không phải source IP thực

Nếu site đi qua CDN, load balancer hoặc reverse proxy, origin log có thể ghi địa chỉ của proxy. Forwarding headers chỉ đáng tin theo cấu hình proxy tin cậy. Trước khi phân tích IP, xác định log được ghi ở layer nào và server đang trust proxy nào; không lấy một header do client tự gửi làm attribution.

Status 200/302/500 không chứng minh exploit

Status code chỉ cho biết HTTP handling. Muốn nói request gây compromise cần evidence tiếp theo như file/data/account change hoặc behavior tương ứng. Ngược lại, status lỗi cũng không bảo đảm không có side effect.

Đối chiếu với file và account

Nếu file mới/sửa nằm trong incident window, nối mtime/hash với request gần đó và deploy history. Nếu có Admin lạ, đối chiếu auth/application log với access log nhưng tránh suy diễn từ một login. Dùng workflow file change và workflow Admin lạ.

Timeline output nên bàn giao

Timestamp Source Event Related IOC Notes
… Access log Request/path/status File/account/redirect Timezone + correlation
… Filesystem File created/modified Payload Hash/path
… Auth/app log Login/change Account Owner/state

Nếu malware tái xuất hiện, đưa timeline này vào root-cause hypothesis workflow.

Giới hạn của access log

  • Retention có thể không phủ thời điểm compromise.
  • CDN/proxy có thể thay đổi source fields.
  • Một số action không tạo log đủ chi tiết ở layer đang xem.
  • “Không thấy request” không chứng minh request chưa xảy ra.

Khi nào nên escalation?

Nếu log cho thấy incident có thể liên quan nhiều hệ thống/account, activity vẫn tiếp diễn hoặc cần correlation vượt phạm vi một WordPress site, cân nhắc Incident Response.

Nguồn kỹ thuật tham khảo

Kết luận

Đọc access log hiệu quả bắt đầu từ timeline và IOC cụ thể. Hãy chuẩn hóa timezone, hiểu proxy/CDN, lọc theo endpoint liên quan rồi correlation với file/account/data change; không attribution hoặc kết luận exploit chỉ từ IP, user-agent hay status code.

◇
Cần hỗ trợ kiểm tra và xử lý website?Đội ngũ SecureWebOps sẵn sàng hỗ trợ theo phạm vi phù hợp.
Liên hệ ngay →
Đoàn Trình Dục
Về tác giả Đoàn Trình Dục TD Digital · Website Operations & Security

Đoàn Trình Dục là tác giả nội dung trên SecureWebOps. Các bài viết tập trung vào bảo mật WordPress, giám sát an ninh website, malware/backdoor, hardening, backup/recovery và Incident Response theo hướng thực hành, có bước kiểm tra, bằng chứng, validation và rollback khi phù hợp.

Xem hồ sơ tác giả →