Cách thay đổi prefix database của WordPress để tăng cường bảo mật

Cách thay đổi prefix database của WordPress để tăng cường bảo mật

WordPress là một hệ thống quản lý nội dung năng động, lưu trữ nội dung trang web bao gồm bài viết, trang, theme và plugin trong cơ sở dữ liệu.

Và vì cơ sở dữ liệu chứa thông tin quan trọng (chẳng hạn như thông tin đăng nhập của bạn), không có gì ngạc nhiên khi đó là mục tiêu phổ biến của các hacker. Hacker phát triển các injection SQL, các đoạn code tự động và các mã độc hại khác để tấn công nhiều cơ sở dữ liệu khác nhau, đột nhập vào nhiều trang web, hoặc xuất bản nhận xét về spam. Vì lý do này, điều rất quan trọng là phải bảo vệ cơ sở dữ liệu và tạo bản sao lưu thường xuyên.

May mắn thay WordPress rất linh hoạt, do đó chỉ bằng một vài thay đổi nhỏ các quản trị viên có thể bảo mật cơ sở dữ liệu của trang web. Mặc dù không có biện pháp bảo mật nào được bảo đảm là có thể đánh lừa được, tuy nhiên vẫn có thể bảo vệ cơ sở dữ liệu của trang web khỏi những "hacker mới vào nghề" chỉ bằng cách thay đổi prefix table mặc định.

Bài viết này sẽ giới thiệu cho bạn cách có thể thay đổi prefix cơ sở dữ liệu WordPress.

Chú ý vào table mặc định trong cơ sở dữ liệu của WordPress
Khi cài đặt WordPress, nó tạo ra 12 table trong cơ sở dữ liệu với prefix là wp_. Nhiều người không thay đổi prefix cơ sở dữ liệu khi cài đặt WordPress trên trang web của họ. Hacker biết điều này và khai thác nó một cách hoàn hảo.

database-schema.png

Tin vui là bạn có thể thay đổi prefix của table mặc định thành một cái gì đó mơ hồ và khó đoán - giống như khóa bảo mật hoặc mật khẩu. Có hai cách khác nhau để có thể thay đổi table cơ sở dữ liệu WordPress tùy thuộc vào việc cài đặt WordPress trên trang web.

Cách 1: Thay đổi prefix table mặc định của cơ sở dữ liệu trước khi cài đặt WordPress
Cách dễ nhất để thay đổi prefix cơ sở dữ liệu WordPress là trước khi cài đặt CMS vào trang web. Trước khi cài đặt WordPress, điều hướng đến tệp wp-config.php và cuộn xuống cho đến khi tìm thấy $table_prefix = ‘wp_’;.

Thêm một chuỗi các ký tự ngẫu nhiên giống như mật khẩu vào prefix hiện tại. Ví dụ, có thể thêm thành 'wp_a1b2c3d4', đoạn code sau khi thay đổi sẽ là:
Mã:
$table_prefix  = 'wp_a1b2c3d4';

Điều quan trọng cần lưu ý khi thay đổi tên của table cơ sở dữ liệu là chỉ được phép sử dụng các chữ cái, số và dấu gạch dưới. Khi đã thay đổi prefix cơ sở dữ liệu thành một cái gì đó khó đoán, hãy lưu tệp wp-config.php và tiếp tục cài đặt WordPress lên trang web.

Sử dụng bất kỳ prefix bạn muốn. Ý tưởng chính là làm cho prefix của table trở nên khó đoán và cách thực hiện dễ dàng hơn nếu làm theo các bước nêu trên trước khi cài đặt WordPress vào trang web.

Tuy nhiên, trường hợp đã cài đặt WordPress trên trang web, vẫn có thể thay đổi prefix và bảo vệ cơ sở dữ liệu.

Cách 2: Thay đổi prefix table mặc định của cơ sở dữ liệu sau khi cài đặt WordPress
Nếu đã cài đặt WordPress CMS vào trang web, vẫn có thể thay đổi prefix cơ sở dữ liệu mặc định bằng cách làm theo các bước sau:

Bước 1: Trước khi bắt đầu:
Vì chúng ta sẽ thực hiện các thay đổi đối với tệp wp-config.php nên cần tạo một bản sao lưu đầy đủ của cơ sở dữ liệu WordPress trước khi thay đổi prefix của table. Nếu trang web có nhiều lượng truy cập thì nên chuyển hướng người dùng tới trang bảo trì tạm thời.

Bước 2: Thay đổi prefix table mặc định
Mở tệp wp-config.php nằm trong thư mục gốc của WordPress. Cuộn xuống cho đến khi tìm thấy dòng prefix của table, tức là $table_prefix = ‘wp_’; Thay đổi prefix cơ sở dữ liệu từ 'wp_' thành một cái gì đó ngẫu nhiên như 'wp_a1b2c3d4'.

Lưu ý rằng, vì đang thay đổi prefix table của cơ sở dữ liệu nên chỉ được phép sử dụng các chữ cái, số và dấu gạch dưới.

Bước 3: Đổi tên tất cả table cơ sở dữ liệu của WordPress
Tiếp theo, điều hướng đến cơ sở dữ liệu WordPress thông qua phpMyAdmin và đổi tên tất cả các prefix table thành prefix đã chỉ định trong tệp wp-config.php. Như đã đề cập trước đó, có tổng cộng 12 table WordPress mặc định. Có thể đổi tên mỗi table bằng tay nhưng sẽ mất khá nhiều thời gian. Vì vậy, để làm nhanh hơn, dưới đây là danh sách các lệnh SQL mà bạn có thể chạy để đổi tên tất cả 12 table WordPress mặc định cùng lúc:
Mã:
RENAME table `wp_commentmeta` TO `wp_ a1b2c3d4_commentmeta`;
RENAME table `wp_comments` TO `wp_ a1b2c3d4_comments`;
RENAME table `wp_links` TO `wp_ a1b2c3d4_links`;
RENAME table `wp_options` TO `wp_ a1b2c3d4_options`;
RENAME table `wp_postmeta` TO `wp_ a1b2c3d4_postmeta`;
RENAME table `wp_posts` TO `wp_ a1b2c3d4_posts`;
RENAME table `wp_terms` TO `wp_ a1b2c3d4_terms`;
RENAME table `wp_termmeta` TO `wp_ a1b2c3d4_termmeta`;
RENAME table `wp_term_relationships` TO `wp_ a1b2c3d4_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_ a1b2c3d4_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_ a1b2c3d4_usermeta`;
RENAME table `wp_users` TO `wp_ a1b2c3d4_users`;

Trường hợp có cài đặt thêm các plugin trên trang web WordPress thì rất có thể sẽ có thêm một vài table trong cơ sở dữ liệu. Nếu vậy, cũng chỉ cần đổi tên chúng bằng tay hoặc bằng cách sửa đổi một trong các lệnh SQL đã nêu ở trên.

Để giảm thiểu nguy cơ bị hack, nên đổi tên ngẫu nhiên cho tất cả các prefix table của cơ sở dữ liệu WordPress.

Bước 4: Sửa đổi các tùy chọn table
Tiếp theo, cần phải tìm kiếm table tùy chọn cho bất kỳ trường hợp của prefix mặc định cũ để có thể thay thế chúng. Dưới đây là một truy vấn SQL để giúp tiết kiệm thời gian:
Mã:
SELECT * FROM `wp_ a1b2c3d4_options` WHERE `option_name` LIKE '%wp_%'

Mục đích của việc này là tìm bất kỳ tùy chọn bắt đầu bằng wp_ và thay thế chúng thành prefix mới wp_ a1b2c3d4. Chạy truy vấn SQL này sẽ trả lại tùy chọn wp_user_roles ngoài bất kỳ các tùy chọn khác có thể đã được tạo ra bởi các plugin đã cài đặt vào trang web.

Khi đã tìm thấy tất cả các tùy chọn, hãy đổi tên chúng thành prefix mới.

Bước 5: Sửa đổi table USERMETA
Tương tự, tìm kiếm table usermeta cho bất kỳ trường hợp nào của prefix cũ để có thể thay thế nó bằng prefix mới. Dưới đây là một truy vấn SQL để giúp tìm ra:
Mã:
SELECT * FROM `wp_ a1b2c3d4_usermeta` WHERE `meta_key` LIKE ‘%wp_%’

Chạy truy vấn này sẽ trả về tất cả các trường usermeta bắt đầu bằng prefix wp_. Đơn giản chỉ cần đổi tên tất cả chúng thành prefix mới.

Kiểm tra để đảm bảo mọi thứ hoạt động bình thường
Vậy là hoàn tất và trang web đã hoạt động bình thường. Để kiểm tra lại xem mọi thứ có hoạt động tốt không, hãy đăng nhập vào trang web WordPress và kiểm tra Admin Panel, tạo một bài viết (hoặc trang) mới và đảm bảo rằng các widget vẫn hoạt động tốt.

Nếu mọi thứ hoạt động tốt thì có thể yên tâm rằng bạn đã thay đổi thành công prefix cơ sở dữ liệu mặc định của trang WordPress và cơ sở dữ liệu an toàn hơn.

Kết luận
Bảo vệ cơ sở dữ liệu bằng cách thay đổi prefix mặc định là một bước đi đúng hướng khi gia cố trang web WordPress chống lại các nỗ lực tìm cách xâm nhập của hacker. Bằng cách thay đổi prefix thành một cái gì đó ngẫu nhiên và khó đoán, bạn có thể bảo vệ cơ sở dữ liệu khỏi các injection SQL, các đoạn code tự động và các mã độc hại khác.

Cuối cùng, hãy nhớ sao lưu thường xuyên cơ sở dữ liệu trang web WordPress. Nếu có gì trục trặc, bạn luôn có thể khôi phục lại bản sao lưu mới nhất và giảm thiểu mức độ thiệt hại.


PVS - Theo Developerdrive
 

Hướng dẫn sử dụng

XenForo 1 XenForo 2
Translate by PVS

Dịch vụ XenForo của VNXF

Mr. Tuấn

Mobile/Zalo: 0988 488 096

Telegram: bluekpro

Email: [email protected]

Nhà Tài Trợ

Mút Xốp Không Gian
pallet Thịnh Phát
Top Bottom