Two-Factor Authentication (2FA)
Xác thực 2 bước (2FA) thêm lớp bảo mật thứ hai sau mật khẩu. Người dùng phải cung cấp thêm mã OTP từ app, SMS, hoặc email để đăng nhập thành công.
Phương thức hỗ trợ
| Phương thức | Mô tả | Độ bảo mật |
|---|---|---|
| Authenticator App (TOTP) | Google Authenticator, Authy, Microsoft Authenticator | ★★★★★ |
| SMS | Mã OTP qua tin nhắn điện thoại | ★★★ |
| Mã OTP qua email | ★★★ | |
| Backup Codes | Mã dự phòng offline | ★★★★ |
Cấu hình cho System Admin
System Settings > Security > Two-Factor Authentication:
Allow 2FA providers:
✓ Authenticator app (TOTP)
✓ SMS
✓ Email
✓ Backup codes
SMS verification message: "VieLang IoT verification code: ${code}"
Total allowed time for verification: 30 seconds
Max verification failures before lockout: 3
Bắt buộc 2FA cho Tenant
Bật bắt buộc 2FA theo tenant profile:
Tenant Profiles > [Profile] > Security:
Force 2FA: ✓
→ Tất cả user thuộc tenant này phải bật 2FA
→ Không bật 2FA sẽ không đăng nhập được
Cài đặt 2FA cho User
Bước 1: Mở cài đặt bảo mật
Profile > Security > Two-Factor Authentication > Add 2FA method
Bước 2: Chọn phương thức
Authenticator App (TOTP)
- Mở Google Authenticator / Authy
- Quét QR Code hiển thị trên màn hình
- Nhập mã 6 số từ app để xác nhận
- Lưu cài đặt
Secret: JBSWY3DPEHPK3PXP (dùng thủ công nếu không quét được QR)
Period: 30 seconds
Algorithm: SHA1
Digits: 6
SMS
- Nhập số điện thoại
- Nhận mã OTP qua SMS
- Xác nhận để kích hoạt
- Email sẽ là địa chỉ email tài khoản
- Click "Send verification code"
- Nhập mã nhận được
Backup Codes
Sau khi bật bất kỳ phương thức nào:
- Click "Generate backup codes"
- Nhận 8 mã, mỗi mã dùng được 1 lần
- In ra hoặc lưu an toàn — không thể xem lại
Backup codes (ví dụ):
12345678
23456789
34567890
45678901
56789012
67890123
78901234
89012345
Luồng đăng nhập với 2FA
1. Nhập username + password → ✓
2. Hiển thị màn hình 2FA
3. Nhập mã OTP (từ app/SMS/email)
4. Đăng nhập thành công
Quản lý 2FA của User
User tự quản lý tại Profile > Security:
- Xem phương thức đang bật
- Thêm phương thức mới
- Xóa phương thức
- Tạo backup codes mới
- Disable 2FA (nếu không bị bắt buộc)
Admin: Xóa 2FA cho User
Khi user mất thiết bị và backup codes:
Users > [User] > Security > Reset 2FA
User sẽ phải cài đặt lại 2FA sau lần đăng nhập kế tiếp.
Tích hợp với OAuth 2.0
Nếu dùng SSO (OAuth 2.0), 2FA của VieLang IoT không áp dụng — thay vào đó dùng 2FA của identity provider (Google, Azure AD, Keycloak...).
Lưu ý bảo mật
- Backup codes cần được lưu offline (không lưu trên cùng thiết bị)
- SMS 2FA dễ bị SIM swap attack — ưu tiên Authenticator App
- TOTP tạo mã mới mỗi 30 giây, không thể reuse
- Sau 3 lần nhập sai → tài khoản bị khóa tạm thời