Làm sạch và bảo trì trang web của bạn

Để giữ cho trang web của bạn luôn sạch và ngăn chặn hành vi tấn công trong tương lai, bạn sẽ cần:

  • Quyền truy cập của quản trị viên shell hoặc thiết bị đầu cuối vào các máy chủ của trang web: web, cơ sở dữ liệu, tệp
  • Có kiến thức về lệnh shell hoặc dòng lệnh
  • Hiểu biết về mã (chẳng hạn như PHP hoặc JavaScript)
  • Bộ nhớ để tạo bản sao lưu trang web, bao gồm các tệp, cơ sở dữ liệu và hình ảnh

Hành động tiếp theo

Chúng tôi sẽ đề cập đến một số hành động trong bước này:

  • Nơi tìm tài nguyên bổ sung nếu bạn cho rằng tin tặc có ý định thu thập thông tin cá nhân của người dùng (chẳng hạn như các trang lừa đảo).
  • Lựa chọn Xoá URL trong Search Console để đẩy nhanh việc xoá các URL hoàn toàn mới, không mong muốn và hiển thị cho người dùng do tin tặc tạo mà bạn không muốn chúng xuất hiện trong kết quả của Google Tìm kiếm.
  • Lựa chọn Yêu cầu Google thu thập lại dữ liệu URL của bạn trong Search Console để đẩy nhanh quá trình Google xử lý các trang sạch (tức là các trang mới hoặc mới cập nhật) mà bạn muốn xuất hiện trong kết quả của Google Tìm kiếm.
  • Cài đặt phiên bản phần mềm mới nhất, an toàn nhất.
  • Việc xoá các ứng dụng hoặc trình bổ trợ không cần thiết hoặc không dùng đến có thể khiến trang web của bạn dễ bị tấn công hơn trong tương lai.
  • Khôi phục nội dung hay và xóa nội dung của tin tặc.
  • Khắc phục lỗ hổng là nguyên nhân gốc rễ mà tin tặc đã khai thác.
  • Đang thay đổi tất cả mật khẩu.
  • Đang lên kế hoạch bảo mật trang web của bạn.

1. Tìm tài nguyên hỗ trợ

Nếu thông tin bí mật của người dùng được lấy từ trang web của bạn (ví dụ: do đó là một phần của cuộc tấn công lừa đảo), có thể bạn muốn xem xét mọi trách nhiệm pháp lý, quy định hoặc kinh doanh trước khi bắt đầu dọn dẹp trang web hoặc xoá bất kỳ tệp nào. Trong trường hợp lừa đảo, antiphishing.org có các tài nguyên hữu ích như tài liệu Việc cần làm nếu trang web của bạn bị tin tặc tấn công.

2. Cân nhắc đẩy nhanh việc xóa các URL mới do tin tặc tạo

Nếu tin tặc tạo các URL hoàn toàn mới và hiển thị cho người dùng, bạn có thể đẩy nhanh việc xóa các trang này khỏi kết quả của Google Tìm kiếm bằng tính năng Xóa URL trong Search Console. Bước này là bước không bắt buộc. Nếu bạn chỉ xoá các trang và sau đó định cấu hình máy chủ để trả về mã trạng thái 404, thì các trang đó sẽ dần bị gỡ khỏi chỉ mục của Google theo thời gian.

  • Quyết định sử dụng tính năng Xoá URL có thể sẽ phụ thuộc vào số lượng trang mới được tạo không mong muốn (quá nhiều trang có thể quá cồng kềnh để đưa vào Xoá URL), cũng như thiệt hại tiềm ẩn mà các trang này có thể gây ra cho người dùng. Để đảm bảo các trang được gửi qua công cụ Xoá URL không xuất hiện trong kết quả tìm kiếm, hãy đảm bảo các trang đó cũng được định cấu hình để trả về phản hồi 404 Không tìm thấy tệp cho các URL không mong muốn và đã bị xoá.
  • Không sử dụng công cụ này để yêu cầu xoá bất kỳ trang nào từng hợp lệ nhưng chỉ bị tin tặc gây hại. Bạn sẽ muốn các trang này xuất hiện trong kết quả tìm kiếm sau khi chúng được dọn sạch. Công cụ Xoá URL chỉ dành cho các trang mà bạn không bao giờ muốn xuất hiện trong kết quả.

3. Cân nhắc việc đẩy nhanh tiến trình xử lý các trang sạch của Google

Nếu có trang sạch mới hoặc cập nhật, bạn có thể Yêu cầu Google thu thập lại dữ liệu các URL của bạn trong Search Console để gửi các trang này đến chỉ mục của Google. Điều này là không bắt buộc; nếu bạn bỏ qua bước này, thì các trang mới hoặc đã sửa đổi của bạn có thể sẽ được thu thập dữ liệu và xử lý theo thời gian.

4. Bắt đầu làm sạch (các) máy chủ của bạn

Bây giờ là lúc bắt đầu dọn dẹp trang web của bạn dựa trên các ghi chú bạn đã thực hiện trong quá trình Đánh giá thiệt hạiXác định lỗ hổng bảo mật. Đường dẫn bạn sẽ thực hiện trong bước này phụ thuộc vào loại bản sao lưu bạn có:

  • Bản sao lưu sạch và cập nhật
  • Bản sao lưu sạch nhưng đã lỗi thời
  • Không có bản sao lưu

Trước tiên, hãy kiểm tra để đảm bảo bản sao lưu được tạo trước khi trang web của bạn bị tấn công.

Bản sao lưu sạch và cập nhật

  1. Khôi phục bản sao lưu của bạn.
  2. Cài đặt bất kỳ bản nâng cấp, cập nhật hay vá lỗi nào. Trong đó có phần mềm cho hệ điều hành nếu bạn nắm quyền kiểm soát máy chủ và tất cả ứng dụng, chẳng hạn như hệ thống quản lý nội dung, nền tảng thương mại điện tử, trình bổ trợ hoặc mẫu.
  3. Hãy cân nhắc việc xoá phần mềm mà trang web không còn sử dụng khỏi máy chủ của bạn nữa (chẳng hạn như tiện ích, trình bổ trợ hoặc ứng dụng) .
  4. Sửa lỗ hổng.
  5. Đảm bảo rằng bạn đã giải quyết tất cả các vấn đề phát hiện thấy trong quá trình Đánh giá thiệt hại.
  6. Thay đổi mật khẩu một lần nữa cho tất cả các tài khoản liên quan đến trang web (ví dụ: thông tin đăng nhập để truy cập FTP, truy cập cơ sở dữ liệu, quản trị viên hệ thống và tài khoản CMS). Trên các hệ thống có nền tảng Unix:
passwd admin1

Bản sao lưu sạch nhưng đã lỗi thời

  1. Tạo ảnh ổ đĩa cho trang web hiện tại của bạn mặc dù trang web vẫn còn bị nhiễm. Bản sao này chỉ nhằm mục đích an toàn. Đánh dấu bản sao là bị nhiễm để phân biệt bản sao đó với các bản sao khác. Trên hệ thống có nền tảng Unix, có thể làm như sau để tạo ảnh ổ đĩa:
dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz
  1. Tạo một bản sao hệ thống tệp sao lưu của máy chủ của bạn, bao gồm cả hình ảnh và tệp đa phương tiện. Nếu có cơ sở dữ liệu, bạn cũng nên sao lưu cơ sở dữ liệu.
tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql
  1. Khôi phục bản sao lưu sạch nhưng đã lỗi thời trên máy chủ của bạn.
  2. Hãy cân nhắc xem bạn có thể loại bỏ phần mềm trên máy chủ của mình hay không (ví dụ: tiện ích, trình bổ trợ hoặc ứng dụng) mà trang web không còn sử dụng nữa.
  3. Hãy nâng cấp tất cả phần mềm, bao gồm cả hệ điều hành nếu bạn nắm quyền kiểm soát máy chủ và tất cả ứng dụng phần mềm, chẳng hạn như hệ thống quản lý nội dung, nền tảng thương mại điện tử, trình bổ trợ và mẫu. Hãy nhớ kiểm tra và cài đặt các bản cập nhật và bản vá bảo mật có sẵn.
  4. Sửa lỗ hổng.
  5. Hãy thực hiện diff cho trang web theo cách thủ công hoặc tự động – giữa bản sao lưu sạch và bản sao bị nhiễm hiện tại.
diff -qr www/ backups/full-backup-20120124/
  1. Hãy tải mọi nội dung mới, sạch sẽ mà bạn muốn bảo vệ khỏi bản sao bị nhiễm vi-rút trên máy chủ đã nâng cấp.
rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
  1. Kiểm tra để đảm bảo từng URL được liệt kê từ phần Đánh giá thiệt hại đều đã được khắc phục.
  2. Thay đổi mật khẩu một lần nữa cho tất cả tài khoản có liên quan đến trang web (ví dụ: thông tin đăng nhập để truy cập FTP, truy cập cơ sở dữ liệu, quản trị viên hệ thống và tài khoản CMS). Trên các hệ thống có nền tảng Unix:
$passwd admin1

Không có bản sao lưu

Tạo hai bản sao lưu trang web của bạn ngay cả khi trang web vẫn đang bị nhiễm phần mềm độc hại. Việc có bản sao lưu bổ sung sẽ giúp khôi phục nội dung bị xoá do vô tình hoặc cho phép bạn huỷ bỏ và thử lại nếu xảy ra sự cố. Hãy gắn nhãn mỗi bản sao lưu là "bị nhiễm" để tham khảo trong tương lai.

Một trong những bản sao lưu của bạn sẽ là ảnh ổ đĩa hoặc "bản sao" của trang web của bạn. Định dạng này giúp việc khôi phục nội dung thậm chí còn đơn giản hơn. Bạn có thể để riêng hình ảnh đĩa cho trường hợp khẩn cấp. Trên hệ thống có nền tảng Unix, hãy sử dụng mã sau để tạo ảnh ổ đĩa:

dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz

Bản sao lưu còn lại sẽ là bản sao hệ thống tệp từ máy chủ của bạn, bao gồm cả hình ảnh và tệp đa phương tiện. Nếu có cơ sở dữ liệu, bạn cũng cần sao lưu cơ sở dữ liệu đó.

tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql

Nếu bạn không có hình ảnh đĩa, hãy tạo hai bản sao lưu của cơ sở dữ liệu và hai bản sao lưu của hệ thống tệp.

Để làm sạch nội dung của trang web trên bản sao hệ thống tệp sao lưu mới (không phải chính máy chủ), hãy làm như sau:

  1. Nếu cuộc điều tra trước đó của bạn cho thấy quyền truy cập tệp quá rộng, hãy tiếp tục và khắc phục các quyền đó. Hãy nhớ thực hiện việc này trên bản sao lưu, chứ không phải trên bản thân máy chủ.
  2. Ngoài ra, trên bản sao lưu, hãy làm sạch tất cả các tệp tương ứng với các URL được phát hiện là đã bị xâm nhập trong phần Đánh giá thiệt hại. Các tệp này có thể là tệp cấu hình máy chủ, JavaScript, HTML hoặc PHP.
  3. Đừng quên xoá (trả về phản hồi 404) các tệp mới do tin tặc tạo mà có thể bạn đã gửi hoặc chưa gửi qua Công cụ xoá URL trong Search Console.
  4. Sửa lỗ hổng nếu có trong mã hoặc các mật khẩu bị bẻ khóa của bạn. Thư viện xác thực dữ liệu đầu vào hoặc kiểm tra bảo mật có thể giúp ích cho bạn.
  5. Nếu trang web của bạn có cơ sở dữ liệu, hãy bắt đầu dọn dẹp các bản ghi do tin tặc sửa đổi trong bản sao lưu. Ngay trước khi bạn nghĩ mình đã hoàn tất, hãy kiểm tra nhiều bản ghi hơn để đảm bảo cơ sở dữ liệu trông sạch.
  6. Thay đổi mật khẩu một lần nữa cho tất cả tài khoản có liên quan đến trang web (ví dụ: thông tin đăng nhập để truy cập FTP, truy cập cơ sở dữ liệu, quản trị viên hệ thống và tài khoản CMS). Trên các hệ thống có nền tảng Unix, hãy sử dụng mã sau:
$passwd admin1

Tại thời điểm này, bản sao lưu từng bị nhiễm phần mềm độc hại của trang web của bạn chỉ nên chứa dữ liệu sạch. Lưu trữ bản sao sạch này và chuyển sang hành động #5.

5. Xoá phần mềm không cần thiết

Hãy cân nhắc xem bạn có thể xoá phần mềm trên máy chủ của mình, chẳng hạn như tiện ích, trình bổ trợ hoặc ứng dụng mà trang web không còn sử dụng nữa hay không. Điều này có thể giúp tăng khả năng bảo mật và đơn giản hoá việc bảo trì sau này.

6. Làm sạch tất cả máy chủ

  1. Hãy thực hiện cài đặt mới chứ không chỉ nâng cấp. Bản nâng cấp có thể để lại các tệp từ phiên bản trước. Nếu một tệp bị nhiễm vi-rút vẫn còn trên máy chủ, thì trang web của bạn rất có thể bị tấn công lần nữa.
    • Quá trình cài đặt mới sẽ bao gồm hệ điều hành nếu bạn nắm quyền kiểm soát máy chủ và tất cả ứng dụng phần mềm, chẳng hạn như hệ thống quản lý nội dung, nền tảng thương mại điện tử, trình bổ trợ và mẫu. Hãy nhớ kiểm tra các bản cập nhật và bản vá bảo mật hiện có.
  2. Chuyển nội dung hay từ bản sao hệ thống tệp sao lưu sạch sang(các) máy chủ mới được cài đặt. Chỉ tải lên và khôi phục các tệp hoặc cơ sở dữ liệu đã biết. Hãy nhớ duy trì các quyền thích hợp đối với tệp và không ghi đè các tệp hệ thống mới cài đặt.
  3. Thay đổi mật khẩu lần cuối cho tất cả các tài khoản liên quan đến trang web đó (ví dụ: thông tin đăng nhập để truy cập FTP, truy cập cơ sở dữ liệu, quản trị viên hệ thống và tài khoản CMS). Trên các hệ thống có nền tảng Unix, hãy sử dụng mã sau:
passwd admin1

7. Tạo kế hoạch bảo trì dài hạn

Bạn nên làm như sau:

  • Thường xuyên thực hiện sao lưu tự động trang web của bạn.
  • Hãy thận trọng về việc cập nhật phần mềm.
  • Hiểu các phương pháp bảo mật của tất cả ứng dụng, trình bổ trợ và phần mềm bên thứ ba khác trước khi bạn cài đặt trên máy chủ của mình. Một lỗ hổng bảo mật trong một ứng dụng phần mềm có thể ảnh hưởng đến sự an toàn của toàn bộ trang web của bạn.
  • Tạo mật khẩu mạnh.
  • Bảo mật tất cả các thiết bị dùng để đăng nhập vào máy (hệ điều hành và trình duyệt đã cập nhật).

8. Kiểm tra lại để đảm bảo việc dọn dẹp đã hoàn tất

Đảm bảo bạn có thể trả lời "có" cho các câu hỏi sau:

  • Tôi đã thực hiện các bước thích hợp nếu tin tặc lấy được thông tin cá nhân của người dùng chưa?
  • Trang web của tôi có đang chạy phiên bản phần mềm mới nhất, an toàn nhất?
  • Tôi đã gỡ bỏ tất cả các ứng dụng hoặc trình bổ trợ không cần thiết hoặc không dùng đến có thể khiến trang web của tôi dễ bị tấn công hơn trong tương lai chưa?
  • Tôi đã khôi phục nội dung của mình và gỡ bỏ nội dung của tin tặc chưa?
  • Tôi đã sửa lỗ hổng là nguyên nhân gốc rễ khiến trang web của tôi bị tấn công chưa?
  • Tôi có kế hoạch giữ an toàn cho trang web của mình không?

Giờ đây, bạn có thể đưa trang web của mình trở lại trực tuyến.