Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยเครือข่าย

รักษาความปลอดภัยฐานข้อมูล WordPress: กลยุทธ์และแนวทางปฏิบัติที่พิสูจน์แล้ว

เพื่อรักษาความปลอดภัยฐานข้อมูล WordPress ให้มีประสิทธิภาพ เราควรเข้าใจว่า WordPress ใช้ฐานข้อมูลอย่างไร ช่องโหว่ที่แฮกเกอร์มักนำไปสืบโจมตี และวิธีป้องกันช่องโหว่เหล่านั้น

WordPress ใช้ฐานข้อมูลอย่างไร?

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

PHP และ SQL ทำงานร่วมกันอย่างใกล้ชิด ช่วยให้ WordPress สร้างประสบการณ์เนื้อหาแบบไดนามิกให้ผู้ใช้ สามารถปรับแต่งเนื้อหาเฉพาะกลุ่มผู้ใช้ได้ เช่น ผู้ดูแลระบบ บรรณาธิการ และผู้สมัครสมาชิก

ปลั๊กอินและธีมก็ใช้ฐานข้อมูล WordPress เพื่อจัดเก็บข้อมูล พวกเขาใช้ SQL ภายในมาร์กอัป PHP เพื่อสืบค้นฐานข้อมูลและแสดงเนื้อหาแบบไดนามิก ปลั๊กอินอื่นๆ เช่น WP-DB Manager สามารถใช้จัดการฐานข้อมูลได้อย่างง่ายดาย

บทความเกี่ยวข้อง: 15 เทคนิคการกำหนดค่า WordPress ที่ช่วยประหยัดเวลา

รักษาความปลอดภัยฐานข้อมูล WordPress: กลยุทธ์และแนวทางปฏิบัติที่พิสูจน์แล้ว

วิธีรักษาความปลอดภัยฐานข้อมูล WordPress

ฐานข้อมูล WordPress เป็น "สมอง" ของเว็บไซต์ เนื่องจากจัดเก็บข้อมูลทั้งหมดเกี่ยวกับเว็บไซต์ เช่น โพสต์ หน้า คอมเมนต์ แท็ก ผู้ใช้ หมวดหมู่ ฟิลด์กำหนดเอง และตัวเลือกเว็บไซต์อื่นๆ ทำให้กลายเป็นเป้าหมายที่น่าสนใจสำหรับผู้มีเจตนาร้าย สแปมเมอร์และแฮกเกอร์รันโค้ดอัตโนมัติสำหรับการฉีด SQL นี่คือวิธีที่คุณสามารถรักษาความปลอดภัยฐานข้อมูล WordPress ได้

บทความเกี่ยวข้อง: 25 แนวทางปฏิบัติที่ดีที่สุดสำหรับความปลอดภัย WordPress

1. เปลี่ยนชื่อผู้ใช้ผู้ดูแลระบบ

เช่นเดียวกับ CMS อื่นๆ WordPress ก็มีชื่อผู้ใช้ผู้ดูแลระบบเริ่มต้น หากไม่เปลี่ยนชื่อผู้ใช้เริ่มต้น จะทำให้ผู้มีเจตนาร้ายเข้าถึงเว็บไซต์และฐานข้อมูลของคุณได้ง่ายขึ้น

ใน WordPress ชื่อผู้ใช้เริ่มต้นคือ admin ให้เปลี่ยนทันทีหากยังไม่ได้ทำ

  1. เข้าไปที่ phpMyAdmin
  2. รันคำสั่งต่อไปนี้ จะเปลี่ยนชื่อผู้ใช้จาก admin เป็น อะไรก็ได้
    UPDATE {database_prefix}users SET user_login='anything' WHERE user_login='admin';
  3. ในกรณีของ WordPress Multisite คุณสามารถใช้ฟังก์ชัน grant_super_admin() เพื่อให้สิทธิ์และ đặc quyền super admin

2. เปลี่ยนรหัสผู้ดูแลระบบ

ใน WordPress ชื่อผู้ใช้ผู้ดูแลเริ่มต้นคือ admin และรหัสผู้ใช้ผู้ดูแลเริ่มต้นคือ 1 การโจมตีฉีด SQL หลายครั้งได้ใช้ประโยชน์จากข้อนี้ ดังนั้นคุณควรเปลี่ยนรหัสนี้โดยเร็วที่สุดเพื่อรักษาความปลอดภัยฐานข้อมูล WordPress วิธีเปลี่ยนรหัสผู้ใช้ผู้ดูแล:

  1. เข้าไปที่ phpMyAdmin
  2. รันคำสั่งต่อไปนี้
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 เอง

รักษาความปลอดภัยฐานข้อมูล WordPress: กลยุทธ์และแนวทางปฏิบัติที่พิสูจน์แล้ว

หากคุณยังไม่ได้ทำ ให้ทำทันที โดยทำตามขั้นตอนเหล่านี้:

  1. เข้าถึงเว็บไซต์ของคุณผ่านไคลเอนต์ FTP
  2. ไปที่ไฟล์กำหนดค่า wp_config.php ในไดเรกทอรีราก
  3. ค้นหาบรรทัดที่มีคำนำหน้า wp_ และเปลี่ยนมัน
    $table_prefix = 'wp_ga2807_';
  4. เปลี่ยนชื่อตารางฐานข้อมูล 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;
  5. แทนที่ทุกกรณีของ 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_%';
  6. ปลั๊กอินสร้างตารางของตัวเองในฐานข้อมูล สำคัญที่ต้องเปลี่ยนชื่อตารางเหล่านั้นด้วย ตัวอย่างเช่น 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