Cách ngăn chặn các cuộc tấn công SQL Injection của WordPress (7 mẹo)

Mục lục

Bạn có muốn ngăn chặn các cuộc tấn công SQL injection trên WordPress không?

SQL injection là lỗ hổng bảo mật mà tin tặc có thể sử dụng để tấn công database website của bạn. Khi thực hiện được điều đó, kẻ tấn công có thể đọc dữ liệu nhạy cảm của bạn, sửa đổi dữ liệu đó và kiểm soát toàn bộ database của bạn.

Trong bài viết này, MuaHosting.com sẽ chia sẻ một số mẹo hữu ích để ngăn chặn các cuộc tấn công SQL injection trong WordPress theo từng bước.

Ngăn chặn các cuộc tấn công SQL Injection của WordPress

Tại sao phải ngăn chặn các cuộc tấn công SQL Injection vào WordPress?

SQL là viết tắt của Structured Query Language, là ngôn ngữ lập trình giao tiếp với database của website WordPress của bạn. Nếu không có tính năng này, website của bạn không thể tạo bất kỳ content động nào.

Tuy nhiên, việc người dùng nhập dữ liệu trái phép, phần mềm lỗi thời hoặc tiết lộ thông tin nhạy cảm có thể gây ra lỗ hổng bảo mật và giúp tin tặc dễ dàng thực hiện các cuộc tấn công tiêm SQL.

Cuộc tấn công này nhắm vào server database của bạn và thêm code độc hại hoặc các câu lệnh vào SQL của bạn. Khi thực hiện điều đó, tin tặc có thể sử dụng thông tin nhạy cảm được lưu trữ trong database của bạn như dữ liệu người dùng để đánh cắp danh tính, chiếm đoạt tài khoản, gian lận tài chính, v.v.

Họ cũng có thể thay đổi mục nhập database hoặc quyền tài khoản và thực hiện các cuộc tấn công DDOS, khiến người dùng thực tế khó có thể truy cập vào website của bạn.

Điều này có thể làm tổn hại đến lòng tin của khách hàng, tác động tiêu cực đến trải nghiệm của người dùng và làm giảm traffic website, điều này sẽ không tốt cho sự phát triển của doanh nghiệp nhỏ của bạn.

Sau khi đã nói như vậy, chúng ta hãy cùng xem xét một số mẹo thực tế có thể ngăn chặn các cuộc tấn công tiêm SQL trong WordPress.

Ghi chú: Trước khi thực hiện bất kỳ thay đổi nào đối với database của bạn để có biện pháp phòng ngừa, MuaHosting.com khuyên bạn nên tạo bản backup cho database đó. Theo cách này, nếu có bất kỳ sự cố nào xảy ra, bạn có thể sử dụng bản backup để khắc phục. Để biết chi tiết, hãy xem hướng dẫn của MuaHosting.com về cách tạo bản backup database WordPress theo cách thủ công.

1. Thực hiện cập nhật website thường xuyên và sử dụng tường lửa

Một cách hiệu quả để ngăn chặn các cuộc tấn công SQL injection là thường xuyên cập nhật trang WordPress của bạn lên phiên bản mới nhất. Các bản cập nhật này thường vá các lỗ hổng bảo mật, bao gồm các sự cố phần mềm database, khiến tin tặc khó có thể tấn công trang của bạn.

Nếu bạn đang sử dụng phiên bản WordPress cũ, MuaHosting.com khuyên bạn nên bật cập nhật tự động cho phiên bản mới nhất bằng cách truy cập Bảng điều khiển » Cập nhật trang.

Tại đây, chỉ cần nhấp vào link ‘Bật cập nhật tự động cho tất cả các phiên bản mới của WordPress’. Bây giờ tất cả các bản cập nhật chính sẽ được cài đặt trên website của bạn khi phát hành.

Cài đặt bản cập nhật WordPress

Để biết thêm thông tin, bạn có thể xem hướng dẫn dành cho người mới bắt đầu về cách cập nhật WordPress an toàn.

Sau khi thực hiện xong, bạn cũng có thể thêm tường lửa để tăng cường bảo mật. Tính năng này hoạt động như một lá chắn giữa website của bạn và traffic đến và chặn các mối đe dọa bảo mật phổ biến, bao gồm cả các cuộc tấn công SQL, trước khi chúng đến website của bạn.

Đối với chức năng này, MuaHosting.com khuyên dùng Sucuri, đây là phần mềm tường lửa WordPress tốt nhất trên thị trường. Nó cung cấp tường lửa cấp ứng dụng, phòng chống tấn công brute force, cũng như dịch vụ xóa phần mềm độc hại và danh sách đen, khiến nó trở thành lựa chọn tuyệt vời.

Tường lửa website chặn các cuộc tấn công như thế nào

Ngoài ra, công cụ này đã giúp MuaHosting.com chặn khoảng 450.000 cuộc tấn công WordPress vào website của MuaHosting.com trong quá khứ.

Để biết thêm chi tiết, hãy xem hướng dẫn bảo mật WordPress đầy đủ của MuaHosting.com.

2. Ẩn phiên bản WordPress của bạn

Theo mặc định, WordPress hiển thị số phiên bản hiện tại của phần mềm bạn sử dụng trên website của mình. Ví dụ, nếu bạn đang sử dụng WordPress 6.4, thì phiên bản này sẽ được hiển thị trên website của bạn để theo dõi.

Tuy nhiên, việc công khai số phiên bản của bạn có thể gây ra các mối đe dọa bảo mật và giúp tin tặc dễ dàng thực hiện các cuộc tấn công SQL Injection vào WordPress hơn.

Xóa số phiên bản WordPress

Điều này là do mỗi phiên bản WordPress đều có lỗ hổng riêng mà kẻ tấn công có thể khai thác sau khi phát hiện ra phiên bản của bạn. Điều này sẽ cho phép chúng thêm đoạn code độc hại vào website của bạn thông qua các trường nhập liệu dễ bị tấn công.

Bạn có thể dễ dàng xóa số phiên bản khỏi website của mình bằng cách thêm đoạn code sau vào file functions.php.

add_filter('the_generator', '__return_empty_string');

Khi bạn thực hiện điều đó, tin tặc sẽ không thể tìm ra số phiên bản WordPress của bạn thông qua máy quét tự động hoặc bất kỳ cách nào khác.

Ghi chú: Hãy nhớ rằng một lỗi nhỏ khi thêm code có thể khiến website của bạn không thể truy cập được. Đó là lý do tại sao MuaHosting.com khuyên bạn nên Mã WP. Đây là plugin đoạn code tốt nhất giúp việc thêm code custom vào website của bạn trở nên cực kỳ an toàn và dễ dàng.

Để biết thêm chi tiết, hãy xem hướng dẫn của MuaHosting.com về cách đúng để xóa số phiên bản WordPress.

3. Thay đổi prefix database WordPress

Theo mặc định, WordPress thêm prefix wp_ vào tất cả các file database của bạn, giúp tin tặc dễ dàng lập plan tấn công bằng cách nhắm vào prefix.

Cách dễ nhất để ngăn chặn các cuộc tấn công SQL injection là thay đổi prefix database mặc định thành một prefix duy nhất mà tin tặc không thể đoán được.

Bạn có thể dễ dàng thực hiện việc này bằng cách kết nối website của bạn bằng FTP. Sau đó, mở file wp-config.php và tìm thay đổi $table_prefix dòng. Sau đó, bạn có thể thay đổi nó từ mặc định đơn giản wp_ thành thứ gì đó khác như thế này: wp_a123456_.

$table_prefix  = 'wp_a123456_';

Tiếp theo, bạn phải truy cập cPanel của tài khoản lưu trữ web của bạn. Đối với hướng dẫn này, MuaHosting.com sẽ sử dụng Bluehost, tuy nhiên, cPanel của bạn có thể trông hơi khác một chút tùy thuộc vào công ty lưu trữ web của bạn.

Tại đây, chuyển sang tab ‘Nâng cao’ và nhấp vào nút ‘Quản lý’ bên cạnh phần ‘PHPMyAdmin’.

Nhấp vào nút Quản lý bên cạnh phần PHPMyAdmin

Thao tác này sẽ mở ra một trang mới, tại đó bạn phải chọn tên database từ cột bên trái và chuyển sang tab ‘SQL’ ở trên cùng.

Sau đó, bạn có thể thêm truy vấn SQL sau vào hộp văn bản.

Truy vấn SQL trong phpMyAdmin

Chỉ cần nhớ thay đổi prefix database thành prefix mà bạn đã chọn khi chỉnh sửa file wp-config.php.

RENAME table `wp_comments` TO `wp_a123456_comments`;
RENAME table `wp_links` TO `wp_a123456_links`;
RENAME table `wp_options` TO `wp_a123456_options`;
RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
RENAME table `wp_RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
posts` TO `wp_a123456_posts`;
RENAME table `wp_terms` TO `wp_a123456_terms`;
RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
RENAME table `wp_users` TO `wp_a123456_users`;

Để biết thêm hướng dẫn, bạn có thể xem hướng dẫn của MuaHosting.com về cách thay đổi prefix database WordPress để cải thiện bảo mật.

4. Xác thực dữ liệu người dùng

Tin tặc thường tấn công SQL vào website của bạn bằng cách sử dụng các trường được dùng để nhập dữ liệu người dùng như phần comment hoặc trường form trong form liên hệ.

Đó là lý do tại sao việc xác thực tất cả dữ liệu được gửi trên blog WordPress của bạn là rất quan trọng. Điều này có nghĩa là dữ liệu người dùng sẽ không được gửi trên website của bạn nếu nó không tuân theo một định dạng cụ thể.

Ví dụ, người dùng sẽ không thể gửi form của họ nếu trường địa chỉ email không có ký hiệu ‘@’. Bằng cách thêm xác thực này vào hầu hết các trường form của bạn, bạn có thể ngăn chặn các cuộc tấn công SQL injection.

Xác thực trường email của bạn

Để thực hiện điều này, bạn sẽ cần Formidable Forms, một plugin xây dựng form nâng cao. Nó đi kèm với option ‘Định dạng mặt nạ nhập’ nơi bạn có thể thêm định dạng mà người dùng phải tuân theo để gửi dữ liệu trường form.

Bạn có thể thêm định dạng cụ thể cho số điện thoại hoặc trường văn bản đơn.

Thêm định dạng số

Nếu bạn không muốn xác thực các trường form của mình, thì MuaHosting.com khuyên bạn nên Biểu mẫu WP vì đây là plugin form liên hệ tốt nhất có tính năng bảo vệ chống thư rác hoàn toàn và hỗ trợ Google reCAPTCHA.

Bạn cũng có thể thêm dropdown menu và hộp kiểm vào form của mình bằng nó. Điều này sẽ khiến tin tặc khó có thể thêm dữ liệu độc hại.

wpforms

Để biết thêm chi tiết, hãy xem hướng dẫn của MuaHosting.com về cách tạo form liên hệ an toàn trong WordPress.

5. Giới hạn quyền truy cập và quyền hạn của người dùng

Một mẹo khác để ngăn chặn các cuộc tấn công SQL injection vào WordPress là hạn chế quyền truy cập của người dùng vào website của bạn.

Ví dụ, nếu bạn có một blog có nhiều tác giả, thì bạn sẽ có nhiều tác giả cùng với người đăng ký và quản trị viên. Trong trường hợp đó, bạn có thể cải thiện bảo mật website bằng cách giới hạn quyền truy cập quản trị đầy đủ chỉ dành cho quản trị viên.

Bạn có thể hạn chế tất cả các vai trò người dùng khác thành các chức năng cụ thể mà họ sẽ yêu cầu để thực hiện công việc của mình. Điều này sẽ giảm quyền truy cập của người dùng vào database của bạn và ngăn chặn các cuộc tấn công SQL injection.

Bạn có thể làm điều này với miễn phí Xóa quyền truy cập dashboard plugin. Sau khi kích hoạt, chỉ cần truy cập Cài đặt » Truy cập dashboard trang nơi bạn có thể quyết định vai trò người dùng nào được phép truy cập vào dashboard.

Giới hạn cài đặt truy cập dashboard

Nếu bạn muốn giới hạn người dùng tùy theo khả năng của họ, bạn có thể xem hướng dẫn của MuaHosting.com về cách thêm hoặc xóa khả năng khỏi vai trò người dùng trong WordPress.

Tương tự như vậy, bạn cũng có thể giới hạn tác giả chỉ được đăng bài viết của riêng họ trong khu vực quản trị của mình để bảo mật hơn.

6. Tạo thông báo lỗi database custom

Đôi khi, người dùng có thể gặp phải lỗi database trên website của bạn, lỗi này có thể hiển thị thông tin quan trọng về database, khiến database dễ bị tấn công bằng SQL injection.

Trong trường hợp đó, MuaHosting.com khuyên bạn nên tạo một thông báo lỗi database custom sẽ được hiển thị cho người dùng khi họ gặp phải lỗi phổ biến này. Để thực hiện việc này, bạn sẽ cần sao chép và dán content sau vào ứng dụng notepad và lưu file dưới dạng ‘db-error.php’.


   



Database Error



  You got problems.

Sau đó, kết nối website của bạn với chương trình FTP và tải file bạn vừa tạo lên folder /wp-content/ của website.

Bây giờ, khi người dùng gặp lỗi database trên website của bạn, họ sẽ chỉ thấy thông báo lỗi cho họ biết về sự cố mà không tiết lộ bất kỳ thông tin nhạy cảm nào.

Trang xem trước lỗi database custom

Ngoài ra, tiêu đề “Lỗi database” sẽ hiển thị trên tab của trình duyệt web.

Để biết thêm chi tiết, hãy xem hướng dẫn của MuaHosting.com về cách thêm trang lỗi database custom vào WordPress.

7. Xóa bỏ chức năng database không cần thiết

Để ngăn chặn các cuộc tấn công SQL injection, bạn cũng nên thử xóa tất cả các chức năng database và các file không cần thiết trên website của mình.

Ví dụ, bạn có thể xóa các bảng không cần thiết, rác hoặc các comment chưa được chấp thuận có thể khiến database của bạn dễ bị tin tặc tấn công.

Để loại bỏ chức năng database không cần thiết, MuaHosting.com khuyên dùng WP-Optimize. Đây là một plugin tuyệt vời giúp loại bỏ các bảng không cần thiết, bản sửa đổi bài đăng, bản nháp, comment bị xóa, bài đăng đã xóa, pingback, siêu dữ liệu bài đăng và nhiều hơn nữa.

Xóa bỏ chức năng database không cần thiết

Nó xóa tất cả các file bạn không cần và tối ưu hóa database của bạn để trở nên an toàn hơn và nhanh hơn. Để biết chi tiết, hãy xem hướng dẫn dành cho người mới bắt đầu về cách tối ưu hóa database WordPress của bạn.

Phần thưởng: Sử dụng Dịch vụ MuaHosting.com Pro để Tạo một Trang web An toàn

Sau khi đã thực hiện mọi biện pháp phòng ngừa tấn công SQL injection, bạn cũng có thể lựa chọn Dịch vụ MuaHosting.com Pro.

Chúng tôi có thể giúp bạn xác định và khắc phục mọi lỗ hổng bảo mật khác mà bạn không biết. Thêm vào đó, nếu bạn đã phải đối mặt với cuộc tấn công SQL injection, thì các chuyên gia của MuaHosting.com có thể giúp bạn hạn chế thiệt hại và khôi phục hệ thống của bạn.

Dịch vụ chuyên nghiệp MuaHosting.com Sửa chữa website bị hack

Bạn cũng có thể thuê MuaHosting.com để cải thiện tốc độ, tối ưu hóa thiết kế, SEO cho website của bạn hoặc thậm chí xây dựng lại hoàn toàn website WordPress hiện tại của bạn, cho dù nó đã bị hack hay chưa.

Để biết thêm thông tin, hãy xem tất cả Dịch vụ chuyên nghiệp MuaHosting.com của MuaHosting.com.

Chúng tôi hy vọng bài viết này giúp bạn biết cách ngăn chặn các cuộc tấn công SQL injection của WordPress. Bạn cũng có thể muốn xem hướng dẫn dành cho người mới bắt đầu về quản lý database WordPress và các lựa chọn hàng đầu của MuaHosting.com về các plugin database WordPress tốt nhất.

Nếu bạn thích bài viết này, vui lòng đăng ký theo dõi MuaHosting.com Kênh Youtube cho các video hướng dẫn về WordPress. Bạn cũng có thể tìm thấy MuaHosting.com trên TwitterFacebook.

5/5 - (98 bình chọn)
Facebook
Twitter
LinkedIn
Telegram
Email
Đội Ngũ Biên Tập