Làm thế nào để bảo vệ và tối ưu hóa cơ sở dữ liệu WordPress? [NEW]

WordPress là một tập lệnh mã nguồn mở rất lớn. Nó yêu cầu MySQL và PHP để hoạt động. PHP hoạt động bằng cách lấy thông tin từ cơ sở dữ liệu để hiển thị trên các trang web. Còn đối với MySQL, nó là một hệ quản trị cơ sở dữ liệu dùng để lưu trữ thông tin và cài đặt của một trang web WordPress.

Bạn không cần phải học PHP hoặc MySQL để xây dựng một trang web WordPress, nhưng kiến ​​thức về chúng sẽ rất cần thiết. Nó giúp bạn hiểu cách hoạt động của WordPress và cách nó xử lý mọi thứ tự động. Trong bài viết này, bạn sẽ tìm hiểu nếu Cơ sở dữ liệu WordPress là gì?cách thức hoạt động và cuối cùng là cách bảo vệ nó.

Cơ sở dữ liệu WordPress là gì?

A2 lưu trữ cPanel

Khi bạn cài đặt WordPress, bạn phải đặt tên cơ sở dữ liệu, tên người dùng và mật khẩu. Thông tin này được lưu trữ trong tệp cấu hình WordPress wp-config.php. Trong quá trình cài đặt, 11 bảng cơ sở dữ liệu được tạo và nội dung được lưu trữ bên trong chúng theo mặc định.

Mỗi nội dung trong bảng chứa các loại dữ liệu khác nhau, ví dụ: bài đăng, trang, nhận xét, thẻ, danh mục, cài đặt chủ đề, v.v. Bất cứ khi nào bạn tạo bài đăng, trang hoặc thêm nhận xét mới, WordPress sẽ chạy một truy vấn SQL để tạo các trang động và nội dung được lưu trữ trong các bảng cơ sở dữ liệu tương ứng của chúng.

Với thiết lập như vậy, bạn không cần tạo tệp .html cho mỗi trang nữa. Mọi thứ diễn ra tự động. Đó là điều tuyệt vời về WordPress!

Chủ đề và plugin sử dụng cơ sở dữ liệu WP để lưu trữ cài đặt và dữ liệu cấu hình của chúng. Đôi khi các giải pháp của bên thứ 3 tạo bảng của riêng họ. Các bảng không tách biệt với việc triển khai và do đó nó không phải là một bảng cơ sở dữ liệu không lõi.

Hiện tại, có 11 bảng cơ sở dữ liệu chính, chúng ta hãy xem xét chúng:

  • wp_commentmeta: Bảng này chứa siêu dữ liệu về nhận xét.
  • wp_comments: tất cả các bình luận được lưu trữ trong bảng này.
  • wp_links: bảng này được sử dụng để bao gồm các liên kết danh sách blog WordPress phiên bản trước.
  • wp_options: bảng này chứa cài đặt trang web, plugin được kích hoạt, định dạng thời gian, email quản trị, v.v.
  • wp_postmeta: bảng này chứa siêu dữ liệu về bài đăng, trang và các loại bài đăng tùy chỉnh.
  • wp_posts: bảng này lưu trữ tất cả các bài viết, trang và các mục bài đăng tùy chỉnh.
  • wp_terms: phân loại, danh mục và thẻ tùy chỉnh đều được lưu trữ trong bảng này. Cũng có thể có một bảng wp_termmeta, nhưng điều đó nằm ngoài phạm vi của bài viết này.
  • wp_term_relationships: Bảng này xác định các mối quan hệ giữa phân loại và loại bài báo.
  • wp_term_taxonomy: bảng này phân biệt giữa phân loại (danh mục, thẻ và liên kết) cho các mục trong wp_terms.
  • wp_usermeta: tất cả siêu dữ liệu về người dùng đã đăng ký ở đây.
  • wp_users: tất cả người dùng đã đăng ký được lưu trữ trong bảng này.

localhost

Bảng WordPress phpMyAdmin

Tại sao cơ sở dữ liệu lại quan trọng như vậy?

Giả sử bạn đã viết nội dung, thêm các plugin và chỉnh sửa chúng đến từng chi tiết nhỏ nhất trong nhiều năm. Bạn có hàng trăm bài đăng, trang và hàng chục nghìn bình luận. Những thứ này sẽ đi đâu? Câu trả lời là cơ sở dữ liệu! Mọi bài đăng, trang, danh mục, thẻ, nhận xét và cài đặt mà bạn thực hiện trên trang WordPress, nó đều được lưu trữ trong cơ sở dữ liệu. Nó không chứa chủ đề, plugin và các tệp phương tiện. Tuy nhiên, tất cả nội dung văn bản đều được đưa vào cơ sở dữ liệu.

Đây là lý do tại sao bạn phải thực hiện nhiều biện pháp phòng ngừa để đảm bảo cơ sở dữ liệu của bạn được an toàn. Nó là “xương sống” của trang web của bạn.

Nó chứa 90% nội dung của bạn, không bao gồm các tệp phương tiện. Nếu bạn không muốn nội dung của mình bị đánh cắp, bị nhiễm hoặc bị xóa, bảo mật cơ sở dữ liệu là điều cần thiết.

Làm thế nào để đảm bảo tính bảo mật của cơ sở dữ liệu?

Là một CMS phổ biến, WordPress là mục tiêu của tin tặc 24/7 vì các lỗ hổng và khai thác. Có nhiều kỹ thuật để bảo mật cơ sở dữ liệu. Thay đổi tiền tố cơ sở dữ liệu và hạn chế quyền của người dùng là hai bước quan trọng để hướng tới bảo mật chặt chẽ hơn.

Thay đổi tiền tố

Là một phần mềm mã nguồn mở, tên của các bảng cơ sở dữ liệu WordPress đã được nhiều người biết đến. Khi nó được cài đặt, tiền tố bảng wp_ được gán cho tất cả các bảng.

Ví dụ: wp_comments, wp_posts, wp_postmeta,… Người dùng thường sử dụng tiền tố mặc định này. Các chương trình cài đặt nhanh như Softaculous giúp cài đặt các tập lệnh nhanh chóng và dễ dàng. Tuy nhiên, họ vẫn giữ wp_ làm bảng tiền tố mặc định.

Vì tin tặc biết điều này, họ thực hiện các cuộc tấn công SQL dựa trên yếu tố này. Thay đổi tiền tố bảng thành một thứ gì đó ngẫu nhiên và không thể đoán trước sẽ là một biện pháp bảo mật tốt.

Để thay đổi tiền tố bảng cơ sở dữ liệu, hãy làm theo các hướng dẫn sau:

Bắt đầu bằng cách giữ một bản sao lưu của mọi thứ

Cài đặt và kích hoạt plugin tiền tố thay đổi DB.

⇒ Đi tới Trang tổng quan »Cài đặt» Thay đổi tiền tố DB
⇒ Nhập tiền tố bảng ngẫu nhiên, không thể đoán trước như dabra_ (bạn nên giữ nó ngắn, tối đa 4 ký tự)
⇒ Nhấp vào “Lưu thay đổi”.

Tiền tố bí mật và khó đoán giúp giảm đáng kể các cuộc tấn công tự động và các đoạn mã độc hại đang chạy trên trang web của bạn.

Sao lưu cơ sở dữ liệu của bạn

cơ sở dữ liệu

Điều thông minh nhất bạn có thể làm là sao lưu thường xuyên. Luôn có một bản sao lưu cơ sở dữ liệu. Vì vậy, nếu có vấn đề gì xảy ra, bạn có thể chỉ cần chuyển sang một máy chủ khác và khởi động và chạy trang web của mình ngay lập tức. Đây là cách bạn sao lưu cơ sở dữ liệu của mình theo cách thủ công từ phpMyAdmin:

  • Truy cập cPanel »phpMyAdmin.
  • Nhấp vào cơ sở dữ liệu trang web của bạn từ phía bên trái.
  • Nhấp vào tab “Xuất”, chọn “Tùy chỉnh” làm phương thức xuất.
  • Sau đó chọn Add DROP TABLE / VIEW / PROCEDUCE / FUNTION / EVENT vào tùy chọn Object create.
  • Cuối cùng, nhấp vào “Bắt đầu”.

Bạn có thể đính kèm các cơ sở dữ liệu này vào bất kỳ cài đặt WordPress nào và lấy chính xác nội dung của bạn. Tuy nhiên, nếu điều đó khó, bạn có thể sử dụng một trong các plugin sau và đọc hướng dẫn của chúng tôi Cách sao lưu cơ sở dữ liệu WordPress

Tạo và lên lịch sao lưu tự động với plugin

Nếu bạn không quen thuộc với phpMyAdmin hoặc có lẽ máy chủ của bạn không, vẫn có rất nhiều plugin dự phòng bạn có thể sử dụng để sao lưu cơ sở dữ liệu của mình. BackWPup là một plugin sao lưu phổ biến. Nó là một plugin mạnh mẽ và có một loạt các tính năng hữu ích như lưu trữ các bản sao lưu trên Dropbox, máy chủ và S3. Hãy sử dụng nó để tạo một bản sao lưu:

  • Cài đặt và kích hoạt plugin BackWPup.
  • Sau khi được kích hoạt, hãy chuyển đến BackWPup> Thêm công việc mới.
  • Chọn những gì bạn muốn sao lưu (tệp XML, tệp chủ đề & plugin, bản sao lưu cơ sở dữ liệu, v.v.).
  • Định dạng sao lưu phải ở định dạng ZIP.
  • Chọn nơi bạn muốn nén tệp, ví dụ như trên máy chủ, email, Dropbox hoặc Dịch vụ S3.
  • Lưu các thay đổi. Sau khi tạo công việc, bạn có thể chạy nó bất cứ khi nào bạn muốn và một bản sao lưu mới sẽ được tạo với cùng cài đặt và được gửi đến nơi bạn đã chỉ định.
  • Để lập lịch sao lưu thường xuyên, hãy chuyển đến tab Scheldule trên cùng một trang.
  • Chọn “với WordPress cron” trong Bắt đầu công việc.
  • Chỉ định lịch trình sao lưu, ví dụ hàng ngày, hàng tuần hoặc hàng tháng ở cuối trang.
  • Cuối cùng, nhấp vào nút “Lưu thay đổi”.

Sau khi lịch trình được thiết lập, bạn sẽ nhận được một bản sao lưu tại điểm đến mà bạn đã chỉ định trong quá trình tạo công việc. Bạn có thể tham khảo 6 plugin WordPress Backup tốt nhất giúp sao lưu dễ dàng hơn bao giờ hết.

Quyền của Người dùng Cơ sở dữ liệu

Điều rất quan trọng là người dùng MySQL được chỉ định trong tệp wp-config.php phải được xem xét nghiêm ngặt. Cung cấp cho người dùng nhiều quyền hơn có thể là một quyết định tồi. Việc trao quyền nghiêm ngặt cho người dùng MySQL sẽ giúp bạn an toàn. Trong khi cài đặt, có thể chấp nhận gán tất cả các quyền cho người dùng cơ sở dữ liệu vì các bảng, cấu trúc và đối tượng thiết yếu được thiết lập bởi người dùng MySQL. Tuy nhiên, việc cấp tất cả các quyền cho người dùng chỉ nên là tạm thời. Vì vậy, sau khi cài đặt xong, trong hầu hết các trường hợp, đặc quyền người dùng MySQL cần là ĐỌC DỮ LIỆU và VIẾT DỮ LIỆU.

Tìm hiểu thêm

Để tải tệp lên, tạo bài viết mới, thêm người dùng và cài đặt plugin WordPress, quyền đọc và ghi dữ liệu là đủ. Người dùng không cần thay đổi cấu trúc cơ sở dữ liệu nên không cần quyền quản trị như GRANT. Hãy giới hạn các đặc quyền của người dùng MySQL bằng cách:

  • Mở cPanel của bạn, cuộn xuống phần cơ sở dữ liệu.
  • Nhấp vào cơ sở dữ liệu MySQL. Trên trang tiếp theo, nhấp vào người dùng MySQL được thêm vào cơ sở dữ liệu WordPress của bạn.
  • Thay đổi các đặc quyền từ tất cả sang trạng thái sau: CHỌN, CẬP NHẬT (N LEVEL), CHÈN (CHỌN), XÓA (DELETE).

Một số chủ đề wordpressplugin wordpress yêu cầu các đặc quyền khác như ALTER để tạo bảng của riêng họ. Nếu một plugin yêu cầu đặc quyền cơ sở dữ liệu bổ sung, hãy liên hệ với nhà phát triển plugin để hỏi họ về điều đó. Ngay sau khi các plugin được kích hoạt và không cần các đặc quyền mở rộng nữa, bạn có thể quay lại cài đặt cơ bản.

Nâng cấp lên phiên bản mới của WordPress cũng yêu cầu các đặc quyền mở rộng. Vì vậy, chỉ định tất cả các đặc quyền trong quy trình và sau đó thu hồi chúng khi hoàn tất. Những thực hành này an toàn hơn là để các chuyên gia chăm sóc và không cần thiết trong 90% trường hợp.

Sử dụng mật khẩu mạnh

Với số lượng ký tự là 1-10, bạn đánh giá mật khẩu cơ sở dữ liệu của mình mạnh đến mức nào? Mật khẩu như password12345 dễ đoán. Mật khẩu giống như chìa khóa để mở cánh cửa vào ngôi nhà của bạn.

Vì chúng tôi nói về mật khẩu cơ sở dữ liệu, điều cực kỳ quan trọng là đảm bảo rằng bạn được an toàn. Mật khẩu cơ sở dữ liệu của bạn phải dài hơn 8 ký tự, phải chứa các ký tự chữ và số và các ký hiệu ký tự đặc biệt. Mật khẩu này phải ngẫu nhiên, vô nghĩa và không thể đoán được. Nếu bạn mất hơn 2 phút để nhớ thì đó là một mật khẩu khá mạnh. Dưới đây là một số cách để tạo mật khẩu tốt:

  • Trình tạo mật khẩu mạnh
  • Trình tạo mật khẩu của Dashlane

Sau khi bạn có một mật khẩu mạnh, hãy làm theo các hướng dẫn sau:

  • Đi tới cPanel »Cơ sở dữ liệu MySQL, nhấp vào“ Thay đổi mật khẩu ”cho người dùng được liên kết với trang web của bạn.
  • Thay đổi mật khẩu.
  • Sau khi thay đổi mật khẩu, hãy truy cập wp-config.php. Cập nhật mật khẩu luôn ở đó.

Sự kết luận

Thật tuyệt khi có một tiền tố được thay đổi hoàn toàn và sử dụng MySQL nghiêm ngặt. Tuy nhiên, bạn cần phải cẩn thận mọi lúc. Vì vậy, hãy sao lưu thường xuyên. Hầu hết mọi người không nhận ra sự hữu ích của việc sao lưu cơ sở dữ liệu trừ khi họ bị hack. Vì vậy, trước khi quá muộn, tôi khuyên bạn nên sử dụng tất cả các kỹ thuật bảo mật cơ sở dữ liệu đã đề cập ở trên. Hãy tin tôi, nó rất hiệu quả.

Bạn có câu hỏi về cơ sở dữ liệu? Bạn có đang sử dụng bất kỳ kỹ thuật nào ở trên không? Chia sẻ trong phần bình luận bên dưới nếu bạn có bất kỳ câu hỏi nào.

Xem thêm các bài báo khác hướng dẫn sử dụng wordpress Đây là phần bắt đầu của chúng tôi!