Chrome Dev Summit 2018 is happening now and streaming live on YouTube. Watch now.

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

Bạn sẽ cần:

  • Quyền truy cập quản trị viên shell/terminal vào các máy chủ của trang web: web, cơ sở dữ liệu, tệp
  • Kiến thức về lệnh shell/terminal
  • 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 của bạn (bao gồm tệp, cơ sở dữ liệu, hình ảnh, v.v.)

Các 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 nguồn tài nguyên bổ sung nếu bạn tin rằng tin tặc có ý định lấy thông tin cá nhân của người dùng (chẳng hạn như thông qua các trang lừa đảo)
  • Tùy chọn sử dụng Xóa URL trong Search Console để đẩy nhanh việc xóa các URL hoàn toàn mới, không mong muốn, hiển thị cho người dùng do tin tặc tạo mà bạn không muốn hiển thị trong kết quả của Google Tìm kiếm
  • Tùy chọn sử dụng Tìm nạp như Google trong Search Console để đẩy nhanh tiến trình xử lý các trang sạch của Google - nghĩa 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ả tìm kiếm của Google
  • Cài đặt phiên bản phần mềm mới nhất, an toàn nhất
  • Việc gỡ bỏ các ứng dụng hoặc plugin không cần thiết hoặc không được sử dụng có thể làm cho 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 tốt 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
  • Thay đổi tất cả mật khẩu
  • Lập kế hoạch giữ an toàn cho trang web của bạn

1. Tìm tài nguyên hỗ trợ khi xử lý việc bị mất thông tin mật, chẳng hạn như thông qua các trang lừa đảo

Nếu thông tin mật của người dùng được lấy từ trang web của bạn (ví dụ: vì đó là một phần của cuộc tấn công lừa đảo), bạn có thể xem xét mọi trách nhiệm pháp lý, luật định, kinh doanh trước khi bắt đầu làm sạch trang web hoặc xóa 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 Làm gì nếu trang web của bạn bị tấn công bởi kẻ lừa đảo.

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ả tìm kiếm của Google bằng cách sử dụng tính năng Xóa URL trong Search Console. Bước này hoàn toàn không bắt buộc. Nếu bạn chỉ cần xóa các trang và sau đó định cấu hình máy chủ để trả lại mã trạng thái 404, thì các trang sẽ dần dần bị gỡ khỏi chỉ mục của Google theo thời gian.

  • Quyết định sử dụng công cụ Xóa URL sẽ phụ thuộc vào số lượng trang mới, không mong muốn được tạo (quá nhiều trang có thể khiến việc sử dụng Xóa URL khá rườm rà), cũng như khả năng gây hại đến người dùng của những trang này. Để ngăn các trang được gửi đến Xóa URL xuất hiện trong kết quả tìm kiếm, hãy đảm bảo các trang này cũng được định cấu hình để trả về phản hồi 404 File not Found đối với URL không mong muốn/đã xóa.
  • Không sử dụng công cụ này để yêu cầu xóa bất kỳ trang nào từng hợp lệ nhưng đã bị tin tặc phá hỏng bởi - bạn sẽ muốn các trang này xuất hiện trong kết quả tìm kiếm khi trang đã được làm sạch. Chỉ nên dùng công cụ Xóa URL với các trang 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ể sử dụng tính năng Tìm nạp như Google trong Search Console để gửi các trang này tới chỉ mục của Google. Điều này hoàn toàn không bắt buộc. Nếu bạn bỏ qua bước này, các trang mới hoặc đã khắc phục sẽ có thể đượ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 làm sạch trang web của bạn dựa trên các ghi chú bạn đã thực hiện trong Đánh giá thiệt hạiXác định tính lỗ hổng. Quy trình 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ó sẵn.

  • 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 này đượ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. Điều này bao gồm 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ả cá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ử, plugin, mẫu, v.v.
    3. Xem xét liệu bạn có thể loại bỏ phần mềm trên máy chủ của mình (ví dụ: tiện ích con, plugin hoặc ứng dụng) mà trang web không còn sử dụng nữa hay không.
    4. Sửa lỗ hổng.
    5. Đảm bảo rằng tất cả các vấn đề tìm thấy trong Đánh giá thiệt hại đều được giải quyết.
    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 hiện tại của bạn mặc dù trang vẫ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 với những bản 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
    2. Tạo 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
    3. 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.
    4. Xem xét liệu bạn có thể loại bỏ phần mềm trên máy chủ của mình (ví dụ: tiện ích con, plugin hoặc ứng dụng) mà trang web không còn sử dụng nữa hay không.
    5. 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ả cá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ử, plugin, mẫu, v.v. Đảm bảo kiểm tra các bản cập nhật bảo mật và vá lỗi có sẵn.
    6. Sửa lỗ hổng.
    7. Thực hiện diff 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 hiện tại bị nhiễm.
      $diff -qr www/ backups/full-backup-20120124/
    8. Tải lên bất kỳ nội dung mới, sạch nào mà bạn muốn bảo vệ khỏi bản sao bị nhiễm trên máy chủ đã nâng cấp.
      $rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
    9. Kiểm tra để đảm bảo mỗi URL được liệt kê từ Đánh giá thiệt hại đều đã được khắc phục.
    10. 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
  • Không có bản sao lưu
    1. Tạo hai bản sao lưu của trang web của bạn ngay cả khi trang vẫn bị nhiễm. Việc có một bản sao lưu bổ sung sẽ giúp khôi phục lại nội dung bị xóa nhầm hoặc cho phép bạn hoàn nguyên và thử lại nếu gặp trục trặ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 làm cho việc khôi phục nội dung trở nên đơn giản hơn. Bạn có thể lưu trữ ảnh ổ đĩa cho trường hợp khẩn cấp. 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
      • Bản sao lưu còn lại sẽ là 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
      • Nếu bạn không có ả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.
    2. 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 trên chính máy chủ)
      1. Nếu cuộc điều tra trước đó của bạn cho thấy quyền với tệp quá rộng, hãy khắc phục điều đó. Đảm bảo rằng bạn làm điều này trên bản sao lưu, chứ không phải trê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 URL được phát hiện là đã bị xâm nhập trong Đá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, PHP.
      3. Đảm bảo cũng xóa (trả về phản hồi 404) các tệp mới do tin tặc tạo (bạn có thể đã gửi hoặc chưa gửi các tệp này qua công cụ Xóa 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 nhận đầu vào hoặc kiểm tra bảo mật có thể hữu ích.
      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 đã bị tin tặc sửa đổi trong bản sao lưu. Ngay trước khi bạn nghĩ mình đã xong, hãy kiểm tra kỹ hơn các bản ghi để đảm bảo rằng bản ghi đã sạch.
      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
      7. Tại thời điểm này, bản sao lưu từng bị nhiễm của trang web của bạn sẽ chỉ 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. Loại bỏ phần mềm không cần thiết

Xem xét liệu bạn có thể loại bỏ phần mềm trên máy chủ của mình -- chẳng hạn như tiện ích con, plugin 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ể làm tăng tính bảo mật và đơn giản hóa việc bảo trì trong tương lai.

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. Nâng cấp có thể để lại các tệp từ một phiên bản trước đó. Nếu một tệp bị nhiễm còn lại trên máy chủ, một cuộc tấn công khác có khả năng sẽ xảy ra.
    • Cài đặt mới nên 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ả cá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ử, plugin, mẫu, v.v. Đảm bảo kiểm tra các bản cập nhật bảo mật và vá lỗi có sẵn.
  2. Chuyển nội dung tốt 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/khôi phục những tệp/cơ sở dữ liệu đã biết rõ. Đảm bảo duy trì các quyền thích hợp với tệp và không ghi đè lên các tệp hệ thống được cài đặt mới.
  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:
    $passwd admin1

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

Có rất nhiều tài nguyên giàu thông tin trên web về bảo trì trang web hiệu quả, như Ngăn chặn phần mềm độc hại: những điều cơ bản của Stop Badware. Chúng tôi cũng khuyên bạn nên thực hiện những điều 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 phương pháp bảo mật của tất cả các ứng dụng, plugin, phần mềm của bên thứ ba, v.v. trước khi cài đặt chúng trên máy chủ của bạn. 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ị được sử 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ỏ các ứng dụng hoặc plugin không cần thiết hoặc không được sử dụng có thể làm cho 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 lại 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?

9. Đưa trang web của bạn trở lại trực tuyến

Bước tiếp theo

Bạn gần như đã xong! Bước cuối cùng trong quy trình là Yêu cầu xem lại.