Để bảo mật cơ sở dữ liệu WordPress một cách hiệu quả, chúng ta nên biết Cách WordPress sử dụng cơ sở dữ liệu, các lỗ hổng cơ sở dữ liệu thường bị tin tặc khai thác và cách tránh các lỗ hổng này.
Cách WordPress sử dụng Cơ sở dữ liệu?
WordPress sử dụng PHP làm ngôn ngữ kịch bản (để lưu trữ và truy xuất dữ liệu từ cơ sở dữ liệu) và MySQL được sử dụng để quản lý cơ sở dữ liệu, sử dụng các truy vấn SQL trong đánh dấu PHP. Ví dụ:nếu bạn đăng nhập vào một trang web kinh doanh được hỗ trợ bởi WordPress, thì SQL sẽ thực sự đăng nhập cho bạn, trích xuất ID người dùng của bạn và xác thực nó, đồng thời đảm bảo rằng dữ liệu hồ sơ chính xác được hiển thị trên giao diện người dùng.
PHP và SQL làm việc song song với nhau. Điều này giúp WordPress tạo ra trải nghiệm dựa trên nội dung động cho người dùng. Nó cho phép bạn tùy chỉnh nội dung cụ thể cho một số người dùng nhất định, chẳng hạn như quản trị viên, biên tập viên và người đăng ký.
Các plugin và chủ đề cũng sử dụng cơ sở dữ liệu WordPress để lưu trữ dữ liệu. Họ sử dụng SQL trong đánh dấu PHP để truy vấn cơ sở dữ liệu và xuất nội dung động. Các plugin khác như WP-DB Manager, có thể được sử dụng để dễ dàng quản lý cơ sở dữ liệu.
Bài viết liên quan:15 thủ thuật cấu hình WordPress để tiết kiệm thời gian của bạn
Làm cách nào để bảo mật Cơ sở dữ liệu WordPress?
Cơ sở dữ liệu WordPress là bộ não của trang web WordPress vì nó lưu trữ tất cả thông tin về và trên trang web như bài đăng, trang, nhận xét, thẻ, người dùng, danh mục, trường tùy chỉnh và các tùy chọn trang web khác. Điều này làm cho nó trở thành mục tiêu ngon lành cho những kẻ độc hại. Những kẻ gửi thư rác và tin tặc chạy mã tự động để đưa vào SQL. Đây là cách bạn có thể bảo mật cơ sở dữ liệu WordPress.
Bài viết liên quan:25 Thực tiễn Bảo mật WordPress Tốt nhất
1. Thay đổi tên người dùng quản trị viên
Giống như mọi CMS khác, WordPress cũng có đăng nhập quản trị viên mặc định. Việc không thay đổi thông tin đăng nhập quản trị viên mặc định sẽ khiến các tác nhân độc hại dễ dàng truy cập bất hợp pháp vào trang web và cơ sở dữ liệu của bạn.
Trong WordPress, tên người dùng mặc định là admin
. Hãy thay đổi ngay bây giờ nếu bạn chưa làm như vậy.
- Truy cập phpMyAdmin.
- Chạy truy vấn sau. Điều này thay đổi tên người dùng từ
admin
thànhanything.
UPDATE {database_prefix}users SET user_login='anything' WHERE user_login='admin'; - Trong trường hợp có nhiều trang WordPress, bạn có thể sử dụng
grant_super_admin()
chức năng cấp quyền truy cập quản trị viên cấp cao và đặc quyền của quản trị viên cấp cao.
2. Thay đổi ID quản trị viên
Trong WordPress, tên quản trị viên mặc định là admin
và ID người dùng quản trị mặc định là 1. Nhiều cuộc tấn công SQL-injection đã khai thác điều này. Vì vậy, bạn nên thay đổi điều này sớm nhất để bảo mật cơ sở dữ liệu WordPress. Để thay đổi ID người dùng quản trị,
- Truy cập phpMyAdmin
- Chạy các truy vấn sau.
UPDATE wp_users SET ID = 2807 WHERE ID = 1;
UPDATE wp_posts SET post_author = 2807 WHERE post_author = 1;
UPDATE wp_comments SET user_id = 2807 WHERE user_id = 1;
UPDATE wp_usermeta SET user_id = 2807 WHERE user_id = 1;
ALTER TABLE wp_users AUTO_INCREMENT = 2808
MẸO: Bạn nên tạo một bản sao lưu trước khi thực hiện bất kỳ thay đổi nào. Và, hãy xem hoạt động của trang web sau mỗi lần thay đổi để đảm bảo rằng các thay đổi không can thiệp vào bất kỳ chức năng nào khác của trang web.
3. Trong trường hợp nhiều trang web của WordPress, bạn phải sao chép một vài dòng cho mỗi trang web của mạng như thế này:
UPDATE wp_2_posts SET post_author = 5487 WHERE post_author = 1;
UPDATE wp_2_comments SET user_id = 5487 WHERE user_id = 1;
Bạn cũng có thể chạy các truy vấn trong vòng lặp bằng PHP và $wpdb.
3. Thay đổi tiền tố cơ sở dữ liệu
Tiền tố Cơ sở dữ liệu WordPress mặc định là wp_
. Để có cơ sở dữ liệu WordPress an toàn, bạn nên thay đổi tiền tố mặc định trong chính quá trình cài đặt WordPress.
Nếu bạn chưa làm, hãy làm điều đó ngay bây giờ. Làm theo các bước sau:
- Truy cập trang web của bạn thông qua ứng dụng FTP
- Điều hướng đến tệp cấu hình wp_config.php của bạn trong thư mục gốc
- Tìm dòng bằng wp_ tiền tố và thay đổi nó.
$table_prefix = 'wp_ga2807_';
- Đổi tên tất cả các bảng cơ sở dữ liệu WordPress mặc định.
RENAME TABLE wp_comments TO wp_ga2807_comments;
RENAME TABLE wp_commentmeta TO wp_ga2807_commentmeta;
RENAME TABLE wp_links TO wp_ga2807_links;
RENAME TABLE wp_options TO wp_ga2807_options;
RENAME TABLE wp_postmeta TO wp_ga2807_postmeta;
RENAME TABLE wp_posts TO wp_ga2807_posts;
RENAME TABLE wp_terms TO wp_ga2807_terms;
RENAME TABLE wp_termmeta TO wp_ga2807_termmeta;
RENAME TABLE wp_term_relationships TO wp_ga2807_term_relationships;
RENAME TABLE wp_term_taxonomy TO wp_ga2807_term_taxonomy;
RENAME TABLE wp_usermeta TO wp_ga2807_usermeta;
RENAME TABLE wp_users TO wp_ga2807_users;
- Thay thế tất cả các bản sao của
wp_
trongwp_ga2807_usermeta
vàwp_ga2807_options
(wp_usermeta
cũ vàwp_options
bảng tương ứng).
UPDATE wp_ga2807_options SET option_name = REPLACE(option_name, 'wp_', 'wp_ga2807_') WHERE option_name LIKE 'wp_%';
UPDATE wp_ga2807_usermeta SET meta_key = REPLACE(meta_key, 'wp_', 'wp_ga2807_') WHERE meta_key LIKE 'wp_%';
- Các plugin tạo bảng của riêng chúng trong cơ sở dữ liệu. Điều quan trọng là đổi tên các bảng này. Ví dụ:WooCommerce là một plugin WordPress được sử dụng rộng rãi. Để đổi tên các bảng trong WooCommerce, hãy chạy các truy vấn sau.
RENAME TABLE wp_woocommerce_api_keys TO wp_ga2807_woocommerce_api_keys;
RENAME TABLE wp_woocommerce_attribute_taxonomies TO wp_ga2807_woocommerce_attribute_taxonomies;
RENAME TABLE wp_woocommerce_downloadable_product_permissions TO wp_ga2807_woocommerce_downloadable_product_permissions;
RENAME TABLE wp_woocommerce_order_itemmeta TO wp_ga2807_woocommerce_order_itemmeta;
RENAME TABLE wp_woocommerce_order_items TO wp_ga2807_woocommerce_order_items;
RENAME TABLE wp_woocommerce_payment_tokenmeta TO wp_ga2807_woocommerce_payment_tokenmeta;
RENAME TABLE wp_woocommerce_payment_tokens TO wp_ga2807_woocommerce_payment_tokens;
RENAME TABLE wp_woocommerce_sessions TO wp_ga2807_woocommerce_sessions;
Lưu ý:Bạn cũng có thể thay đổi tiền tố cơ sở dữ liệu với sự trợ giúp của plugin. ‘Change Table Prefix’ là một plugin tiện lợi cho việc này.
4. Đặc quyền người dùng cơ sở dữ liệu nghiêm ngặt
Đặc quyền người dùng nghiêm ngặt bảo mật tốt hơn cơ sở dữ liệu WordPress. Người dùng MySQL được chỉ định trong wp-config.php tệp phải có đặc quyền nghiêm ngặt. Trong quá trình cài đặt, người dùng cơ sở dữ liệu có tất cả các đặc quyền để thiết lập các bảng và đối tượng cần thiết nhưng nó chỉ là một biện pháp tạm thời. Sau khi cài đặt, người dùng MySQL chỉ cần các đặc quyền ĐỌC DỮ LIỆU và GHI DỮ LIỆU.
5. Tạo bản sao lưu
Tạo bản sao lưu trước khi thực hiện bất kỳ thay đổi nào đối với trang web hoặc cơ sở dữ liệu của bạn. Tôi nhắc lại, tạo sao lưu! Tạo bản sao lưu thường xuyên có thể rất hữu ích trong trường hợp bị nhiễm trùng. Bạn chỉ cần khôi phục bản sao lưu và xóa các tệp bị nhiễm.
Nhưng ngay cả khi sao lưu được khôi phục, lỗ hổng mà kẻ tấn công khai thác vẫn không được khắc phục. Bạn có thể đăng ký đánh giá lỗ hổng Astra và kiểm tra khả năng thâm nhập để khám phá tất cả các cửa hậu ẩn và lỗ hổng bảo mật trong trang web của bạn.
6. Xóa bảng tùy chỉnh
Bạn nên xóa các bảng tùy chỉnh khỏi cơ sở dữ liệu sau khi xóa tiện ích mở rộng trang web khỏi trang web của mình, nếu không, trong suốt thời gian tồn tại, bạn sẽ thu thập một đống bảng không sử dụng trong cơ sở dữ liệu của mình. Một số plugin đi kèm với tùy chọn tự động xóa tất cả dữ liệu của nó khỏi trang web và cơ sở dữ liệu khi bạn gỡ cài đặt.
Lưu ý:Chỉ xóa các bảng đối với các plugin mà bạn chắc chắn sẽ không cài đặt lại vì một khi các bảng tùy chỉnh bị xóa, sẽ không thể quay lại.
Bài viết liên quan:7 lỗi WordPress phổ biến mà mọi người đều mắc phải
Kết luận
Ngay cả với tất cả các biện pháp chính xác, không thể đảm bảo 100% an ninh. Tin tặc đang tìm ra những cách mới để truy cập vào trang web và cơ sở dữ liệu. Cài đặt tường lửa trên tất cả là cách tốt nhất bạn có thể cứu WordPress của mình khỏi bất kỳ yêu cầu đe dọa nào sắp tới. Với Firewall của Astra chăm sóc bảo mật cho trang web của bạn, bạn có thể hướng sự tập trung vào phát triển doanh nghiệp của mình.
Thấy bài viết này hữu ích? Chia sẻ nó với bạn bè của bạn trên Facebook, Twitter, LinkedIn.