เพื่อรักษาความปลอดภัยฐานข้อมูล WordPress ให้มีประสิทธิภาพ เราควรเข้าใจว่า WordPress ใช้ฐานข้อมูลอย่างไร ช่องโหว่ที่แฮกเกอร์มักนำไปสืบโจมตี และวิธีป้องกันช่องโหว่เหล่านั้น
WordPress ใช้ฐานข้อมูลอย่างไร?
WordPress ใช้ภาษาสคริปต์ PHP (เพื่อจัดเก็บและดึงข้อมูลจากฐานข้อมูล) และใช้ MySQL สำหรับจัดการฐานข้อมูล โดยใช้คำสั่ง SQL ภายในมาร์กอัป PHP ตัวอย่างเช่น เมื่อคุณเข้าสู่ระบบเว็บไซต์ธุรกิจที่ขับเคลื่อนด้วย WordPress จริงๆ แล้วคือ SQL ที่ทำหน้าที่เข้าสู่ระบบ ดึงรหัสผู้ใช้และตรวจสอบความถูกต้อง และรับรองว่าข้อมูลโปรไฟล์ที่ถูกต้องจะแสดงบนหน้าบ้าน
PHP และ SQL ทำงานร่วมกันอย่างใกล้ชิด ช่วยให้ WordPress สร้างประสบการณ์เนื้อหาแบบไดนามิกให้ผู้ใช้ สามารถปรับแต่งเนื้อหาเฉพาะกลุ่มผู้ใช้ได้ เช่น ผู้ดูแลระบบ บรรณาธิการ และผู้สมัครสมาชิก
ปลั๊กอินและธีมก็ใช้ฐานข้อมูล WordPress เพื่อจัดเก็บข้อมูล พวกเขาใช้ SQL ภายในมาร์กอัป PHP เพื่อสืบค้นฐานข้อมูลและแสดงเนื้อหาแบบไดนามิก ปลั๊กอินอื่นๆ เช่น WP-DB Manager สามารถใช้จัดการฐานข้อมูลได้อย่างง่ายดาย
บทความเกี่ยวข้อง: 15 เทคนิคการกำหนดค่า WordPress ที่ช่วยประหยัดเวลา

วิธีรักษาความปลอดภัยฐานข้อมูล WordPress
ฐานข้อมูล WordPress เป็น "สมอง" ของเว็บไซต์ เนื่องจากจัดเก็บข้อมูลทั้งหมดเกี่ยวกับเว็บไซต์ เช่น โพสต์ หน้า คอมเมนต์ แท็ก ผู้ใช้ หมวดหมู่ ฟิลด์กำหนดเอง และตัวเลือกเว็บไซต์อื่นๆ ทำให้กลายเป็นเป้าหมายที่น่าสนใจสำหรับผู้มีเจตนาร้าย สแปมเมอร์และแฮกเกอร์รันโค้ดอัตโนมัติสำหรับการฉีด SQL นี่คือวิธีที่คุณสามารถรักษาความปลอดภัยฐานข้อมูล WordPress ได้
บทความเกี่ยวข้อง: 25 แนวทางปฏิบัติที่ดีที่สุดสำหรับความปลอดภัย WordPress
1. เปลี่ยนชื่อผู้ใช้ผู้ดูแลระบบ
เช่นเดียวกับ CMS อื่นๆ WordPress ก็มีชื่อผู้ใช้ผู้ดูแลระบบเริ่มต้น หากไม่เปลี่ยนชื่อผู้ใช้เริ่มต้น จะทำให้ผู้มีเจตนาร้ายเข้าถึงเว็บไซต์และฐานข้อมูลของคุณได้ง่ายขึ้น
ใน WordPress ชื่อผู้ใช้เริ่มต้นคือ admin ให้เปลี่ยนทันทีหากยังไม่ได้ทำ
- เข้าไปที่ phpMyAdmin
- รันคำสั่งต่อไปนี้ จะเปลี่ยนชื่อผู้ใช้จาก
adminเป็นอะไรก็ได้UPDATE {database_prefix}users SET user_login='anything' WHERE user_login='admin'; - ในกรณีของ WordPress Multisite คุณสามารถใช้ฟังก์ชัน
grant_super_admin()เพื่อให้สิทธิ์และ đặc quyền super admin
2. เปลี่ยนรหัสผู้ดูแลระบบ
ใน WordPress ชื่อผู้ใช้ผู้ดูแลเริ่มต้นคือ admin และรหัสผู้ใช้ผู้ดูแลเริ่มต้นคือ 1 การโจมตีฉีด SQL หลายครั้งได้ใช้ประโยชน์จากข้อนี้ ดังนั้นคุณควรเปลี่ยนรหัสนี้โดยเร็วที่สุดเพื่อรักษาความปลอดภัยฐานข้อมูล WordPress วิธีเปลี่ยนรหัสผู้ใช้ผู้ดูแล:
- เข้าไปที่ phpMyAdmin
- รันคำสั่งต่อไปนี้
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
เคล็ดลับ: ขอแนะนำให้สร้างสำรองข้อมูลก่อนทำการเปลี่ยนแปลงใดๆ และตรวจสอบการทำงานของเว็บไซต์หลังจากการเปลี่ยนแปลงแต่ละครั้ง เพื่อให้แน่ใจว่าการเปลี่ยนแปลงไม่รบกวนฟังก์ชันอื่นของเว็บไซต์
3. ในกรณีของ WordPress Multisite คุณต้องทำซ้ำบรรทัดบางส่วน สำหรับแต่ละไซต์ในเครือข่าย เช่นนี้:
UPDATE wp_2_posts SET post_author = 5487 WHERE post_author = 1;UPDATE wp_2_comments SET user_id = 5487 WHERE user_id = 1;
คุณยังสามารถรันคำสั่งในลูปโดยใช้ PHP และ $wpdb ได้อีกด้วย
3. เปลี่ยนคำนำหน้าฐานข้อมูล
คำนำหน้าฐานข้อมูล WordPress เริ่มต้นคือ wp_ สำหรับฐานข้อมูล WordPress ที่ปลอดภัย ขอแนะนำให้เปลี่ยนคำนำหน้าเริ่มต้นระหว่างกระบวนการติดตั้ง WordPress เอง

หากคุณยังไม่ได้ทำ ให้ทำทันที โดยทำตามขั้นตอนเหล่านี้:
- เข้าถึงเว็บไซต์ของคุณผ่านไคลเอนต์ FTP
- ไปที่ไฟล์กำหนดค่า wp_config.php ในไดเรกทอรีราก
- ค้นหาบรรทัดที่มีคำนำหน้า wp_ และเปลี่ยนมัน
$table_prefix = 'wp_ga2807_'; - เปลี่ยนชื่อตารางฐานข้อมูล WordPress เริ่มต้นทั้งหมด
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; - แทนที่ทุกกรณีของ
wp_ในwp_ga2807_usermetaและwp_ga2807_options(ตารางwp_usermetaและwp_optionsเดิม)
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_%'; - ปลั๊กอินสร้างตารางของตัวเองในฐานข้อมูล สำคัญที่ต้องเปลี่ยนชื่อตารางเหล่านั้นด้วย ตัวอย่างเช่น WooCommerce เป็นปลั๊กอิน WordPress ที่ใช้กันอย่างแพร่หลาย ในการเปลี่ยนชื่อตารางใน WooCommerce ให้รันคำสั่งต่อไปนี้
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;
หมายเหตุ: คุณสามารถเปลี่ยนคำนำหน้าฐานข้อมูลด้วยปลั๊กอินได้เช่นกัน 'Change Table Prefix' เป็นปลั๊กอินที่สะดวกสำหรับสิ่งนี้
4. สิทธิ์ผู้ใช้ฐานข้อมูลที่เข้มงวด
สิทธิ์ผู้ใช้ที่เข้มงวดช่วยรักษาความปลอดภัยฐานข้อมูล WordPress ให้ดียิ่งขึ้น ผู้ใช้ MySQL ที่ระบุในไฟล์ wp-config.php ควรมีสิทธิ์เข้มงวด ระหว่างการติดตั้ง ผู้ใช้ฐานข้อมูลมีสิทธิ์ทั้งหมดเพื่อตั้งค่าตารางและอ็อบเจ็กต์ที่จำเป็น แต่ควรเป็นมาตรการชั่วคราว หลังการติดตั้ง ผู้ใช้ MySQL ต้องการเพียงสิทธิ์อ่านและเขียนข้อมูล (DATA READ และ DATA WRITE) เท่านั้น
5. สร้างสำรองข้อมูล
สร้างสำรองข้อมูลก่อนทำการเปลี่ยนแปลงใดๆ กับเว็บไซต์หรือฐานข้อมูลของคุณ ฉันเน้นอีกครั้ง สร้างสำรองข้อมูล! การสร้างสำรองข้อมูลเป็นประจำจะช่วยได้มากในกรณีติดไวรัส คุณสามารถกู้คืนสำรองข้อมูลและลบไฟล์ที่ติดไวรัสได้
แต่ม้วนด้วยสำรองข้อมูลที่กู้คืนแล้ว ช่องโหว่ที่โจมตีใช้ประโยชน์ยังคงไม่ได้รับการแก้ไข คุณสามารถสมัครการประเมินช่องโหว่และการทดสอบการเจาะรูของ Astra เพื่อค้นพบประตูหลังซ่อนและช่องโหว่ด้านความปลอดภัยทั้งหมดในเว็บไซต์ของคุณ
6. ลบตารางที่กำหนดเอง
ขอแนะนำให้ลบตารางที่กำหนดเองออกจากฐานข้อมูลของคุณหลังจากนำส่วนขยายเว็บไซต์ออกจากไซต์แล้ว มิฉะนั้นตลอดอายุการใช้งานคุณจะสะสมกองตารางที่ไม่ได้ใช้ในฐานข้อมูล ปลั๊กอินบางตัวมีตัวเลือกให้ลบข้อมูลทั้งหมดออกจากเว็บไซต์และฐานข้อมูลเมื่อคุณถอนการติดตั้ง
หมายเหตุ: ให้ลบตารางเฉพาะปลั๊กอินที่คุณแน่ใจว่าจะไม่ติดตั้งอีก เพราะเมื่อลบตารางที่กำหนดเองแล้ว ไม่มีทางย้อนกลับ
บทความเกี่ยวข้อง: 7 ข้อผิดพลาด WordPress ที่ทุกคนทำบ่อย
สรุป
แม้จะมีมาตรการที่ถูกต้องทั้งหมด การรับประกันความปลอดภัย 100% ไม่ได้ แฮกเกอร์กำลังหาวิธีใหม่ๆ เพื่อเข้าถึงเว็บไซต์และฐานข้อมูล การติดตั้งไฟร์วอลล์เป็นวิธีที่ดีที่สุดที่คุณสามารถปกป้อง WordPress จากคำขอที่เป็นภัยคุกคามในอนาคต ด้วยไฟร์วอลล์ของ Astra ดูแลความปลอดภัยของเว็บไซต์คุณ คุณสามารถโฟกัสไปที่การขยายธุรกิจได้
พบว่าบทความนี้มีประโยชน์? แชร์ให้เพื่อนบน Facebook, Twitter, LinkedIn