Website bị chèn mã độc: 8 dấu vết cần đọc trước khi xoá

Phát hiện website bị chèn mã độc, phản xạ đầu tiên là xoá cho sạch. Xoá vội thì mất luôn manh mối. Đây là 8 dấu vết đọc trước, và đúng thứ tự xử lý sau đó.

Mở website lên thấy quảng cáo lạ chèn giữa trang. Hoặc trình duyệt chặn thẳng, kèm cảnh báo không an toàn. Phản xạ đầu tiên của hầu hết chủ website là xoá ngay cho sạch. Xoá xong thì hết dấu vết. Không biết kẻ xấu vào bằng đường nào. Vá không đúng chỗ. 2 tới 3 ngày sau website bị lại từ đúng lỗ hổng cũ.

Minh hoạ cho bài Website bị chèn mã độc: 8 dấu vết cần đọc trước khi xoá

Bài này không dạy cách tấn công. Cũng không chỉ tên lỗ hổng để khai thác. Đây là góc nhìn của người đang đứng trước 1 website bị chèn mã độc, cần đọc 8 dấu vết trước khi đụng vào bất cứ thứ gì. Bài khôi phục website sau sự cố đã nói thứ tự xử lý chung. Bài này đào sâu đúng phần đọc dấu vết, bước hay bị bỏ qua nhất.

Vì sao xoá mã độc ngay là mất manh mối

Xoá tệp lạ ngay lúc phát hiện làm mất 3 thứ cùng lúc: dấu thời gian, log liên quan, tệp gốc để đối chiếu. Không còn dấu vết thì không biết đường vào nằm ở đâu. Vá sai chỗ. Website dính lại đúng kiểu cũ chỉ sau vài ngày.

Việc đầu tiên khi nghi website bị chèn mã độc là giữ nguyên hiện trạng. Không xoá. Không ghi đè. 8 dấu vết dưới đây gom thành 3 nhóm: dấu vết trên tệp, dấu vết trên tài khoản và hệ thống, dấu vết trên bản sao lưu.

Nhóm dấu vết trên tệp: thời điểm sửa và tệp lạ

Nhóm này trả lời 1 câu hỏi: tệp nào bị động vào, và động vào lúc nào. Đọc nhóm này trước tiên vì nó cho ra mốc thời gian sự cố bắt đầu. Từ mốc đó mới khoanh vùng log cần soi ở nhóm kế tiếp.

  • Thời điểm tệp bị sửa gần nhất. So ngày giờ sửa của các tệp mã nguồn với lịch cập nhật thật. Tệp sửa lúc 3 giờ sáng trong khi không ai làm việc giờ đó là dấu hiệu đáng ngờ.
  • Tệp mới xuất hiện, nằm ở đâu. Thư mục upload ảnh, thư mục cache, thư mục gốc: cả 3 nơi này hiếm khi có ai chủ động tạo tệp mã nguồn mới.
  • Phiên bản mã nguồn và thành phần mở rộng đang dùng. Ghi lại phiên bản CMS, theme, plugin. Bản cũ hơn 1 hoặc 2 năm là thông tin cần cho bước vá sau, không phải để đọc suông.

Nhóm dấu vết trên tài khoản và quyền hệ thống

Nhóm này trả lời câu hỏi ai đã vào, vào bằng quyền gì. Log truy cập và quyền tệp là 2 nơi giữ dấu chân rõ nhất. Đọc song song, vì 1 tài khoản lạ đăng nhập thường đi kèm quyền tệp bị nới ngay sau đó.

  • Nhật ký truy cập quanh thời điểm nghi vấn. Soi log FTP, log CMS, log hosting đúng khung giờ suy ra từ nhóm tệp ở trên. Địa chỉ IP lạ, giờ truy cập bất thường: ghi lại nguyên văn.
  • Tài khoản nào đăng nhập bất thường. 1 tài khoản quản trị mới tự sinh, hoặc tài khoản cũ đăng nhập từ vị trí lạ, đều là manh mối cho biết đường vào là qua tài khoản chứ không phải mã nguồn.
  • Quyền tệp và thư mục có bị nới không. Thư mục vốn chỉ cho đọc mà tự nhiên cho ghi là dấu hiệu ai đó đã chỉnh tay để giữ đường quay lại.
  • Có tác vụ hẹn giờ lạ không. Kiểm cronjob trên hosting hoặc VPS. 1 dòng lệnh hẹn giờ lạ chạy đều đặn là cách kẻ xấu tự tạo lại chỗ đứng, dù mã độc ban đầu đã bị dọn.

Không chắc mình đang đọc đúng dấu vết?

Dịch vụ quản trị website của BizMaC có phần quét malware và vá bảo mật định kỳ, gói khởi điểm từ 3.900.000đ mỗi tháng. Đội kỹ thuật đọc log và xử lý thay bạn.

Xem dịch vụ quản trị website

Nhóm dấu vết trên bản sao lưu: chọn đúng bản sạch

Nhóm cuối trả lời 1 câu: khôi phục từ đâu. Chọn nhầm bản sao lưu đã dính mã độc thì công dọn ở 2 nhóm trên coi như uổng. Website phục hồi xong vẫn mang lỗi cũ.

  • Bản sao lưu gần nhất còn sạch là bản nào. Đối chiếu ngược từ mốc thời gian ở nhóm 1. Bản tạo trước thời điểm tệp lạ xuất hiện mới là ứng viên sạch, không phải cứ bản gần nhất là dùng được.
Dấu vếtXem ở đâuNói lên điều gì
Thời điểm tệp bị sửaThuộc tính tệp trên hosting hoặc FTPMốc thời gian sự cố bắt đầu
Tệp mới xuất hiệnThư mục upload, cache, thư mục gốcVị trí kẻ xấu để lại mã
Phiên bản mã nguồnTrang quản trị CMS, thông tin pluginLỗ hổng đã biết cần vá
Nhật ký truy cậpLog FTP, log CMS, log hostingĐường vào và thời điểm
Tài khoản bất thườngDanh sách tài khoản quản trịCó tài khoản giả mạo không
Quyền tệp thư mụcFile permission trên hosting hoặc VPSCửa hậu để quay lại
Tác vụ hẹn giờCronjob trên hosting hoặc VPSCơ chế tự phục hồi mã độc
Bản sao lưu sạchLịch sử backup trên hostingĐiểm khôi phục an toàn

Thứ tự xử lý đúng sau khi đọc đủ 8 dấu vết

Đọc xong 8 dấu vết mới tới bước hành động. Thứ tự này không đảo được: ghi nhận trước, cô lập sau, khôi phục cuối. Đảo ngược là lý do phổ biến nhất khiến website dính lại mã độc cũ.

  1. Ghi nhận dấu vết. Chụp lại toàn bộ tệp lạ, log truy cập, danh sách tài khoản đúng như đang thấy. Việc này chỉ mất vài phút, nhưng quyết định cả các bước sau.
  2. Cô lập website. Tạm ngừng truy cập công khai, hoặc chuyển sang chế độ bảo trì. Tránh mã độc lan thêm, tránh khách truy cập dính lây.
  3. Khôi phục từ bản sạch. Dùng đúng bản sao lưu đã xác định ở nhóm dấu vết cuối. Không khôi phục đè lên bản đang nhiễm.
  4. Vá đường vào. Cập nhật mã nguồn, thành phần mở rộng lên bản mới. Đóng đúng lỗ hổng đã xác định từ dấu vết, không chỉ xoá mã độc rồi để nguyên đường cũ.
  5. Đổi toàn bộ mật khẩu. Tài khoản CMS, FTP, hosting, cả email liên kết. Đổi hết 1 lượt, không đổi lẻ tẻ từng cái.
  6. Theo dõi sau khôi phục. Quan sát log và hành vi website trong 5 tới 7 ngày kế tiếp. Phát hiện sớm nếu vẫn còn dấu hiệu bất thường.

6 bước này làm tuần tự, không gộp tắt. Nhảy từ bước 1 sang bước 3, bỏ qua cô lập, là cách mã độc có thêm thời gian lan sang thư mục khác trong lúc bạn đang khôi phục.

Câu hỏi thường gặp về website bị chèn mã độc

Website bị chèn mã độc có nên tắt ngay lập tức không

Nên chuyển sang chế độ bảo trì, không nhất thiết tắt hẳn. Tắt hẳn trước khi ghi nhận dấu vết có thể làm mất log đang chạy, loại log cần đọc ở bước đầu tiên.

Không có người kỹ thuật thì đọc dấu vết thế nào

Phần xem thời điểm sửa tệp và tệp mới nằm ở đâu, tự làm được qua giao diện quản lý tệp trên hosting. Phần đọc log server và cronjob nên nhờ dịch vụ quản trị website đọc giúp, vì mỗi nền tảng 1 định dạng log riêng.

Khôi phục xong có chắc mã độc hết hẳn không

Khôi phục từ bản sạch và vá đúng đường vào giảm mạnh khả năng dính lại, nhưng không có gì tuyệt đối. Bước theo dõi sau khôi phục vẫn cần làm, không dừng ngay sau khi website chạy lại.

Bao lâu nên kiểm tra dấu vết 1 lần dù website chưa có dấu hiệu lạ

Không cần điều tra dấu vết định kỳ kiểu vậy. Việc nên làm đều đặn là theo dõi log truy cập, cập nhật thành phần mở rộng lên bản mới. Làm vậy giảm khả năng phải điều tra dấu vết ngay từ đầu.

Xoá vội là mất luôn manh mối

8 dấu vết, 3 nhóm, đọc trước khi đụng vào bất cứ thứ gì. Đó là khác biệt giữa 1 lần xử lý dứt điểm và 1 vòng lặp dọn dẹp lặp lại mỗi vài tháng. Ghi nhận trước. Cô lập. Khôi phục từ bản sạch. Vá đường vào. Đổi mật khẩu. Rồi mới theo dõi tiếp.

Website đang có dấu hiệu bất thường, cần người đọc dấu vết thay bạn: xem dịch vụ quản trị website của BizMaC. Đang cân nhắc làm lại từ đầu trên nền tảng chắc chắn hơn thì tham khảo thiết kế website doanh nghiệp.

Lưu ý: Bài viết chia kinh nghiệm chung, còn mỗi doanh nghiệp một quy mô và một cách vận hành. Muốn biết cách nào hợp với trường hợp của bạn — chọn gói nào, làm theo thứ tự nào, chi phí ra sao — chuyên viên BizMaC tư vấn và làm giúp bạn phần kỹ thuật.

Đọc rồi mà vẫn ngại tự làm?

Để BizMaC dựng website cho doanh nghiệp bạn

Giao diện chuẩn UX, cấu trúc chuẩn SEO, chạy mượt trên di động và dễ tự quản trị sau khi bàn giao. BizMaC làm website cho doanh nghiệp Việt từ năm 2007, đi kèm hướng dẫn vận hành chứ không bàn giao xong là hết.

Khách hàng và các chỉ số lượt theo dõi, độ phủ, doanh thu của một website doanh nghiệp