พูดถึงความปลอดภัยรหัสผ่าน มักหมายถึงความแข็งแกร่งของรหัสผ่านว่าง่ายแค่ไหนที่แฮกเกอร์จะเดาได้ แต่ด้านหนึ่งที่น้อยคนพูดถึงคือ "วิธีเก็บรหัสผ่านในฐานข้อมูล" WordPress ปกติจะ salt รหัสผ่านแล้วผ่าน MD5 hashing ก่อนเก็บในฐานข้อมูล ดูปลอดภัย แต่จริงๆ MD5 มีช่องโหว่มาก CMU Software Engineering Institute ระบุว่า MD5 "แตกแล้วในทางเข้ารหัส และไม่เหมาะสำหรับใช้ต่อไป"
แก้ไขอย่างไร? ใช้ bcrypt algorithm ผ่านปลั๊กอิน wp-password-bcrypt
bcrypt 基於 Blowfish cipher เป็นฟังก์ชันปรับตัว (adaptive) หมายถึง เพิ่มจำนวนรอบการทำงาน (iteration count) ตามเวลา ทำให้ช้าลง ทนทานต่อ brute-force แม้กำลังคอมพิวเตอร์เพิ่มขึ้น
แม้ไม่เก่งเทคนิค ก็อัปเกรด WordPress ใช้ bcrypt แทน MD5 ได้ง่าย
- ไปหน้า GitHub ของ wp-password-bcrypt คลิก "Clone or download" ดาวน์โหลด ZIP
- แตกไฟล์ ZIP เปิดโฟลเดอร์ ต้องการแค่ไฟล์
wp-password-bcrypt.php - เชื่อมต่อเซิร์ฟเวอร์ WordPress ด้วย FTP (หรือ cPanel) สร้างโฟลเดอร์
mu-pluginsใต้wp-content(หากมีอยู่แล้วข้ามขั้นนี้) - เรียกว่า "Must Use Plugins" ปลั๊กอินในโฟลเดอร์นี้จะเปิดใช้งานอัตโนมัติ - อัปโหลด
wp-password-bcrypt.phpไปที่โฟลเดอร์mu-pluginsเสร็จแล้ว
ปลั๊กอินนี้จะ re-hash รหัสผ่านด้วย bcrypt และเก็บในฐานข้อมูลทุกครั้งที่ผู้ใช้ล็อกอิน ไม่ต้องตั้งค่า ทำงานเบื้องหลังอัตโนมัติ หมายเหตุ: ผู้ใช้ที่ไม่ได้ล็อกอินนาน รหัสผ่านยังคงเป็น MD5
ถอนการติดตั้ง: แค่ลบไฟล์ออกจาก mu-plugins ไม่มีผลลบหลัง ทุกอย่างทำงานต่อได้ปกติ
สรุป
ผู้ใช้ปกป้องตัวเองได้ดีที่สุดก็เปล่าถ้าระบบเองไม่ปลอดภัย การเปลี่ยนมาใช้ bcrypt ปรับปรุงความปลอดภัยรหัสผ่าน WordPress ได้รวดเร็ว ป้องกันไม่ให้แฮกง่าย (สมมติใช้รหัสผ่านแข็งแกร่งด้วย)