Làm gì khi một website Joomla bị hack?

Email
Hướng dẫn này để giúp các chủ trang web xác định và làm sạch một website Joomla bị hack. Có thể nó không giải quyết được tất cả các trường hợp nhưng nó giúp xử lý đến 70% số trường hợp bị tấn công đã được xác định. Các dấu hiệu thông thường cho biết website Joomla bị hack:
  • Website nằm trong cảnh báo danh sách đen của Google, Bing, McAfee, v.v.
  • Xuất hiện các hành vibất thường trên trình duyệt của người dùng.
  • Xuất hiện các từ khóa spam trong công cụ tìm kiếm
  • Các nhà cung cấp dịch vụ Hosting ngừng trang web của bạn vì hoạt động độc hại.
  • Các tệp tin của Joomla bị sửa đổi.
  • Xuất hiện người dùng mới trái phép trong bảng điều khiển của Joomla.

Bước 1: Xác định tấn công

1.1- Quét mã độc cho website

Bạn có thể sử dụng các công cụ quét mã độc website để tìm các payload độc hại và vị trí của phần mềm độc hại. Dưới đây là một số phần mềm và công cụ miễn phí để bạn có thể tham khảo:

1.2- Kiểm tra các tệp đã bị sửa đổi khi website Joomla bị hack

Các tệp tin mới hoặc mới bị sửa đổi gần đây có thể là một phần nguyên nhân của việc website bị tấn công. Các tệp tin trong core của Joomla cũng nên được kiểm tra để truy tìm các phần mềm độc hại. Cách nhanh nhất để xác nhận tính an toàn của các tệp tin trong core joomla là sử dụng lệnh diff trong terminal, bạn cũng có thể tự kiểm tra các tập tin của mình thông qua SFTP. Bạn có thể tìm thấy tất cả các phiên bản của Joomla trên GitHub. Các lệnh sau đây sử dụng phiên bản 3.6.4 làm ví dụ về các tệp sạch và public_html để thay cho nơi mà Joomla được cài đặt. Để kiểm tra sự an toàn tập tin trong core của joomla với các lệnh sau:
$ mkdir joomla-3.6.4
$ cd joomla-3.6.4
$ wget https://github.com/joomla/joomla-cms/releases/download/3.6.4/Joomla_3.6.4-Stable-Full_Package.tar.gz
$ tar -zxvf Joomla_3.6.4-Stable-Full_Package.tar.gz
$ diff -r joomla-3.6.4 ./public_html
Lệnh diff cuối cùng sẽ so sánh tệp tin Joomla sạch với các tệp tin đã cài đặt trên website của bạn. Để tự kiểm tra các tệp đã sửa đổi gần đây:
  1. Đăng nhập vào máy chủ của bạn bằng cách sử dụng một FTP Client hoặc SSH Client.
  2. Nếu sử dụng SSH, bạn có thể liệt kê tất cả các tệp được sửa đổi trong 15 ngày qua bằng lệnh này:
$ find ./ -type f -mtime -15
       3. Nếu sử dụng SFTP, hãy xem lại cột ngày sửa đổi cuối cùng cho tất cả các tệp trên máy chủ.        4. Chú ý tất cả các tệp đã được sửa đổi gần đây.

1.3- Các bản ghi người dùng mới

Xác minh tài khoản Joomla của người dùng, đặc biệt là quản trị viên và quản trị viên cấp cao. Để kiểm tra người dùng độc hại trong Joomla:
  1. Đăng nhập vào khu vực quản trị viên của Joomla.
  2. Nhấp vào Người dùng và chọn Quản lý.
  3. Xem lại danh sách, đặc biệt là những mục có ngày đăng ký gần đây.
  4. Xóa tất cả người dùng lạ do hacker tạo.
  5. Kiểm tra ngày truy cập cuối của người dùng hợp pháp.
  6. Xác nhận bất kỳ người dùng nào đã đăng nhập vào thời điểm đáng ngờ.
  7. Bạn cũng có thể phân tích các bản ghi trên máy chủ của bạn nếu bạn biết chúng được lưu trữ ở đâu.
  8. Người dùng đăng nhập vào những thời điểm bất thường hoặc địa điểm địa lý có thể đã bị xâm nhập.

1.4- Kiểm tra với công cụ chẩn đoán

Nếu bạn đang sử dụng trang Joomla và bị cấm bởi Google hoặc các cơ quan bảo mật web khác, bạn có thể sử dụng các công cụ chẩn đoán của họ để kiểm tra trạng thái bảo mật trên website của mình. Để kiểm tra Báo cáo minh bạch của Google:
  1. Truy cập trang web trạng thái duyệt web an toàn .
  2. Nhập URL trang web và tìm kiếm.
  3. Trên trang này bạn có thể kiểm tra:
    • Thông tin An toàn về Trang web: thông tin về chuyển hướng, spam và tải xuống độc hại.
    • Chi tiết Kiểm tra: quét Google gần đây nhất đã phát hiện phần mềm độc hại.
Nếu bạn đã cho trang web của mình vào bất kỳ công cụ WebMaster miễn phí nào, bạn có thể kiểm tra xếp hạng bảo mật và báo cáo. Nếu bạn chưa có tài khoản cho các công cụ theo dõi này, bạn nên đăng ký vì chúng được sử dụng miễn phí:

Bước 2: Khắc phục website bị hack

Bây giờ khi đã có thông tin về những người dùng có nguy cơ bị xâm nhập và các vị trí của phần mềm độc hại, bạn có thể xóa phần mềm độc hại khỏi Joomla và khôi phục lại website.
Mẹo: Cách tốt nhất để xác định các tệp tin bị tấn công là so sánh trạng thái hiện tại của trang với một bản sao lưu cũ sạch sẽ. Nếu có sẵn một bản sao lưu, bạn có thể sử dụng nó để so sánh hai phiên bản và xác định những gì đã được sửa đổi.
Lưu ý: Những bước này yêu cầu máy chủ web và truy cập vào cơ sở dữ liệu. Nếu bạn không quen thuộc với các thao tác trên bảng cơ sở dữ liệu hoặc chỉnh sửa PHP, vui lòng tìm sự trợ giúp từ một người xử lý sự cố chuyên nghiệp, những người có thể gỡ bỏ hoàn toàn phần mềm độc hại khỏi Joomla.

2.1- Làm sạch các tệp đã bị hack

Nếu bất kỳ lượt quét hoặc chẩn đoán nào tiết lộ các tên miền hoặc payload nguy hiểm, bạn có thể bắt đầu tìm kiếm những tệp này trên máy chủ web của Joomla. Bằng cách so sánh các tệp tin bị nhiễm với các tệp tin đã biết (từ các nguồn chính thức hoặc sao lưu an toàn đáng tin cậy), bạn có thể xác định và xóa các thay đổi độc hại. Để tự loại bỏ một phần mềm độc hại lây nhiễm từ các tập tin trên trang web Joomla của bạn, hãy:
  1. Đăng nhập vào máy chủ của bạn thông qua SFTP hoặc SSH.
  2. Tạo bản sao lưu của các tệp trang web trước khi thực hiện thay đổi.
  3. Tìm kiếm tệp của bạn để tham khảo các tên miền hoặc payload độc hại.
  4. Xác định các tệp đã thay đổi gần đây và xác nhận liệu chúng có an toàn hay không.
  5. Xem lại các tệp được đánh dấu bởi lệnh diff trong quá trình kiểm tra tính an toàn của tệp tin cốt lõi.
  6. Khôi phục hoặc so sánh các tệp tin đáng ngờ với bản sao lưu hoặc nguồn chính thức.
  7. Xóa bất kỳ mã đáng ngờ hoặc không quen thuộc khỏi tệp tùy chỉnh của bạn.
  8. Kiểm tra để xác minh trang web vẫn hoạt động sau khi thay đổi.
Nếu bạn không thể tìm thấy nội dung độc hại, hãy thử tìm kiếm tên nội dung, payload và miền độc hại mà bạn tìm thấy trong bước đầu tiên trên web. Công cụ khác để so sánh các tệp tin đáng ngờ với các bản sao chính thức: Lưu ý:
  • Điều quan trọng là bạn nên so sánh cùng một phiên bản của tập tin cốt lõi với phần mở rộng. Các tệp tin chính trên các phiên bản 2.x không giống với phiên bản 3.x và tương tự.
  • Không bao giờ thực hiện bất kỳ hành động nào mà không có bản sao lưu. Nếu bạn không chắc chắn, hãy tìm sự trợ giúp từ một chuyên gia.

2.2- Làm sạch cơ sở dữ liệu đã bị hack

Để loại bỏ sự lây nhiễm phần mềm độc hại khỏi cơ sở dữ liệu Joomla, bạn cần một bảng quản trị cơ sở dữ liệu, chẳng hạn như PHPMyAdmin. Bạn cũng có thể sử dụng các công cụ như Search-Replace-DB hoặc Adminer. Để tự loại bỏ một phần mềm độc hại lây nhiễm ra khỏi bảng cơ sở dữ liệu của Joomla:
  1. Đăng nhập vào bảng quản trị cơ sở dữ liệu.
  2. Thực hiện sao lưu cơ sở dữ liệu trước khi thực hiện thay đổi.
  3. Tìm kiếm nội dung đáng ngờ (ví dụ như các từ khoá, liên kết spam).
  4. Mở bảng chứa nội dung đáng ngờ.
  5. Loại bỏ bất kỳ nội dung đáng ngờ nào theo cách thủ công.
  6. Kiểm tra để xác minh trang web vẫn hoạt động sau khi thay đổi.
Bạn có thể tự tìm kiếm cơ sở dữ liệu độc hại của Joomla cho các hàm PHP, chẳng hạn như eval, base64_decode, gzinflate, preg_replace, str_replace… Lưu ý rằng các function này cũng được sử dụng chính thức bởi các Extention trong Joomla, vì vậy hãy đảm bảo bạn đã kiểm tra các thay đổi hoặc nhận trợ giúp để không vô tình làm hỏng trang web của mình. Lưu ý: Tự xóa mã độc khỏi các tệp tin trong trang web có thể cực kỳ nguy hiểm. Không bao giờ thực hiện bất kỳ hành động nào mà không có bản sao lưu. Nếu bạn không chắc chắn, hãy tìm sự trợ giúp từ một chuyên gia.

2.3- Bảo mật tài khoản

Các hacker luôn tìm cách để trở lại trang web của bạn qua backdoor và lỗ hổng. Dưới đây là các backdoor khác nhau đã được tìm thấy trong các website Joomla bị hack. Backdoors thường được nhúng trong các tệp tin được đặt tên giống như các tệp tin hợp pháp trong Joomla, nhưng chúng lại nằm trong thư mục không đúng. Những kẻ tấn công cũng có thể chèn các backdoor vào các tệp tin như index.php và các thư mục như /components, /modules, and /templates. Backdoor thường bao gồm đoạn mã PHP sau:
  • base64
  • str_rot13
  • gzuncompress
  • gzinflate
  • eval
  • exec
  • create_function
  • location.href
  • curl_exec
  • stream
  • system
  • assert
  • stripslashes
  • preg_replace (với / e /)
  • move_uploaded_file
  • strrev
  • file_get_contents
  • encodeuri
  • wget
Để loại bỏ backdoor bằng cách so sánh các tệp:
  1. Xác nhận trang Joomla bằng cách nhấn vào menu System và mở System Information
  2. Tải xuống cùng một phiên bản chính thức của Joomla.
  3. Đăng nhập vào máy chủ của bạn thông qua SFTP hoặc SSH.
  4. Tạo bản sao lưu của các tệp trang web trước khi thực hiện thay đổi.
  5. Trong trình ứng dụng FTP, hãy so sánh trang của bạn với trang tải xuống.
  6. Kiểm tra bất kỳ tệp mới nào trên máy chủ của bạn không khớp với các tệp tin mẫu trong bản Joomla bạn đã tải về.
  7. Kiểm tra bất kỳ tệp nào không cùng kích thước với tệp tin mẫu.
Phần lớn các mã độc hại mà chúng ta thấy sử dụng một số dạng mã hóa để ngăn ngừa phát hiện. Điều quan trọng là tất cả các backdoor đều đóng để làm sạch thành công, nếu không, trang web của bạn sẽ bị tái nhiễm một cách nhanh chóng. Thay vì phải tìm kiếm thủ công bạn có thể sử dụng công cụ CyStack Platform để tự động xác định các phần mềm độc hại này, đăng ký tại: https://app.cystack.net/.

2.4- Thay đổi các cảnh báo

Nếu bạn bị Google block, McAfee, Yandex (hoặc bất kỳ nhà cung cấp webspam nào khác), bạn có thể yêu cầu xem xét lại sau khi sự cố được khắc phục. Google đang hạn chế xem xét những trang web yêu cầu lặp lại trong vòng 30 ngày. Hãy đảm bảo trang web của bạn sạch sẽ trước khi yêu cầu xem xét lại.  Để loại bỏ các cảnh báo phần mềm độc hại trên trang web của bạn:
  1. Gọi cho công ty dịch vụ hosting của bạn và yêu cầu họ gỡ bỏ lệnh t
    • Bạn có thể cần phải cung cấp chi tiết về cách bạn xóa phần mềm độc hại.
  2. Điền vào mẫu yêu cầu xem xét cho các cơ quan có thẩm quyền đăng ký.
    • I E. Google Search Console, McAfee SiteAdvisor, Yandex Webmaster.
    • Quá trình xem xét có thể mất vài ngày.

Bước 3: Tái bảo mật cho Joomla

Trong bước cuối cùng này, bạn sẽ học cách khắc phục các lỗi đầu tiên khi website Joomla bị hack, đồng thời thực hiện các bước thiết yếu để nâng cao tính bảo mật cho trang web này.

3.1 – Cập nhật và đặt lại mật khẩu

Phần mềm cũ là một trong những nguyên nhân hàng đầu tăng nguy cơ lây nhiễm và quan trọng hơn hãy xoá tất cả các phần mở rộng dễ bị tổn thương. Mật khẩu cũng phải được đặt lại để đảm bảo bạn không bị tấn công lại nếu tin tặc truy cập vào các thông tin tài khoản.
Cập nhật Joomla: Core và phần mở rộng
Cập nhật tất cả phần mềm bao gồm Joomla Core và các Extension, các template, các mô-đun và các plugin. Để kiểm tra và cập nhật phần mở rộng:
  1. Đảm bảo bạn có một bản sao lưu gần đây của trang web.
  2. Đăng nhập vào Joomla! khu vực quản trị viên.
  3. Nhấp vào Tiện ích mở rộng và chọn Quản lý.
  4. Trên thanh bên, hãy nhấp vào Cập nhật .
  5. Xem lại các cập nhật khả dụng và áp dụng chúng.
  6. Loại bỏ bất kỳ phần mở rộng nào chứa các lỗ hổng đã biết.
Joomla! 3.x là phiên bản ổn định nhất vì chúng vẫn đang phát triển tích cực. Người dùng trên các chi nhánh 1.x và 2.x nên cân nhắc chuyển đến 3.x và cập nhật các tệp cốt lõi. Nếu bạn đang tự cập nhật các tệp, bạn có thể xóa các thư mục: quản trị viên, thành phần…, sau đó tự xây dựng lại các thư mục gốc và các thành phần chính. Để kiểm tra và cập nhật tệp tin lõi của Joomla:
  1. Đảm bảo bạn có một bản sao lưu gần đây của trang web của bạn.
  2. Đăng nhập vào Joomla khu vực quản trị viên.
  3. Nhấp vào Hệ thống và chọn Cập nhật.
  4. Nhấp vào nút Kiểm tra cập nhật.
  5. Xem lại các bản cập nhật sẵn có cho phiên bản Joomla.
  6. Nhấp vào nút Reinstall các tập tin lõi của Joomla.
Người dùng phiên bản 1.x được khuyến khích nâng cấp lên 3.x bằng cách làm theo hướng dẫn di chuyển tài liệu Joomla. Lưu ý: Hãy cẩn thận để không ghi đè tập tin configuration.php vì nó sẽ làm hỏng trang web của bạn! Đặt lại Backups Hãy đặt lại tất cả mật khẩu người dùng khó đoán nhất để tránh bị tái nhiễm. Để đặt lại mật khẩu cho Joomla:
  1. Đăng nhập vào Joomla.
  2. Nhấp vào Người dùng.
  3. Mở tài khoản người dùng.
  4. Thay đổi mật khẩu của người dùng.
  5. Lặp lại cho mỗi người dùng trên trang web của bạn.
Bạn nên giảm số lượng quản trị viên và tài khoản quản trị viên cấp cao cho Joomla và tất cả các hệ thống trang web của bạn. Chỉ cung cấp cho mọi người quyền truy cập mà họ cần để thực hiện công việc. Mở Joomla đi kèm với xác thực hai yếu tố được tích hợp trong các tài khoản người dùng. Để kích hoạt tính năng 2FA trên tài khoản người dùng Joomla:
  1. Đăng nhập vào Joomla!.
  2. Nhấp vào mục Người dùng.
  3. Mở tài khoản người dùng của bạn.
  4. Nhấp vào tab Xác thực Hai nhân tố.
  5. Thực hiện theo các bước để cho phép 2FA.
  6. Yêu cầu mỗi người dùng lặp lại quá trình này.
Lưu ý: Tất cả tài khoản phải sử dụng mật khẩu mạnh. Một mật khẩu tốt được xây dựng dựa trên ba thành yếu tố – phức tạp, chiều dài, và độc đáo. Một số người cho rằng quá khó nhớ nhiều mật khẩu, điều này đúng. Đó là lý do tại sao các nhà quản lý mật khẩu đã được tạo ra!

3.2 – Thiết lập sao lưu

Sao lưu có chức năng như một mạng lưới an toàn. Dưới đây là một số mẹo giúp bạn sao lưu trang web:
  • Vị trí
Lưu trữ Joomla sao lưu ở vị trí ngoài trang web. Không bao giờ lưu trữ sao lưu (hoặc phiên bản cũ) trên máy chủ của bạn; chúng có thể bị tấn công và sử dụng cho mục đích xấu.  
  • Tự động
Lý tưởng cho giải pháp sao lưu dự phòng của bạn là chạy tự động với tần suất phù hợp với nhu cầu của trang web của bạn.
  • Yêu cầu
Chứng chỉ EV đòi hỏi nhiều tài liệu hơn nữa để Cơ quan Chứng chỉ xác nhận tổ chức. Khách truy cập sẽ thấy tên của doanh nghiệp bên trong thanh địa chỉ (ngoài việc nhấp vào biểu tượng khóa).
  • Thử nghiệm
Thử quá trình khôi phục để xác nhận chính xác trang web của bạn.
  • Loại tập tin
Một số giải pháp sao lưu loại trừ các loại tệp nhất định như video và tệp nén.

3.3 – Quét máy tính của bạn

Tất cả người dùng Joomla cùng chạy một chương trình chống virus có uy tín trên hệ điều hành của họ. Joomla có thể bị tổn hại khi người dùng có máy tính bị nhiễm truy cập vào bảng điều khiển. Một số lây nhiễm được thiết kế để chuyển từ máy tính sang trình soạn thảo văn bản hoặc các máy khách FTP. Dưới đây là một số chương trình chống vi-rút chúng tôi khuyên bạn nên sử dụng:
  • Phải trả tiền
BitDefender, Kaspersky, Sophos, F-Secure.
  • Miễn phí
Malwarebytes , Avast , Microsoft Security Essentials , Avira . Lưu ý:
  • Bạn chỉ nên có một chương trình chống vi-rút bảo vệ hệ thống của bạn để tránh xung đột.
  • Nếu bạn sử dụng Joomla và máy tính bảng của người dùng không sạch, trang web của bạn có thể bị nhiễm virut dễ dàng.

3.4 – Bảo vệ trang web của bạn: Tường lửa của trang web

Số lỗ hổng được khai thác bởi kẻ tấn công tăng lên mỗi ngày. Cố gắng theo kịp là thách thức đối với các quản trị viên. Tường lửa trang web đã được phát minh để cung cấp một hệ thống bảo vệ xung quanh trang web của bạn. Lợi ích của việc sử dụng tường lửa trang web:         1. Ngăn chặn tấn công trong tương lai Bằng cách phát hiện và ngăn chặn các phương pháp và hành vi tấn công đã biết, tường lửa trang web giữ trang web của bạn được bảo vệ chống lại lây nhiễm ngay từ ban đầu.         2. Cập nhật bảo mật ảo Tin tặc nhanh chóng khai thác các lỗ hổng trong các plugin và những người không rõ nguồn gốc (gọi là zero-d ays). Một tường lửa trang web tốt sẽ vá lỗ hổng của bạn trong phần mềm ngay cả khi bạn không áp dụng các bản cập nhật bảo mật.         3. Chặn tấn công Brute Force Một tường lửa trang web sẽ ngăn không cho bất cứ ai truy cập trang wp-admin hoặc wp-login của bạn nếu họ không có nghĩa vụ, đảm bảo rằng họ không thể sử dụng tự động brute force để đoán mật khẩu của bạn.         4. Giảm tấn công DDoS Các cuộc tấn công từ chối dịch vụ phân tán máy chủ hoặc tài nguyên ứng dụng của bạn. Bằng cách phát hiện và ngăn chặn tất cả các loại tấn công DDoS, một bức tường lửa trang web đảm bảo rằng trang web của bạn được bảo vệ nếu bạn đang bị tấn công bởi các chuyến thăm giả mạo.         5. Tối ưu hóa hiệu suất Hầu hết các WAF sẽ cung cấp bộ nhớ cache cho tốc độ toàn cầu nhanh hơn. Điều này giúp khách truy cập của bạn vui vẻ và giúp cải thiện sự tương tác, tăng hiệu suất trang web và thứ hạng của công cụ tìm kiếm.

Nhận những bài viết
chất lượng do chúng tôi chọn lọc








Email