Một ngày đẹp trời bạn ghé thăm website của mình và bàng hoàng phát hiện ra website của mình đã bị hack và bạn không biết phải làm như thế nào. Vậy bài viết sau đây sẽ cung cấp cho bạn các phương pháp để bảo vệ website của mình cũng như hướng dẫn cơ bản bạn kiểm tra và xử lí tình trạng website bị hack.
1. Dấu hiệu
Thông thường khi một website của bạn bị hack sẽ có các dấu hiệu dễ nhận biết sau:
– Website bị thay đổi nội dung (deface) hoặc trong mã nguồn bị chèn một số đoạn mã, script lạ do hacker chèn vào. Các đoạn mã này bị chèn vào tùy thuộc vào mục đích của hacker
– Khi truy cập vào website thì thường xuyên bị redirect qua các website độc hại, website quảng cáo
– Website bị upload shell
– Website bị cảnh báo Reported Attack Site bởi Google
Bạn có thể dựa vào các dấu hiệu này xác định được website của mình có bị hack hay không để có biện pháp kiểm tra xử lý kịp thời.
2. Nguyên nhân
Có khá nhiều nguyên nhân để website của bạn có thể trở thành mục tiêu của hacker tuy nhiên thông thường nguyên nhân thường thuộc phía người dùng với các lý do sau:
– Đặt mật khẩu quản trị quá yếu (không có các ký tự viết hoa, không đủ độ dài ký tự, ký tự đặc biệt,… ), thiếu cơ chế chống brute force khiến kẻ tấn công có thể dò được password admin.
– Cài đặt các module, plugin, extension,… trong các mã nguồn mở hiện nay (thường là các website joomla, wordpress,…).
– Để lộ mật khẩu quản trị trong quá trình sử dụng
– Dùng mã nguồn phiên bản cũ với nhiều lỗi bảo mật qua đó hacker tấn công vào một điểm yếu và khai thác lỗi
– Tấn công local attack (các server share hosting của Vinahost dùng hệ điều hành CloudLinux do đó các website của khách hàng sẽ không bị ảnh hưởng bởi tấn công dạng này).
3. Kiểm tra
Một khi website của bạn bị hack, bạn cần bình tĩnh và thực hiện các thao tác sau để kiểm tra và xử lý:
– Cách li website
– Kiểm tra và xác định thiệt hại
– Nhận diện lỗ hổng
– Xử lý và bảo trì website
– Đưa website trở lại hoạt động
Bước 1: Cách li website
– Khi website của bạn bị hack việc đầu tiên là cần cách li ngay website của mình. Kiểm tra các bản backup của website hoặc nhanh chóng báo cho phòng kỹ thuật để phòng kỹ thuật cung cấp lại bản backup cho việc phục hồi và kiểm tra website. Việc này giúp cho website của bạn không bị tiếp tục tấn công bởi hacker hoặc website tiếp tục cung cấp các nội dung bị sửa đổi cho người dùng. Để thực hiện bạn có thể thay thế trang chủ bởi nội dung “Website đang được bảo trì!”
– Tiếp đến bạn cần kiểm tra các tài khoản trên website, kiểm tra có tài khoản nào hacker mới tạo ra và xóa đi. Tránh hacker có thể login vào với thông tin đăng nhập cũ. Bạn cần đổi tất cả các thông tin tài khoản bao gồm: tài khoản website, database, tài khoản quản lý hosting, FTP. Sau khi thực hiện tất cả các thao tác trên bạn đã hoàn tất việc cách li website của mình để tiến hành kiểm tra.
Bước 2: Kiểm tra và xác định thiệt hại
– Bước tiếp theo là kiểm tra mức độ thiệt hại của website sau khi bị tấn công. Thông thường với dạng tấn công deface hacker chỉ thay thế trang chủ website của bạn và thông báo cho bạn website đã bị hack. Trường hợp này ta chỉ cần xóa file “index” của hacker và thay thế lại bằng file “index” gốc của website là website đã có thể hoạt động bình thường.
– Tuy nhiên, với một số trường hợp tinh vi hơn, hacker chèn vào trong mã nguồn của bạn các đoạn mã hay script việc phát hiện sẽ khó khăn hơn. Ngoài ra hacker cũng có thể upload shell lên website của bạn để chiếm quyền điều khiển sau này. Với những trường hợp này bạn cần download toàn bộ mã nguồn website về máy tính local và thực hiện rà soát mã nguồn. Nếu kiểm tra trong mã nguồn có các đoạn mã nào lạ bị chèn vào hay file nào lạ được upload lên bạn cần thực hiện xóa ngay.
– Nếu bạn có một bản backup website sạch việc kiểm tra sẽ dễ dàng hơn, bạn có thể thực hiện các lệnh sau để kiểm tra các file bị sửa đổi trên website:
# diff -qr <current-directory> <backup-directory>
Ví dụ:
# diff -qr www/ backups/full-backup-20140724/
Hoặc lệnh sau:
# md5sum <current-page> <backup-page>
Ví dụ:
# md5sum www/page.html backups/full-backup-20140724/page.html
– Dựa vào các thông tin trên bạn sẽ dễ dàng thấy các file nào bị sửa đổi hay mới được tạo ra và thực hiện thêm một số kiểm tra trên các file này (Lưu ý các lệnh diff và md5sum chỉ thực hiện trên hệ điều hành Linux, bạn có thể tìm và sử dụng một số tool tương tự trên Window).
– Nếu website của bạn có chứa database việc kiểm tra cụ thể các dữ liệu trên database là cần thiết. Bạn có thể dễ dàng thực hiện công việc này thông qua công cụ phpMyAdmin.
Bước 3: Nhận diện lỗ hổng
Đây là bước khó nhất, nó đòi hỏi kinh nghiệm và kiến thức để có thể kiểm tra chính xác nguyên nhân và cách khắc phục. Bài viết này chỉ cung cấp cho bạn một số bước cơ bản để kiểm tra và xác định nguyên nhân:
– Đầu tiên bạn kiểm tra trong access log hay error log tìm kiếm tất cả các thông tin liên quan đến việc website bị tấn công: ví dụ như website bị tấn công dò mật khẩu, có một số login không hợp lệ từ IP lạ, một số file lạ được upload bằng FTP. Dựa vào các thông tin trên bạn có thể kết luận rằng bạn bị lộ mật khẩu hay hacker tấn công bằng cách khai thác các lỗ hổng bảo mật khác.
– Kiểm tra xem mã nguồn đang dùng có đang tồn tại lỗ hỗng bảo mật, các module, plugin được cài lên website có an toàn. Nếu một số lỗi trên có thể bị khai thác thì tìm hiểu cách khai thác và so sánh với access log để đưa ra kết luận.
– Kiểm tra một số đoạn access log lạ từ đó tìm ra cách khai thai lỗ hổng của hacker. Ví dụ thông thường để upload một file lên website thì phải dùng phương thức POST, bạn có thể dựa vào thông tin này để rút ngắn lại phạm vi tìm kiếm nhằm xác định chính xác cách thức khai thác.
– Dùng một số phần mềm kiểm tra bảo mật để quét các lỗi bảo mật trên website. Có thể kể đến Acunetix, Nikto, OpenVAS.
Bước 4: Xử lý và bảo trì website
– Khi xác định được chính xác nguyên nhân bạn cần có phương án xử lý ngay lập tức. Nếu xác định nguyên nhân do lộ mật khẩu quản trị bạn cần đổi mật khẩu phức tạp và tránh để lộ mật khẩu trong quá trình sử dụng.
– Nếu lỗi do mã nguồn bạn cần update mã nguồn lên phiên bản mới nhất để fix các lỗi bảo mật. Ngoài ra bạn cần tránh dùng các module hay plugin không rõ nguồn gốc cho website. Nếu Module hay plugin có thể bị khai thác bạn cần xóa ngay plugin này khỏi website. Kiểm tra lần cuối để chắc chắn website của bạn đã an toàn và tạo một bản backup để sử dụng khi cần thiết.
Bước 5: Đưa website trở lại hoạt động
– Ngay sau khi đưa website vào hoạt động lại bạn cần thường xuyên kiểm tra để xác định website của mình được an toàn và không tiếp tục bị tấn công.
4. Kết luận
– Mỗi website có thể có những vấn đề và điểm yếu riêng. Tuy nhiên, yếu điểm quan trọng nhất là yếu tố con người. Bạn phải không ngừng nâng cao, học hỏi thêm kiến thức mới, tăng cường nhận thức về các mối đe dọa và bảo mật nhằm kịp thời nhận ra các lỗ hổng về kỹ thuật, tránh mắc phải các sai lầm trong công tác quản trị website. Chúng tôi khuyến bạn hàng thực hiện các thao tác sau nhằm nâng cao an toàn cho website của mình:
– Thường xuyên kiểm tra dữ liệu website (chú ý thời gian tập tin, thư mục bị thay đổi ).
– Có kế hoạch backup dữ liệu cụ thể để khi cần có thể restore lại ngay.
– Không nên cài đặt các module, plugin, extension,… không rõ nguồn gốc và thật sự cần thiết (nên download module, plugin, extension,…. từ các trang web uy tín). Thường xuyên update mã nguồn lên phiên bản mới nhất để hạn chế các lỗi bảo mật trong các phiên bản trước.
– Nên đổi mật khẩu quản trị theo 1 chu kỳ được định sẵn và lưu giữ cẩn thận.
Chỉ với những thao tác trên thì website của bạn đã an toàn và hạn chế khả năng bị tấn công bởi hacker. Chúc các bạn thành công!
Vui lòng, điền đúng thông tin để chúng tôi gửi lại
kết quả khám bệnh website tổng quát.
Lời khuyên: Đừng quảng cáo khi chưa dùng tool này. HOÀN TOÀN MIỄN PHÍ