Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

มีระบบที่ยากต่อการแฮก แต่โดยทั่วไป เว็บถูกแฮกเพราะ เปราะบางและไม่มีความปลอดภัยพื้นฐาน

ในบทความนี้ เราจะพูดถึงวิธี Hardening (การแข็งตัว) WordPress ของคุณ

สรุปสั้น: รักษาความปลอดภัยเว็บด้วย Malware ชุดความปลอดภัย All-in-one สำหรับ WordPress ด้วย MalCare คุณยังสามารถ Hardening ความปลอดภัย WordPress ได้ใน 1-คลิก

ก่อนเริ่มต้น

เราจัดลำดับรายการตามความง่ายในการทำ เริ่มจากบนลงล่าง เราแนะนำเริ่มต้นด้วยการ ติดตั้ง MalCare และใช้ Site Hardening option นั่นเป็นก้าวใหญ่ในทิศทางที่ถูกต้อง แล้วค่อยกลับมาอ่านขั้นตอนอื่นๆ

Pro Tip: เราแนะนำ สำรองเว็บไซต์ก่อนทำการเปลี่ยนแปลงใดๆ แม้จะเป็นเรื่องความปลอดภัยก็ตาม ปลอดภัยกว่าสorry!

5 วิธีง่าย (EASY) สำหรับ Hardening WordPress

เริ่มจาก "ผลไม้ที่ต่ำ垂れ下がる" (ง่ายที่สุด) ทำให้เสร็จสิ้นการตั้งค่าพื้นฐาน แล้วเราจะรู้สึกดีกับความคืบหน้า

ตั้งรหัสผ่านแข็งแกรก (Set Strong Passwords)

รหัสผ่านเป็นผลไม้ต่ำสุดของทั้งหมด นั่นอาจเป็นเหตุผลที่มักถูกมองข้าม และที่ทำให้มันอยู่บนสุดของรายการ Hardening

รหัสผ่านยากจดจำ และ Best Practices บางอย่างทำให้เบื่อ: ห้ามซ้ำ, ห้ามง่าย, ผสมตัวอักษร ตัวเลข สัญลักษณ์ รายการยาวมาก โดยเฉพาะตอนนับบริการที่ใช้

เราเข้าใจ แนะนำใช้ Password Manager เช่น LastPass ใช้สตริงสุ่มตัวเลข ตัวอักษร สัญลักษณ์ เพื่อรักษาบัญชี แม้โอกาสน้อย Brute Force ใช้ Dictionary Attack ทายรหัสผ่าน

บังคับให้ใช้รหัสผ่านแข็งแกรก (Require Strong Passwords)

ต่อเนื่องกับหัวข้อก่อนหน้า นี่คือรายการถัดไป

เมื่อมีหลายผู้ใช้จัดการเว็บ ต้องให้ทุกคนใช้รหัสผ่านแข็งแกรกและเปลี่ยนบ่อยๆ บนสเกลเล็กง่าย แต่ทีมใหญ่ ควรมีซอฟต์แวร์ทำให้อัตโนมัติ

WordPress ค่าเริ่มต้นจะเตือนหากเลือกรหัสผ่านอ่อน:

18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

แต่คุณสามารถข้ามได้โดยติ๊ก 'confirm use of weak password' การทำเช่นนี้ทำให้เว็บเปราะบางต่อการโจมตี

18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

เพื่อบังคับให้ผู้ใช้อัปเดตรหัสผ่าน เดิมมีปลั๊กอินอย่าง Expire Passwords ตั้งวันหมดอายุได้ แต่ปลั๊กอินส่วนใหญ่ไม่ได้อัปเดตนาน ไม่แนะนำใช้

นำหลักการ Least Privilege มาใช้ (Implement Least Privilege Permissions)

WordPress มี 6 บทบาท (Roles) 定義ไว้: Super Admin, Administrator, Editor, Author, Contributor, Subscriber แต่ละบทบาทมี Permissions และ Capabilities (ความสามารถ) ที่แตกต่างกัน รายการเต็มอยู่ที่นี่

หมายเหตุ: สำหรับเว็บเดี่ยว Administrator เป็นบทบาทที่ทรงพลังมากที่สุด สำหรับ Multisite คือ Super Admin

เว็บเดี่ยวต้องการ Administrator จำนวนจำกัด กฎข้อทั่วไป: มี Administrator น้อยที่สุดเท่าที่จะจัดการได้ เหตุผลง่าย: ลดความเสี่ยงแฮกเกอร์ขโมย Credentials Admin

ติดตั้ง SSL (Install SSL)

SSL เป็นวิธีส่งข้อมูลอย่างปลอดภัยระหว่าง User และ Server ผ่านการเชื่อมต่อที่เข้ารหัส

นอกจากเป็น Best Practice แล้ว Google กำหนดให้เว็บต้องมี SSL มิฉะนั้นจะโชว์ "Not Secure" ในเบราว์เซอร์ แทนล็อกสีเขียวที่บ่งบอก HTTPS

ตอนนี้ติดตั้ง SSL ไมายากแล้ว เรามีคู่มือติดตั้ง SSL เต็มรูปแบบ และคู่มือทำให้ทุกหน้าเป็น HTTPS

ติดตั้งปลั๊กอินความปลอดภัย WordPress (Set Up WordPress Security Plugin)

รายการก่อนหน้านี้เป็นการตั้งค่าด้วยมือ ไม่ต้อง Config ยุ่งยากหรือติดตั้งปลั๊กอิน

ส่วนที่เหลือไม่ง่ายเท่านั้น หลายมาตรการรวมอยู่ในฟีเจอร์ Site Hardening ของ MalCare

18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

คุณจะประหยัดเวลามากด้วยการติดตั้งปลั๊กอินและใช้แดชบอร์ดตั้งค่า ลองตอนนี้

6 มาตรการระดับ MEDIUM สำหรับ Hardening WordPress

มาตรการในส่วนนี้ต้องติดตั้งปลั๊กอิน เราไม่แนะนำติดตั้งปลั๊กอินเบาๆ เพราะมักมีช่องโหว่และกลายเป็นจุดเข้าโจมตี ใช้วิจารณญาณในการเลือกปลั๊กอิน

Two-Factor Authentication (2FA)

วิธีทั่วไปที่แฮกเกอร์เข้าเว็บ: หน้าล็อกอิน ใช้ Brute Force Attack บอททาย Credentials อีกวิธี: ข้อมูลรั่วจากเว็บอื่น แฮกเกอร์รู้ว่าหลายคนใช้ Username/Password ซ้ำหลายบัญชี ทำให้ทายง่าย

เพื่อป้องกัน ให้เพิ่ม Two-Factor Verification ทุกผู้ใช้ (Super Admin, Admin, Editor, Author, Contributor, Subscriber)

เว็บหลายแห่ง เช่น Gmail ให้ 2-Step Verification ต้องกรอกรหัสผ่านก่อน แล้วตามด้วยรหัส Real-time (OTP ส่งโทรศัพท์) ทำให้แฮกเกอร์ยากที่จะแตกหรือเข้าถึง Dashboard

18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

จำกัดจำนวนครั้งล็อกอินผิด (Limit Login Attempts)

ธนาคารจำกัด 3 ครั้ง แล้วให้เลือก 'Forgot password' หรือล็อกบัญชี รูปด้านล่างเป็นตัวอย่าง Warning เมื่อล็อกอินผิดหลายครั้ง

18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

นี่คือการกำจัด Brute Force และลดความสำเร็จของแฮกเกอร์

WordPress ค่าเริ่มต้นอนุญาตพยายามล็อกอินไม่จำกัด การเปิดใช้งาน Limited Login Attempts เพิ่มความปลอดภัย และกันแฮกเกอร์ลองหลายพันรูปแบบ มี 3 วิธี:

  • ติดตั้งปลั๊กอิน Limit Login Attempts Reloaded
  • หากมี Malcare อยู่แล้ว จะมี Limited Login Protection อัตโนมัติ ใช้ Captcha-based Protection ป้องกัน Bad Bots
  • แทรกโค้ดใน functions.php เอง (Technical และ Risky หากไม่เก่ง Coding ไม่แนะนำ)

โค้ดและรายละเอียดเพิ่มเติมอยู่ในบทความ Limiting Login Attempts

เก็บ Audit Log

อาจไม่ใช่ Hardening Measure โดยตรง แต่เป็น Must-have Security Measure

ติดตั้งปลั๊กอินอย่าง WP Security Audit Log ติดตามทุกอย่างบนเว็บ คุณจะรู้ว่าผู้ใช้ทำอะไรและเมื่อไหร่ ติดตามสิ่งที่เกิดขึ้น และทำให้ผู้ใช้รับผิดชอบ

ปลั๊กอินบันทึกทุกอย่าง: Logins, Logouts, การเปลี่ยนแปลง, สร้าง, แก้ไข, ลบ, เพิ่ม, อัปเดต ฯลฯ หากถูกแฮก สามารถตรวจ Activity Log หากิจกรรมน่าสงสัย

ได้ Notification ทันทีหากมีการเปลี่ยนแปลงสำคัญ และ Log off หรือ Block ผู้ใช้ได้ใน 1 คลิก

Auto Logout ผู้ใช้ที่ไม่ได้ใช้งาน (Auto Logout Inactive Users)

ฟีเจอร์นี้เห็นในเว็บ/แอพธนาคาร Logout อัตโนมัติหลังจากไม่ได้ใช้งานระยะหนึ่ง เพื่อปกป้องบัญชีจากการเข้าถึงไม่ได้รับอนุญาต

ตั้งค่าได้ด้วยปลั๊กอินที่มี Idle Session Logout feature

ตั้งค่า Alert สำหรับการล็อกอินน่าสงสัย (Set Up Alerts for Suspicious WordPress Logins)

แฮกเกอร์หาวิธีข้ามความปลอดภัยตลอดเวลา เราควรระมัดระวัง ตั้ง Alert บนเว็บเพื่อแจ้งเตือนกิจกรรมน่าสงสัยทันที

ต้องใช้ปลั๊กอินความปลอดภัยอย่าง MalCare มันสแกนเว็บตลอดเวลา และแจ้งเตือนหากตรวจพบมัลแวร์หรือสิ่งน่าสงสัย

ตั้งค่า Web Application Firewall (WAF)

WAF จะบล็อกแฮกเกอร์ ก่อนที่จะเข้าถึงเว็บ โดยติดตาม IP Address (ตัวระบุตัวตนตัวเลขของอุปกรณ์ทุกเครื่องที่เชื่อมอินเทอร์เน็ต)

หาก IP เคยทำกิจกรรมร้าย จะถูกติดธงและบล็อกไม่ให้เข้ามา

ติดตั้ง Firewall ด้วยปลั๊กอินความปลอดภัย และนอนหลับสบายใจว่ามีการป้องกันที่ดีที่สุด

7 วิธี Hardening WordPress ระดับ COMPLEX (ซับซ้อน)

ถึงส่วน "จริงจัง" ของ Hardening มาตรการต่อไปต้องมีความรู้ Coding/Development มิฉะนั้นผิดพลาดอาจทำเว็บ Crash

ดำเนินการด้วยความระมัดระวัง และ สำรองเว็บก่อน หากยังไม่ทำ

บล็อก PHP Execution ในโฟลเดอร์ที่ไม่น่าเชื่อถือ (Block PHP Execution in Untrusted Folders)

ค่อนข้างทางเทคนิค ลองทำให้เข้าใจง่าย:

1. PHP คือ Scripting Language ใช้ใน Web Development ฟังก์ชัน PHP คือบล็อกโค้ดที่ Execute ทำงานได้

2. เว็บ WP ประกอบด้วยไฟล์และโฟลเดอร์ แต่บางโฟลเดอร์เท่านั้นที่ใช้ PHP Functions หากแฮกเกอร์เข้าถึง พวกเขาสร้างโฟลเดอร์ใหม่ หรือแทรก PHP Functions เข้าไปในโฟลเดอร์เดิม

เพื่อป้องกัน ให้บล็อก Execution ของ PHP Functions จากโฟลเดอร์ที่ไม่รู้จัก และ Disable PHP Execution ในที่ที่ไม่จำเป็น

ขั้นตอน:

ข้อควรระวัง: การแก้ไข Backend Files และ Database Tables ของ WordPress เป็นเรื่องเสี่ยง และอาจทำเว็บเสีย ต้องมีความรู้ทางเทคนิค หากไม่แน่ใจดีกว่าขอความช่วยเหลือจากผู้เชี่ยวชาญ

1. เข้าถึงไฟล์เว็บผ่าน cPanel > File Manager หากไม่มี cPanel ใช้ FTP Client เช่น FileZilla (ต้องมี FTP Credentials)

2. ไป public_html จะเห็น 3 โฟลเดอร์: wp-includes, wp-admin, wp-content

18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

3. หาไฟล์ .htaccess หากไม่มี สร้างใหม่โดยเปิด Notepad บันทึกเป็น .htaccess

4. วางโค้ดต่อไปนี้ใน .htaccess:

<Files *.php>
deny from all
</Files>

5. หากสร้างไฟล์ใหม่ ต้องอัปโหลดไป 2 โฟลเดอร์: wp-includes และ wp-content/uploads

สิ่งนี้เปลี่ยน File Permissions และป้องกันไฟล์ PHP ใดๆ รันใน Directory เหล่านี้ หากซับซ้อนเกินไป ปลั๊กอินความปลอดภัยอย่าง MalCare ทำให้อัตโนมัติ

ปิดใช้งาน File Editor (Disable File Editor)

หากแฮกเกอร์ได้เข้าถึงบัญชี WordPress Administrator พวกเขาควบคุมเว็บเต็มรูปแบบ จาก Dashboard พวกเขาสามารถแก้ไขโค้ด Theme และปลั๊กอินผ่านเมนู "Editor" อัปโหลดสคริปต์ของตัวเอง แสดงเนื้อหาของพวกเขา Deface เว็บ Spam ผู้ใช้ ฯลฯ การแฮกทั่วไปผ่าน Editor รวม SQL Injections, SEO Spam, Japanese SEO Spam

หา Editor ได้ที่: Appearance > Editor และ Plugins > Plugin Editor

18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

เพื่อปิด Editor ต้องเข้าถึงไฟล์ wp-config เหมือนวิธีเข้าถึงไฟล์เว็บข้างต้น

ส่วนต่อไปต้องการความรู้ Coding และมีความเสี่ยงทำเว็บเสียหากทำผิด หากไม่แน่ใจ อย่าลองทำ แม้ดูง่าย แนะนำใช้ฟีเจอร์ 'Disable file editor' ใน MalCare

หากยังต้องการทำเอง ขั้นตอนดังนี้:

  1. ใน File Manager หา wp-config 右คลิก → Edit
  2. 18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์
  3. จะเห็นข้อมูลเพิ่มเติม เลือก Disable Encoding Check → Edit
  4. 18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์
  5. เปิด wp-config หาบรรทัด: /* That's all, stop editing! Happy publishing. */
  6. วางโค้ดด้านบนบรรทัดนั้น: define( 'DISALLOW_FILE_EDIT', true );
  7. 18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์
  8. Save และปิด Editor
  9. กลับ Dashboard จะเห็นว่าไม่มีเมนู Editor แล้ว
  10. 18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์
หมายเหตุ: หากไม่มี cPanel ให้ดาวน์โหลด wp-config ผ่าน FTP เปิดใน Text Editor เพิ่มโค้ด อัปโหลดทับไฟล์เก่า

เปลี่ยน Security Keys (Change Security Keys)

เพื่อล็อกอินง่าย WordPress เก็บ Credentials ไว้ ไม่ต้องกรอกทุกครั้ง สำคัญคือ เก็บในรูปแบบ เข้ารหัส (Encrypted)

หากเก็บเป็น Plain Text แฮกเกอร์ได้ข้อมูล อ่านได้เลย หากเข้ารหัส จะเห็นข้อความสุ่ม ไม่สามารถใช้ได้

เพื่อเข้ารหัส WordPress ใช้ Security Keys และ Salts กล่าวง่าย Keys คือตัวแปรสุ่มเข้ารหัส Username/Password Salts ช่วยเพิ่มความแข็งแกรกของการเข้ารหัส

หากแฮกเกอร์ได้ Keys และ Salts พวกเขาสามารถถอดรหัสและแฮกบัญชีได้

แนะนำ เปลี่ยน Keys และ Salts เป็นระยะๆ เพื่อชุดใหม่ ใช้ลิงก์นี้: Secret Key จะได้หน้าตาแบบนี้:

18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

ใช้วิธีเดียวกับข้างต้น เข้าถึงไฟล์ และ Copy-Paste ค่าที่ได้ไปที่ wp-config ตรงนี้:

18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

ตรงนี้ก็ต้องแก้โค้ด เราขอควรระวังเจ้าของเว็บว่าอย่าทำเองหากไม่เก่งเทคนิค ดีกว่าใช้ปลั๊กอินความปลอดภัยจัดการให้

ห้ามติดตั้งปลั๊กอิน (Disallow Plugin Installations)

บางครั้ง User หรือ Client ติดตั้งปลั๊กอินโดยไม่ตรวจสอบ Compatibility หรือ Credibility เหมือนคุณ อาจก่อปัญหา จึงควรปิดความสามารถนี้ทิ้ง

ปิดการติดตั้ง/อัปเดตปลั๊กอินและธีมได้ 2 วิธี:

เพิ่มโค้ดใน wp-config.php

ใช้วิธีเดียวกับส่วนก่อนหน้า เพิ่มบรรทัด:

define('DISALLOW_FILE_MODS', true);
หมายเหตุ: เพื่ออัปเดตหรือติดตั้งปลั๊กอิน/ธีมใหม่ ต้องกลับมาลบบรรทัดนี้ออก

ใช้ปลั๊กอินความปลอดภัย

วิธีง่ายที่สุด: ใช้ปลั๊กอิน หากใช้ MalCare แค่คลิกปุ่ม Enable/Disable

มาตรการสุดโหด แต่น่าเพราะกรณีที่มีหลายคนจัดการเว็บ หรืออยากจำกัด Client ไม่ให้ติดตั้งปลั๊กอินไม่จำเป็น

รักษาความปลอดภัย wp-config.php (Secure wp-config.php)

wp-config.php เป็นไฟล์สำคัญที่สุดใน WordPress เป็นเป้าหมายหลักของแฮกเกอร์ นอกจากมี Database Credentials แล้ว wp-config ยังทำหน้าที่ทำให้ WordPress ทำงาน

อะไรทำได้บ้าง นอกจาก Disable File Editor: เปลี่ยน Security Keys และ Disallow Plugin Installation

ซ่อน wp-config.php (Hide wp-config.php)

วิธีแรก: ย้าย wp-config.php ขึ้น 1 ระดับ ไม่ได้เป็นมาตรการปลอดภัยจริง แต่ทำให้มัลแวร์หายากไฟล์ยากขึ้น การย้ายไม่ทำให้ Impenetrable ตั้งหวังให้เหมาะสม

หมายเหตุ: นักพัฒนาไม่มี Consensus ว่าการย้ายไฟล์ดีหรือไม่ บางกรณี (เช่นช่องโหว่ Contact Form 7) มาตรการนี้อาจไม่มีผล แต่เราชอบฝ่าย "ทำให้ยากที่สุดเท่าที่จะเป็นไปได้"

ปฏิเสธการเข้าถึง wp-config.php (Deny Access to wp-config.php)

Deny Access เป็นมาตรการมั่นคงกว่า และทำแล้วไม่ต้องย้ายไฟล์ ไปที่ .htaccess เพิ่มโค้ดด้านบนสุด:

<files wp-config.php>
order allow,deny
deny from all
</files>

มีหลายอย่างทำได้เพื่อปกป้อง wp-config.php บทความนี้มี Checklist ครบทุกอย่างทำได้ในครั้งเดียว

แยก Database (Separating Databases)

หากรันหลายเว็บด้วย WordPress แยกต่างหาก ควรแยก Database ออกจากกัน เก็บใน Location ต่างกัน ดังนั้นหากแฮกเกอร์เข้าเว็บหนึ่ง เว็บอื่นจะปลอดภัย - ทางทฤษฎี เพราะขึ้นอยู่กับความปลอดภัยของเว็บอื่นๆ เอง

ทำได้ดีตอนติดตั้ง แต่ทำภายหลังได้ และคุ้มค่า ต้องมีความคุ้นเคยกับ MySQL และ Config

รักษาความปลอดภัย wp-admin (Securing wp-admin)

เพื่อนำ Login Security สู่นิ้วถัดไป (ซึ่งคุณควรทำ) - บังคับให้ Login ส่งผ่าน SSL ต้องติดตั้ง SSL และแก้ Mixed Content Issues แล้ว

ไปที่ wp-config.php ที่คุณคุ้นเคยแล้ว เพิ่มโค้ด:

define('FORCE_SSL_ADMIN', true);

เรารู้ว่าขั้นตอนนี้ง่ายมาก แต่มีเหตุผลอยู่ในส่วน Complex เพราะปลั๊กอินบางตัวไม่เล่นร่วมกับ SSL ได้ดี และ SSL บางครั้ง Config แบบแปลกๆ อ่านคู่มือเต็มที่นี่

การใช้ปลั๊กอินความปลอดภัย WordPress

เพื่อทำสิ่งที่เราเสนอข้างต้นได้ง่ายและเร็ว ติดตั้ง MalCare

ปลั๊กอินความปลอดภัย WordPress ที่ดี รวมมาตรการ Hardening ที่ต้องทำ ไฟร์วอลล์ แอปพลิเคชัน เว็บ บอทโปร텍ชัน และสแกนเนอร์ ไม่ต้องเสียเวลาคิดด้านเทคนิค

แต่ปลั๊กอินไม่ได้เสนอความสะดวกและประโยชน์เท่ากัน มีปลั๊กอินเยอะแต่เราแนะนำ MalCare เพราะมันทำงานได้จริง เร็ว ง่าย ในไม่กี่คลิก

ติดตั้งปลั๊กอินเสร็จ เว็บของคุณปลอดภัยแล้ว ดังนี้:

  • สแกนเว็บเป็นประจำ ตรวจสอบกิจกรรมน่าสงสัย
  • Proactive Firewall บล็อกトラフィคร้ายก่อนเข้าถึงเว็บ
  • Real-time Notifications สำหรับมัลแวร์บนเว็บ
  • 1-Click Malware Cleanup
18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

นอกจากฟีเจอร์เหล่านี้ มีระดับ Hardering ต่างๆ ที่เลือกทำได้ เป็น Optional เพราะไม่ใช่ทุกคนต้องการทุกมาตรการ เลือกตามความต้องการ

3 ระดับ Hardening:

Essentials (พื้นฐาน)

18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

บล็อก PHP Execution ในโฟลเดอร์ที่ไม่น่าเชื่อถือ และปิด File Editing ตามที่อภิปราย ไปแล้วคุณไม่ได้แก้ไขไฟล์/โฟลเดอร์ WordPress โดยตรง ใช้งานผ่าน wp-admin Dashboard เท่านั้น ไม่ต้องแก้ไขใน File Editor ของธีม/ปลั๊กอิน การปิดมันปิดประตูบางประตูที่แฮกเกอร์ใช้โจมตี

Advanced (ขั้นสูง)

18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

บล็อกการติดตั้งปลั๊กอินและธีม ไม่มีใครติดตั้งใหม่ได้ มาตรการสุดโหด ใช้ก็ต่อเมื่อสงสัยถูกแฮก หรือมีคนทำงานบนเว็บเยอะ หากอยากติดตั้งใหม่ ต้อง Disable จากแดชบอร์ด MalCare

Paranoid (ระดับสูงสุด)

18 ขั้นตอนพิสูจน์แล้ว ปรับปรุงความปลอดภัย WordPress: คู่มือ Hardening สมบูรณ์

เปลี่ยน Security Keys และ รีเซ็ตรหัสผ่านทุกผู้ใช้ WordPress มักมีทีมหลายคน แต่ละคนมี Login ตัวเอง เพิ่มโอกาสแฮกเกอร์ทาย Credentials เข้าเว็บ

สำคัญที่จะเปลี่ยน Keys และ Passwords เป็นระยะ หากทีมใหญ่ ช่วย Automate กระบวนการให้เร็วขึ้น

หากกำลังกู้คืนจากการแฮก นี่เป็นขั้นตอนจำเป็น เพื่อไม่ให้โดนแฮกซ้ำ

นอกจากนี้ ยังได้ฟีเจอร์ความปลอดภัย WordPress เพิ่มเติม:

  • Limited Login Attempts
  • CAPTCHA-based Login
  • Alerts สำหรับการเข้าถึงไม่ได้รับอนุญาต
  • Activity Log แสดงการแก้ไข/อัปเดตไฟล์บนเว็บ
  • วิเคราะห์ทุก IP Request ป้องกัน Brute Force
  • ป้องกันภัยคุกคามทั่วไป: SQL Injection, SEO Spam, DDoS

ปลั๊กอินความปลอดภัย WordPress ครบวงจร มีค่ามากกว่าผลรวมของส่วนประกอบ แม้มาตรการแต่ละอย่างมีผลต่อภัยคุกคาม แต่รวมกันก็สร้างกำแพงกันแฮกที่แข็งแกร่ง ติดตั้ง MalCare ตอนนี้ และนอนหลับสบายใจว่าคุณทำทุกอย่างเพื่อปกป้องเว็บแล้ว

เพิ่มเติมสำหรับ Extra Credit

เคล็ดลับต่อไปไม่อยู่ในหมวด Hardening แต่เป็น Best Practices สำหรับ Admin ที่ใส่ใจความปลอดภัย แนะนำทำหลังจบรายการข้างต้น

สำรองเว็บไซต์ (Backup Your Website)

รายการน่าเบื่อที่สุด: Backup เรารู้ เราพัฒนาปลั๊กอิน Backup ที่ดีที่สุดสำหรับ WordPress

ความสำคัญของ Backup ดีที่สุดอธิบายได้จากสถานการณ์แย่: คุณใช้หลายเดือน/ปีสร้างเว็บ มีลูกค้า เนื้อหาดี สร้างรายได้จากโฆษณา มีชื่อเสียง และ พลับ โดนหายไปในวันหนึ่ง อาจเป็นมัลแวร์ หรือ Server ล้มเหลวของโฮสติ้ง ใดๆ ก็ตามจากล้านเหตุผล คุณจะยอมให้อะไรเพื่อมี Backup ในช่วงนั้น?

Backup สำคัญมาก นี่เป็น Common Sense

เก็บคอมพิวเตอร์ให้สะอาดจากมัลแวร์ (Keep Computer Clean of Malware)

บางทีสิ่งชัดเจนทำให้เราล้ม ไม่ว่าคอมพิวเตอร์ไหนที่คุณใช้ - หรือ WiFi - ส่งผลต่อความปลอดภัยเว็บ ไม่มีประโยชน์ Hardening WordPress หากคอมพิวเตอร์มี Keylogger คุณมอบ Credentials ให้แฮกเกอร์ไปแล้ว

อัปเดตทุกอย่างตลอดเวลา (Always Keep Everything Updated)

นอกจาก WordPress Core ต้องอัปเดตธีมและปลั๊กอิน ช่องโหว่ค้นพบทุกวัน นักพัฒนาปลั๊กอินปล่อย Patches แก้ช่องโหว่

หากไม่ใช้ปลั๊กอิน/ธีม ให้ลบทิ้ง ติดตั้งใหม่ได้ภายหลังหากต้องการ

เพิ่มเติม: นี่คือเหตุผลควรซื้อปลั๊กอินจ่ายเงิน ปลั๊กอินจ่ายเงินมัก Maintained อย่างต่อเนื่อง และมี Support Channel สำหรับปัญหา ที่ MalCare เราใช้ประสบการณ์เว็บถูกแฮกปรับปรุงปลั๊กอินทุกวัน ปลั๊กอินที่ Maintained อยู่เสมอ = การลงทุนในความปลอดภัย

ใช้ SFTP

หากใช้ FTP ถ่ายโอนไฟล์ ลองเปลี่ยนมา SFTP ทำงานคล้ายกัน แต่ใช้ SSH ข้อมูลที่ส่งเข้ารหัส อ่านไม่ได้ระหว่างทาง SFTP ใช้ Authentication ทั้ง User และ Server

SFTP กำลังเป็นมาตรฐานใหม่ แทน FTP Config คล้ายกัน ไม่มีเหตุผลดีที่จะอยู่กับโปรโตคอลเก่า

ใช้ Web Host ที่น่าเชื่อถือ (Use a Trusted Web Host)

บทความความปลอดภัยส่วนใหญ่ (รวมนี้) เน้นสิ่งที่ Admin ทำได้เพื่อรักษาความปลอดภัย เว็บไซต์มากมาย แต่ไม่ได้หมายความว่า Server ไม่เปราะบาง

คุณทำอะไรไม่ได้ หากโฮสติ้งไม่ทำหน้าที่ปกป้องเซิร์ฟเวอร์ เซิร์ฟเวอร์ก็เปราะบางต่อการโจมตี ไม่ได้แค่ดิจิทัล เซิร์ฟเวอร์อยู่ในสถานที่ปลอดภัยทางกายภาพไหม? แฮกเกอร์เข้าห้องขโมยข้อมูลได้ไหม? นี่คือข้อพิจารณาสำคัญ แต่ Admin ควบคุมได้จำกัด

ทำได้อะไร? เลือกโฮสติ้งน่าเชื่อถือ โฮสติ้งดีจะโปร่งใสเกี่ยวกับ Practice และมีมาตรการเฉพาะเจาะจงปกป้องเซิร์ฟเวอร์ ไม่ใช่ที่จะตัดต้นทุน เพราะโฮสติ้งราคาถูกอาจกลายเป็นตัดสินใจที่แพงที่สุดในระยะยาว

สรุป

เราไม่สามารถเน้นย้ำความสำคัญของการติดตั้งปลั๊กอินความปลอดภัย WordPress ได้พอ

การลบมัลแวร์เป็นกระบวนการรื้อถอน ยาก และพลาดง่าย มีค่าใช้จ่ายสูง เฉพาะผู้เชี่ยวชาญเท่านั้นที่ควรทำ และอาจแพงมาก นอกจากนี้ คุณสูญเสีย Data, Traffic, Reputation และอีกมากมายแล้วในตอนนั้น

ดังนั้น ใช้ Preemptive Approach (การป้องกันล่วงหน้า) ติดตั้งปลั๊กอินความปลอดภัย WordPress ที่ดี แล้วกลับมาทำ Hardening ตามบทความนี้ และสุดท้าย Audit เว็บตรวจสอบข้อผิดพลาด Hardening พบบ่อย

ตัวเองในอนาคตจะขอบคุณความมองไกลของคุณ

FAQs

WordPress Hardening คืออะไร?

WordPress Hardening เป็นคำรวมสำหรับ Settings และ Configurations ที่เพิ่มความปลอดภัยเว็บไซต์ ครอบคลุมทุก Asset ของเว็บ และเสริมจุดเข้าที่รู้จักว่าเปราะบาง เพื่อลดความเสี่ยงการติดเชื้อ

ทำไมต้อง Hardening WordPress?

หากคุณสนใจความปลอดภัยเว็บ และต่อเนื่องถึงความปลอดภัยข้อมูลผู้เยี่ยมชม นั่นคือเหตุผล การ Hardening เป็นมาตรการง่ายๆ แก้ช่องโหว่ ลดความเสี่ยงมัลแวร์

จำไว้: การกำจัดมัลแวร์ยากกว่าการป้องกันมากมาย

Hardening WordPress ยากไหม?

มีมาตรการง่าย ทำผ่าน Dashboard ได้ ไม่ยาก มีมาตรการซับซ้อนกว่า แต่ติดตั้งปลั๊กอินความปลอดภัยจะช่วยลดความซับซ้อนมาก และ ติดตั้งปลั๊กอินไม่ยากเลย

ถ้ามีปลั๊กอินความปลอดภัยแล้ว ต้อง Harding อีกไหม?

ต้อง เพราะแม้ปลั๊กอินดีจะรวมมาตรการ Hardging สำคัญหลายอย่าง แต่ไม่ทำได้ทั้งหมด เนื่องจากการเลือก Password แข็งแกรก หรือ Authentication Protocols อยู่นอกขอบเขตของปลั๊กอินความปลอดภัย