Trước đây mình đã có bài viết về cách sử dụng Apps Google Authenticator của Google để kích hoạt tính năng bảo mật 2 bước (Two Factor Authentication), chống tân công dò mật khẩu cho tài khoản VPS tại Linode – DigitalOcean – Vultr.
Bài này mình sẽ hướng dẫn thêm một cách nữa bảo mật tài khoản Website WordPress. Với cách làm này mỗi lần dùng account admin truy cập vào Dashboard của WordPress, ví dụ https://www.thuysys.com/wp-admin, ngoài việc nhập mật khẩu admin, bạn sẽ phải nhập thêm một dãy số bí mật gồm 6 số ngẫu nhiên được sinh ra từ ứng dụng Google Authenticator.
Sẽ có bạn thắc mắc, tại sao phải dùng ứng dụng OTP trên SmartPhone mà không dùng theo cách gửi SMS đến điện thoại giống kiểu ngân hàng gửi OTP mỗi khi giao dịch trên Internet Banking.
Có một vài lý do sau:
- Gửi tin nhắn OTP đến điện thoại sẽ có độ trễ, nhiều khi mất cả ngày bạn mới có mật đẩu để login vào website được. Đây là lý do mình căm ghét nhất.
- Điện thoại không có sóng không có mạng internet thì sao, không nhẽ lại dùng mã dự phòng suốt ?
- Website của bạn có nhiều user cùng hoạt động thì làm thế nào ?
- Khi mất điện thoại làm sao vẫn truy cập được vào website ?
- Và cuối cùng, theo chuyên gia gửi SMS là không an toàn và rất tốn kém, chẳng thế mà mấy ông BANK thi nhau viết Apps OTP.
Để đi tiếp nội dung, bạn đọc lại bài cũ của mình để biết cách cài đặt ứng dụng Google Authenticator trên SmartPhone cũng như cách sử dụng nó.
1. Cài đặt Plugin
Trước tiên bạn sẽ phải cài thêm một plugin cho WP, vào phần Add Plugin rồi search từ khóa “google authenticator” là ra thôi. Bạn lưu ý plugin trên WordPress và app trên Mobile trùng tên nhau để không bị nhầm lẫn.
Cài xong, bạn vào Users > Your Profile muốn cài OTP cho user nào thì bạn chọn user đó. Tiếp theo tìm đến mục Google Authenticator Setting chọn Active như hình bên dưới.
Trong mục Secret bạn sẽ có 2 cách để add tài khoản vào ứng dụng trên điện thoại.
- Cách thứ nhất là dùng là dùng ứng dụng Google Authenticator trên mobile quét QR Code, dùng cách này tiện nhất.
- Cách thứ hai là dùng chuỗi mã hóa ô bên cạnh để add thủ công trên mobile, dùng cách này khi việc quyét QR code có vấn đề hoặc camera điện thoại bị hỏng chẳng hạn.
Mình dùng cách thứ nhất, chọn Show/Hide QR code rồi mở ứng dụng Google Autheticator quét QR code làm xong bạn sẽ thấy như hình dưới.
Vào lại Dashboard bạn sẽ thấy có thêm ô nhập OTP nữa, ^^ thế là thành công rồi.
2. Dùng xác thực 2 lớp cho nhiều user
Trong trường hợp trang web có nhiều công tác viên hoạt động.
Bạn muốn Writer thì không cần phải xác thực qua 2 bước mà vẫn đăng nhập bằng mật khẩu bình thường. Còn SEOer thì phải xác thực qua 2 bước.
Rất đơn giản, bạn chỉ cần tạo tài khoản tương ứng trong mục Google Authenticator Settings chọn Active hoặc không chọn thôi.
3. Vô hiệu hóa Two Factor Authentication
Trong trường hợp mất điện thoại không thể truy cập được vào website, bạn có thể dễ dàng Disable tính năng này.
Bạn login vào VPS đổi tên thư mục cài plugin đi là được /public_html/wp-content/plugins/google-autheticator
mv google-authenticator new-google-authenticator
Sau đó truy cập vào khu vực quản trị website bạn sẽ thấy không còn hỏi OTP nữa, bạn nhập password như bình thường thôi.
Muốn sử dụng lại tính năng bảo mật 2 lớp mật khẩu bạn vào lại khu vực quản lý Plugin rồi Active lại là được. Nếu bạn chạy web trên hosting thì vào File Manager cũng đổi tên thư mục tương tự.
Đây là cách chống tấn công Brute Force Attacks cho website rất hiệu quả. Bản thẩn mình dùng ứng dụng xác thực 2 lơp trên Mobile rất nhiều, từ tài khoản email, VPS, Website, đến cả tài khoản ngân hàng cũng dùng luôn.
Các bạn hãy thử xem sao, với nó bạn khỏi phải đợi đợi dài cổ như SMS OTP nữa rất tiện.
Em thay đổi URL vào admin vs config code vào email nên hầu như hạn chế tối đa phương thức brute force attacks