Khi nói về bảo mật mật khẩu, thường đề cập đến độ mạnh mật khẩu và việc hacker có dễ đoán không. Tuy nhiên, khía cạnh ít được nhắc đến là cách mật khẩu được lưu trong cơ sở dữ liệu. Trong WordPress, mỗi mật khẩu thường được thêm muối (salted) và qua băm MD5 trước khi lưu. Có vẻ ổn và an toàn cho đến khi biết MD5 bị lỗ hổng nghiêm trọng. Theo Viện Kỹ thuật Phần mềm CMU, MD5 về cơ bản là "đã bị phá vỡ về mật mã và không phù hợp sử dụng tiếp".
Vậy làm sao cải thiện bảo mật mật khẩu WordPress? Câu trả lời là dùng thuật toán bcrypt, cụ thể qua plugin wp-password-bcrypt.
bcrypt dựa trên mật mã Blowfish và là hàm thích ứng. Nghĩa là theo thời gian, số lần lặp có thể tăng để làm chậm hơn, từ đó vẫn chống được tấn cứu brute-force ngay khi sức mạnh tính toán tăng.
May mắn thay, ngay cả không rành kỹ thuật, bạn cũng dễ dàng nâng cấp WordPress thay MD5 bằng bcrypt.
- Vào trang Github wp-password-bcrypt, nhấp "Clone or download" để tải file ZIP về máy.
- Giải nén file ZIP, mở thư mục giải nén. Chỉ cần file "wp-password-bcrypt.php".
- Dùng FTP (hoặc cPanel) kết nối máy chủ WordPress, tạo thư mục "mu-plugins" dưới "wp-content". Đây là thư mục "Must Use Plugins", mọi plugin đặt ở đây tự động kích hoạt. Nếu "mu-plugins" đã tồn tại, bỏ qua bước này.
- Tải file "wp-password-bcrypt.php" vào thư mục "mu-plugins", xong.
Plugin "wp-password-bcrypt" làm việc: băm lại mật khẩu bằng bcrypt và lưu vào cơ sở dữ liệu khi người dùng đăng nhập. Không cần cấu hình, mọi thứ tự động chạy ngầm. Lưu ý: nếu trang có nhiều người dùng không hoạt động lâu, mật khẩu họ vẫn dùng MD5.
Cuối cùng, để gỡ plugin, chỉ cần xóa khỏi thư mục "mu-plugins". Không hậu quả tiêu cực, mọi thứ vẫn hoạt động bình thường.
Kết luận
Vô nghĩa nếu người dùng tự bảo vệ mình mà hệ thống không an toàn. Bằng cách chuyển sang bcrypt, bạn nhanh chóng cải thiện bảo mật mật khẩu WordPress, ngăn tài khoản dễ bị bẻ khóa (giả định họ dùng mật khẩu mạnh).