Hướng dẫn này được tạo riêng cho một loại hình tấn công thêm các trang vô nghĩa chứa nhiều từ khoá vào trang web của bạn. Chúng tôi gọi đây là hình thức tấn công bằng từ khoá và đường liên kết được che giấu. Hướng dẫn này dành cho người dùng các Hệ thống quản lý nội dung (CMS) phổ biến, nhưng bạn sẽ thấy hướng dẫn này hữu ích ngay cả khi không sử dụng CMS.
Chúng tôi muốn đảm bảo rằng hướng dẫn này thực sự hữu ích cho bạn. Để lại ý kiến phản hồi để giúp chúng tôi cải thiện!
Xác định loại hình tấn công này
Cuộc tấn công bằng đường liên kết và từ khoá bị che giấu tự động tạo nhiều trang chứa văn bản, đường liên kết và hình ảnh vô nghĩa. Các trang này đôi khi chứa các thành phần mẫu cơ bản của trang web ban đầu, vì thế khi nhìn qua thì có thể trang trông giống như các phần bình thường của trang web của bạn cho đến khi bạn đọc nội dung.
Các trang bị xâm nhập được tạo ra để thao túng các yếu tố xếp hạng của Google. Tin tặc thường tìm cách kiếm tiền từ việc này bằng cách bán các đường liên kết trên các trang bị xâm nhập cho nhiều bên thứ ba. Thông thường, các trang bị tấn công cũng sẽ chuyển hướng khách truy cập đến một trang không liên quan để tin tặc có thể kiếm tiền.
Hãy bắt đầu bằng cách kiểm tra công cụ Vấn đề bảo mật trong Search Console để xem Google có phát hiện thấy trang nào bị xâm nhập trên trang web của bạn hay không. Đôi khi, bạn cũng có thể phát hiện các trang như thế này bằng cách mở cửa sổ Google Tìm kiếm rồi nhập site:_your site url_
, với URL cấp gốc của trang web. Thao tác này sẽ cho bạn biết những trang mà Google đã lập chỉ mục cho trang web của bạn, bao gồm cả các trang bị tấn công. Xem qua một vài trang kết quả tìm kiếm để xem bạn có phát hiện thấy URL bất thường nào không. Nếu bạn không thấy nội dung bị xâm nhập nào trong Google Tìm kiếm, hãy sử dụng cùng cụm từ tìm kiếm trên một công cụ tìm kiếm khác. Sau đây là một ví dụ về cách thực hiện:
Thông thường, khi nhấp vào một đường liên kết đến một trang bị xâm nhập, bạn sẽ được chuyển hướng đến một trang web khác hoặc thấy một trang chứa đầy nội dung vô nghĩa. Tuy nhiên, bạn cũng có thể thấy thông báo cho biết trang không tồn tại (ví dụ: lỗi 404). Đừng để bị lừa! Tin tặc sẽ cố gắng lừa bạn nghĩ rằng trang đã bị xoá hoặc đã được khắc phục khi trang vẫn bị xâm nhập. Chúng thực hiện việc này bằng cách che giấu nội dung. Kiểm tra xem có hành vi ẩn trang hay không bằng cách nhập URL của trang web vào Công cụ kiểm tra URL. Công cụ Tìm nạp như Google cho phép bạn xem nội dung cơ bản bị ẩn.
Nếu bạn thấy những vấn đề này, thì rất có thể trang web của bạn đã bị ảnh hưởng bởi loại hình tấn công này.
Khắc phục hành vi xâm nhập
Trước khi bắt đầu, hãy tạo một bản sao ngoại tuyến của mọi tệp trước khi xoá chúng, phòng trường hợp bạn cần khôi phục các tệp đó sau này. Tốt hơn hết, hãy sao lưu toàn bộ trang web trước khi bắt đầu quy trình dọn dẹp. Bạn có thể thực hiện việc này bằng cách lưu tất cả các tệp trên máy chủ vào một vị trí bên ngoài máy chủ hoặc tìm kiếm các tuỳ chọn sao lưu tốt nhất cho Hệ thống quản lý nội dung (CMS) cụ thể của bạn. Nếu bạn đang sử dụng một CMS, hãy sao lưu cơ sở dữ liệu.
Kiểm tra tệp .htaccess
(3 bước)
Kiểu tấn công bằng đường liên kết và từ khoá bị che giấu sử dụng tệp .htaccess
để tự động tạo các trang bị che giấu trên trang web của bạn. Việc làm quen với kiến thức cơ bản về .htaccess
trên trang web chính thức của Apache có thể giúp bạn hiểu rõ hơn về cách thức cuộc tấn công đang ảnh hưởng đến trang web của bạn, nhưng không bắt buộc.
Bước 1
Tìm tệp .htaccess
trên trang web của bạn. Nếu bạn không biết nơi tìm tệp này và đang sử dụng một CMS như WordPress, Joomla hoặc Drupal, hãy tìm "vị trí tệp .htaccess" trong một công cụ tìm kiếm cùng với tên CMS của bạn.
Tuỳ thuộc vào trang web của mình, bạn có thể thấy nhiều tệp .htaccess
.
Tạo danh sách tất cả vị trí tệp .htaccess
.
Bước 2
Mở tệp .htaccess
để xem nội dung trong tệp. Tìm một dòng mã có dạng như sau:
RewriteRule (.*cj2fa.*|^tobeornottobe$) /injected_file.php?q=$1 [L]
Các biến trên dòng này có thể thay đổi. Cả cj2fa
và tobeornottobe
đều có thể là tổ hợp bất kỳ của chữ cái hoặc từ. Điều quan trọng là bạn phải xác định .php
được tham chiếu trong dòng này.
Ghi lại tệp .php
được đề cập trong tệp .htaccess
. Trong ví dụ này, tệp .php
có tên là injected_file.php
, nhưng trong thực tế, tên tệp sẽ không rõ ràng như vậy. Đây thường là một tập hợp ngẫu nhiên các từ vô hại như horsekeys.php
hoặc potatolake.php
. Đây có thể là tệp .php
độc hại mà chúng ta cần theo dõi và xoá sau.
Bước 3
Thay thế tất cả tệp .htaccess
bằng phiên bản sạch hoặc mặc định của tệp .htaccess
. Bạn thường có thể tìm thấy phiên bản mặc định của tệp .htaccess
bằng cách tìm kiếm "tệp .htaccess
mặc định" và tên của CMS. Đối với các trang web có nhiều tệp .htaccess
, hãy tìm phiên bản sạch của từng tệp và thực hiện việc thay thế.
Nếu không có .htaccess
mặc định nào và bạn chưa từng định cấu hình tệp .htaccess
trên trang web của mình, thì tệp .htaccess
mà bạn tìm thấy trên trang web có thể là tệp độc hại.
Lưu một bản sao của(các) tệp .htaccess
khi không có mạng và trên trang web của bạn.
Tìm và xoá các tệp độc hại khác (5 bước)
Việc xác định tệp độc hại có thể phức tạp và tốn thời gian. Hãy dành thời gian khi kiểm tra tệp. Nếu bạn chưa sao lưu, thì đây là thời điểm thích hợp để sao lưu các tệp trên trang web của bạn. Tìm kiếm trên Google theo cụm từ "back up site" ("duy trì sao lưu trang web") và tên của CMS để tìm hướng dẫn về cách sao lưu trang web.
Bước 1
Nếu bạn sử dụng một CMS, hãy cài đặt lại tất cả các tệp cốt lõi (mặc định) có trong bản phân phối mặc định của CMS, cũng như mọi nội dung bạn có thể đã thêm (chẳng hạn như giao diện, mô-đun, trình bổ trợ). Việc này giúp đảm bảo rằng các tệp này không chứa nội dung bị xâm nhập. Bạn có thể tìm kiếm trên Google theo cụm từ "cài đặt lại" và tên CMS của mình để tìm hướng dẫn cài đặt lại. Nếu bạn có bất kỳ trình bổ trợ, mô-đun, tiện ích hoặc giao diện nào, hãy nhớ cài đặt lại các trình bổ trợ, mô-đun, tiện ích hoặc giao diện đó.
Bước 2
Bắt đầu bằng cách tìm tệp .php
mà bạn đã xác định trong tệp .htaccess
trước đó. Tuỳ thuộc vào cách bạn truy cập vào các tệp trên máy chủ, bạn sẽ có một số loại chức năng tìm kiếm. Tìm tên tệp độc hại. Nếu bạn tìm thấy tệp đó, trước tiên, hãy tạo một bản sao lưu và lưu trữ tệp đó ở một vị trí khác để phòng trường hợp bạn cần khôi phục tệp đó, sau đó xoá tệp đó khỏi trang web.
Bước 3
Tìm mọi tệp độc hại hoặc bị xâm phạm còn lại. Có thể bạn đã xoá tất cả tệp độc hại trong hai bước trước, nhưng tốt nhất bạn nên thực hiện một vài bước tiếp theo này phòng trường hợp có thêm tệp bị xâm phạm trên trang web của bạn.
Đừng quá lo lắng khi nghĩ rằng bạn cần mở và xem qua mọi tệp PHP. Bắt đầu bằng cách tạo danh sách các tệp PHP đáng ngờ mà bạn muốn điều tra. Sau đây là một số cách để xác định tệp PHP nào đáng ngờ:
- Nếu bạn đã tải lại các tệp CMS, hãy chỉ xem các tệp không thuộc các tệp hoặc thư mục CMS mặc định. Thao tác này sẽ loại trừ nhiều tệp PHP và chỉ để lại một số tệp để bạn xem xét.
- Sắp xếp các tệp trên trang web của bạn theo ngày sửa đổi lần cuối. Tìm các tệp đã được sửa đổi trong vòng vài tháng kể từ lần đầu tiên bạn phát hiện trang web của mình bị tấn công.
- Sắp xếp các tệp trên trang web của bạn theo kích thước. Tìm bất kỳ tệp nào có kích thước lớn bất thường.
Bước 4
Sau khi bạn có danh sách các tệp PHP đáng ngờ, hãy kiểm tra xem các tệp đó có độc hại hay không. Nếu bạn không quen thuộc với PHP, quy trình này có thể mất nhiều thời gian hơn, vì vậy, hãy cân nhắc việc ôn lại một số tài liệu về PHP. Nếu bạn hoàn toàn mới với việc lập trình, bạn nên yêu cầu trợ giúp. Trong thời gian chờ đợi, bạn có thể tìm một số mẫu cơ bản để xác định tệp độc hại.
Nếu bạn sử dụng một CMS và không có thói quen chỉnh sửa trực tiếp các tệp đó, hãy so sánh các tệp trên máy chủ của bạn với danh sách các tệp mặc định được đóng gói cùng với CMS và mọi trình bổ trợ cũng như giao diện. Tìm các tệp không thuộc về thư mục cũng như các tệp lớn hơn phiên bản mặc định.
Trước tiên, hãy quét qua các tệp đáng ngờ mà bạn đã xác định để tìm các khối văn bản lớn có tổ hợp chữ cái và số dường như bị xáo trộn. Khối văn bản lớn thường đứng trước một tổ hợp các hàm PHP như base64_decode
, rot13
, eval
, strrev
hoặc gzinflate
.
Sau đây là ví dụ về khối mã đó. Đôi khi, tất cả mã này sẽ được nhét vào một dòng văn bản dài, khiến mã trông nhỏ hơn thực tế.
// Hackers try to confuse webmasters by encoding malicious code into
// blocks of text. Be wary of unfamiliar code blocks like this.
base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));
Đôi khi, mã không bị xáo trộn và chỉ trông giống như tập lệnh thông thường. Nếu bạn không chắc chắn liệu mã có bị lỗi hay không, hãy ghé thăm Diễn đàn trợ giúp dành cho quản trị viên trang web của chúng tôi. Tại đây, một nhóm quản trị viên trang web giàu kinh nghiệm có thể giúp bạn xem xét các tệp.
Bước 5
Giờ đây, bạn đã biết những tệp nào đáng ngờ, hãy tạo một bản sao lưu hoặc bản sao cục bộ bằng cách lưu các tệp đó trên máy tính, phòng trường hợp có tệp nào đó không độc hại, đồng thời xoá các tệp đáng ngờ khỏi trang web của bạn.
Kiểm tra xem trang web của bạn có sạch sẽ hay không
Sau khi loại bỏ các tệp bị xâm nhập, hãy kiểm tra xem công sức của bạn có được đền đáp hay không. Bạn còn nhớ những trang vô nghĩa mà bạn đã xác định trước đó không? Hãy sử dụng lại công cụ Tìm nạp như Google trên các trang đó để xem các trang đó có còn tồn tại hay không. Nếu kết quả trả về là "Không tìm thấy" trong tính năng Tìm nạp dưới dạng Google, thì có thể trang web của bạn đã ở trạng thái khá tốt và bạn có thể chuyển sang khắc phục các lỗ hổng trên trang web.
Làm cách nào để tôi ngăn chặn việc bị tấn công lại?
Việc khắc phục lỗ hổng trên trang web là bước cuối cùng và quan trọng nhất để khắc phục trang web. Một nghiên cứu gần đây cho thấy 20% số trang web bị tấn công sẽ bị tấn công lại trong vòng một ngày. Việc biết chính xác cách thức trang web của bạn bị tấn công rất hữu ích. Hãy đọc hướng dẫn của chúng tôi về các cách phổ biến nhất khiến trang web bị tấn công để bắt đầu điều tra. Tuy nhiên, nếu bạn không thể tìm ra cách trang web của mình bị tấn công, thì sau đây là danh sách kiểm tra những việc bạn có thể làm để giảm thiểu lỗ hổng trên trang web:
- Thường xuyên quét máy tính: Sử dụng bất kỳ trình quét vi-rút phổ biến nào để kiểm tra vi-rút hoặc lỗ hổng.
- Thường xuyên thay đổi mật khẩu: Việc thường xuyên thay đổi mật khẩu cho tất cả tài khoản trang web của bạn (như nhà cung cấp dịch vụ lưu trữ, FTP và CMS) có thể ngăn chặn hành vi truy cập trái phép vào trang web của bạn. Điều quan trọng là bạn phải tạo mật khẩu mạnh và khác biệt cho từng tài khoản.
- Sử dụng tính năng Xác thực hai yếu tố (2FA): Hãy cân nhắc bật tính năng 2FA trên mọi dịch vụ yêu cầu bạn đăng nhập. Tính năng xác thực hai yếu tố khiến tin tặc khó đăng nhập hơn ngay cả khi chúng đánh cắp thành công mật khẩu của bạn.
- Thường xuyên cập nhật CMS, trình bổ trợ, tiện ích và mô-đun: Hy vọng bạn đã thực hiện bước này. Nhiều trang web bị tấn công vì đang chạy phần mềm lỗi thời. Một số CMS hỗ trợ tự động cập nhật.
- Cân nhắc đăng ký một dịch vụ bảo mật để theo dõi trang web của bạn: Có rất nhiều dịch vụ tuyệt vời có thể giúp bạn theo dõi trang web của mình với một khoản phí nhỏ. Hãy cân nhắc việc đăng ký với họ để giữ cho trang web của bạn an toàn.
Tài nguyên khác
Nếu bạn vẫn gặp sự cố khi khắc phục trang web, thì có một số tài nguyên khác có thể giúp bạn.
Những công cụ này quét trang web của bạn và có thể tìm thấy nội dung có vấn đề. Ngoài VirusTotal, Google không chạy hoặc hỗ trợ các công cụ này.
Đây chỉ là một số công cụ có thể quét trang web của bạn để tìm nội dung có vấn đề. Xin lưu ý rằng các trình quét này không thể đảm bảo rằng chúng sẽ xác định được mọi loại nội dung có vấn đề.
Dưới đây là các tài nguyên bổ sung từ Google có thể giúp bạn: