1. Tắt chức năng File Editing mặc định của WordPress
Như các bạn đã biết, WordPress mặc định đã cho phép chúng ta có thể chỉnh sửa file ở trong phần quản trị admin. Mặc dù rất tiện lợi, nhưng nó cũng là con dao 2 lưỡi gây hại nếu hacker đang tìm cách tấn công chúng ta.
Nếu hacker có quyền truy cập vào trong trang quản trị dashboard của bạn, điều đầu tiên hắn nghĩ tới sẽ là File Editors, nhiều người dùng WordPress đã tắt hoàn toàn chức năng này ngay từ khi cài đặt để tăng tính bảo mật WordPress files. Bằng cách là thêm vào trong file cấu hình wp-config.php đoạn code dưới đây:
define( ‘DISALLOW_FILE_EDIT’, true );
2. Xóa bớt Themes và Plugins không dùng tới hoặc đã lỗi thời
Dọn dẹp site WordPress của bạn và xóa những plugins hoặc themes không sử dụng cũng là một cách tốt để bảo mật cho WordPress. Hacker có thể quét những themes và plugins lỗi thời (kể cả plugin chính thức của WordPress) để truy cập vào trang Dashboard và upload phần mềm độc hại lên server của bạn. Bằng cách xóa plugins và themes bạn đã ngừng sử dụng (hoặc quên cập nhật) từ lâu, bạn đã giảm nguy cơ bị tấn công và giúp WordPress Site của bạn trở nên bảo mật hơn.
3. Thay đổi tiền tố (prefix) của database để ngăn chặn SQL injections
Database là nơi chứa và lưu trữ tất cả những thông tin quan trọng, cũng như dữ liệu website của bạn. Vì vậy, nó trở thành một mục tiêu rất hấp dẫn cho hacker và spammer muốn thực thi các mã tự động để thực hiện SQL injection. Khi cài đặt WordPress, hầu hết mọi người không thực hiện đổi prefix mặc định của WordPress là wp_. Khi tiền tố được đặt mặc định là wp_, hacker sẽ chọn giá trị này để tấn công trước. Với các bước dưới đây, bạn sẽ bảo vệ WordPress khỏi các cuộc tấn công như vậy.
Hướng dẫn thực hiện cho website WordPress sẵn có
a, Đổi prefix trong file wp-config.php:
Sử dụng FTP client hoặc truy cập quản trị hosting để sửa file wp-config.php.
Tìm giá trị $table_prefix trong file config và thay đổi nó.
Giá trị mặc định đang là wp_, Mắt Bão sẽ thay thế nó thành: m4tb40w1k1_
Khi đang ở trong file wp-config.php, bạn hãy tìm tên database, để biết bạn cần chỉnh sửa database nào. Tìm mục define( ‘DB_NAME’, ‘YOUR_DATABASE_NAME’ );
b, Cập nhật lại giá trị tiền tố prefix của các bảng ở trong Database:
Bạn hãy truy cập vào trang quản trị phpMyAdmin, chọn đúng database name như đã xem thấy khi vào file wp-config.php ở hình trên.
Chúng ta có thể thao tác nhanh chỉ bằng vài câu lệnh SQL:
Chọn mục SQL như hình, sau đó thực thi các lệnh sau:
RENAME table `wp_commentmeta` TO `m4tb40w1k1_commentmeta`;
RENAME table `wp_comments` TO `m4tb40w1k1_comments`;
RENAME table `wp_links` TO `m4tb40w1k1_links`;
RENAME table `wp_options` TO `m4tb40w1k1_options`;
RENAME table `wp_postmeta` TO `m4tb40w1k1_postmeta`;
RENAME table `wp_posts` TO `m4tb40w1k1_posts`;
RENAME table `wp_terms` TO `m4tb40w1k1_terms`;
RENAME table `wp_termmeta` TO `m4tb40w1k1_termmeta`;
RENAME table `wp_term_relationships` TO `m4tb40w1k1_term_relationships`;
RENAME table `wp_term_taxonomy` TO `m4tb40w1k1_term_taxonomy`;
RENAME table `wp_usermeta` TO `m4tb40w1k1_usermeta`;
RENAME table `wp_users` TO `m4tb40w1k1_users`;
Mặc định WordPress có 12 bảng và tất cả cần được cập nhật lại. Tuy nhiên, một vài WordPress themes hoặc plugins có thể tạo thêm bảng khác trong database. Trong trường hợp bạn có nhiều hơn 12 bảng trong MySQL database, thêm các bảng còn thiếu vào trong danh sách câu lệnh và thực thi nó.
c, Kiểm tra lại 2 bảng options và usermeta:
Tùy thuộc vào số lượng plugins bạn đã cài đặt, nhiều giá trị trong database cần được cập nhật lại thủ công.
Chúng ta chỉ cần cập nhật lại ở 2 bảng đó là options và usermeta, bằng cách sử dụng câu lệnh sau để liệt kê ra tất cả các giá trị tiền tố wp_ cũ.
Với bảng options bạn có thể dùng:
SELECT * FROM `m4tb40w1k1_options` WHERE `option_name` LIKE '%wp_%'
Với bảng usermeta bạn có thể dùng:
SELECT * FROM `m4tb40w1k1_usermeta` WHERE `meta_key` LIKE '%wp_%'
Sau khi đã liệt kê ra, các bạn hãy sử dụng replace để thay đổi các giá trị đó từ wp_ thành m4tb40w1k1_
4. Phân quyền cho thư mục trong hosting
Quyền của wp-config.php
File wp-config.php là file siêu nhạy cảm chứa các thông tin đăng nhập cơ sở dữ liệu của trang web của bạn và một loạt thông tin quan trọng khác của WordPress.
Điểm khởi đầu an toàn cho tệp wp-config.php là 644, Tuy nhiên, một số đề xuất nghiệm gặt hơn là 640 hoặc 600. Để phân quyền nghiệm gặt hơn nhiều hơn nữa, một số người thậm chí còn sử dụng chmod 444.
Tuy nhiên, nếu bạn sử dụng 444 , bạn có thể gây ra sự cố, vì nhiều plugin WordPress dựa vào quyền ghi cho tệp wp-config.php.
Quyền .htaccess
Tệp .htaccess của trang web của bạn là một tệp cấu hình quan trọng khác cần được quan tâm đặc biệt.
Điểm khởi đầu tốt cho quyền .htaccess là 644 , đây là những gì WordPress Codex khuyến nghị . Một số nhà phát triển cũng đề xuất 444 . Tuy nhiên, nếu bạn sử dụng 444 , nó có thể hạn chế các plugin cần ghi vào tệp .htaccess (chẳng hạn như hầu hết các plugin bộ nhớ đệm).
5. Cài Plugin bảo mật cho website
- Plugin Wordfence Security.
- Plugin Solid Security.
6. Tuyệt đối không sử dụng Themes và Plugins nulled
Ngừng sử dụng nulled plugins và themes ngay hôm nay là một trong các cách tốt nhất để bảo mật website WordPress. Nó không những vi phạm bản quyền mà còn ảnh hướng lớn đến tính bảo mật WordPress. Thậm chí bạn còn phải thanh toán nhiều tiền hơn cho lập trình viên để dọn dẹp và tống cổ đám malware so với việc bạn bỏ tiền ra mua theme hay plugin có bản quyền.
Hiện nay, trên mạng internet có hàng trăm, hàng ngàn plugins và themes trôi nổi, “hàng free”. Bạn có thể dễ dàng tìm được chúng ở các diễn đàn, hội nhóm chia sẻ. Nhưng bạn biết không? Hầu hết trong số chúng đều chứa mã độc, thậm chí trớ trêu thay là chúng nằm trong cả những plugin bảo mật WordPress, nhẹ hơn là SEO links của hacker mũ đen sẽ khiến website của bạn không bao giờ SEO lên top nổi.
Nếu cài những bản này lên hosting, đồng nghĩa với việc website WordPress của bạn đang nằm trong trạng thái không an toàn, và sẽ bị tấn công bất cứ khi nào vì mã độc đã được chèn sẵn bên trong chúng.