Xác thực hai lớp và bảo mật tài khoản
Bật đăng nhập hai lớp bằng ứng dụng xác thực, lưu mã khôi phục, bắt buộc 2FA cho người khác, quản lý phiên đăng nhập và lấy lại quyền truy cập khi mất điện thoại.
Xác thực hai lớp (2FA) yêu cầu thêm mã 6 số từ ứng dụng trên điện thoại sau khi nhập mật khẩu, nên kẻ gian có lộ hay đoán được mật khẩu cũng không vào được panel. ZoPanel dùng mã TOTP chuẩn, chạy được với Google Authenticator, Authy, 1Password, Microsoft Authenticator, Bitwarden và các ứng dụng xác thực khác. Mọi người dùng panel đều bật được: quản trị viên, đại lý, khách hàng và thành viên website.
Bật xác thực hai lớp
Bạn cần một ứng dụng xác thực trên điện thoại (hoặc trình quản lý mật khẩu có lưu mã TOTP).
- Mở Tài khoản của tôi (trong nhóm menu Tài khoản, hoặc menu dưới tên của bạn).
- Trong thẻ Xác thực hai lớp, nhập Mật khẩu hiện tại rồi bấm Bật 2FA.
- Quét mã QR bằng ứng dụng. Nếu không quét được, nhập Khoá bí mật hiển thị bên dưới vào ứng dụng.
- Nhập mã 6 số ứng dụng hiển thị vào ô Mã xác thực rồi bấm Xác minh & bật.
- Mã khôi phục hiện ra. Bấm Sao chép hoặc Tải xuống và cất ở nơi an toàn, tách khỏi điện thoại (trình quản lý mật khẩu hoặc bản in). Mã chỉ hiển thị lúc này.
Thẻ chuyển sang trạng thái Đang bật. Khi bật 2FA, các phiên đăng nhập khác bị đăng xuất và API token của bạn bị thu hồi; hãy tạo token mới sau đó nếu bạn có dùng.
Mục trong ứng dụng mang tên panel (hoặc tên panel của nhà cung cấp) và tên đăng nhập của bạn.
Đăng nhập khi đã bật 2FA
- Nhập Tên đăng nhập, Mật khẩu rồi bấm Đăng nhập.
- Nhập mã 6 số từ ứng dụng rồi bấm Xác minh.
Mỗi mã có hiệu lực 30 giây, và ZoPanel chấp nhận cả mã liền trước, liền sau để bù lệch giờ nhỏ. Mỗi mã chỉ dùng được một lần: sau khi đăng nhập thành công, chính mã đó (hoặc mã cũ hơn) bị từ chối. Nếu mã luôn bị báo sai, hãy bật chế độ đặt giờ tự động trên điện thoại.
Mã khôi phục
Bạn nhận 10 mã khôi phục, mỗi mã có dạng xxxxx-xxxxx. Mỗi mã thay cho mã từ ứng dụng được một lần.
- Dùng mã: ở bước nhập mã của trang đăng nhập, bấm Mất điện thoại? Dùng mã khôi phục, nhập một mã (có hoặc không có dấu gạch) rồi bấm Xác minh.
- Xem còn bao nhiêu mã: thẻ Xác thực hai lớp hiển thị Còn {n} mã khôi phục. Mỗi lần dùng mã đều được ghi vào Nhật ký hoạt động.
- Tạo mã mới: nhập Mật khẩu và, ở ô Mã từ ứng dụng hoặc mã khôi phục, mã hiện tại từ ứng dụng hoặc một mã khôi phục chưa dùng, rồi bấm Tạo mã khôi phục mới. Các mã cũ hết hiệu lực ngay.
Hãy tạo mã mới khi chỉ còn ít mã, hoặc khi nghi có người đã nhìn thấy chúng.
Tắt xác thực hai lớp
Trong thẻ Xác thực hai lớp, nhập Mật khẩu và, ở ô Mã từ ứng dụng hoặc mã khôi phục, mã hiện tại từ ứng dụng hoặc một mã khôi phục chưa dùng, rồi bấm Tắt 2FA. Mã khôi phục dùng ở đây sẽ hết hiệu lực. Các phiên đăng nhập khác bị đăng xuất, API token bị thu hồi và mã khôi phục bị xoá.
Khi quản trị viên đang bắt buộc 2FA cho tài khoản của bạn, mã từ ứng dụng bị từ chối ở đây (two-factor authentication is required for your account). Lúc đó chỉ mã khôi phục mới tắt được 2FA, dành cho trường hợp mất điện thoại, và bạn phải thiết lập lại 2FA ngay trước khi làm được bất cứ việc gì khác trong panel.
Bắt buộc 2FA cho người dùng khác (quản trị viên)
- Bật 2FA cho chính tài khoản của bạn trước.
- Vào Cài đặt → Chung → Bắt buộc xác thực hai lớp.
- Chọn đối tượng bắt buộc rồi bấm Lưu:
| Lựa chọn | Ai phải dùng 2FA |
|---|---|
| Không bắt buộc | Không ai (mặc định) |
| Quản trị viên và đại lý | Mọi quản trị viên và đại lý |
| Tất cả | Mọi người dùng, kể cả khách hàng và thành viên website |
Người dùng bị bắt buộc mà chưa thiết lập 2FA sẽ được đưa tới Tài khoản của tôi sau khi đăng nhập, kèm dòng Quản trị viên yêu cầu xác thực hai lớp: hãy thiết lập bên dưới để tiếp tục. Cho tới khi hoàn tất, họ chỉ có thể thiết lập 2FA hoặc đăng xuất. Danh sách Quản trị viên đánh dấu quản trị viên chưa có 2FA bằng nhãn chưa bật 2FA.
Xác nhận lại cho thao tác nhạy cảm
Một số thay đổi yêu cầu nhập lại mật khẩu dù bạn đang đăng nhập, để kẻ gian lấy được cookie phiên cũng không làm được:
| Thao tác | Yêu cầu |
|---|---|
| Đổi mật khẩu | Mật khẩu hiện tại |
| Bật 2FA | Mật khẩu hiện tại |
| Tạo mã khôi phục mới | Mật khẩu và mã từ ứng dụng hoặc mã khôi phục |
| Tắt 2FA | Mật khẩu và mã từ ứng dụng hoặc mã khôi phục |
| Tạo API token | Mật khẩu, kèm mã xác thực khi đã bật 2FA |
| Đổi Tên đăng nhập của quản trị viên | Mật khẩu, kèm mã xác thực khi đã bật 2FA |
Nhập sai 5 lần trong 15 phút sẽ khoá việc xác nhận này trong 15 phút, và thử thêm trong lúc bị khoá sẽ kết thúc phiên đăng nhập.
Đổi mật khẩu sẽ đăng xuất mọi phiên khác và thu hồi mọi API token của bạn.
Phiên đăng nhập
Thẻ Phiên đăng nhập trong Tài khoản của tôi liệt kê mọi trình duyệt đang đăng nhập tài khoản của bạn, kèm địa chỉ IP, trình duyệt và lần hoạt động gần nhất. Phiên hiện tại được đánh dấu phiên này.
- Bấm biểu tượng xoá ở một phiên để đăng xuất phiên đó.
- Bấm Đăng xuất mọi nơi khác để kết thúc mọi phiên trừ phiên hiện tại.
Phiên tự hết hạn sau 12 giờ không hoạt động, và trong mọi trường hợp sau 7 ngày kể từ lúc đăng nhập. Khi nhà cung cấp dùng Đăng nhập vào tài khoản này để hỗ trợ bạn, phiên đó không hiện trong Phiên đăng nhập của bạn, được ghi dưới tên nhà cung cấp trong nhật ký hoạt động, và không thể dùng phiên đó để đổi mật khẩu, 2FA, API token, SSH key hay phiên đăng nhập của bạn.
Chống dò mật khẩu và cảnh báo đăng nhập
- Giới hạn số lần thử: nhập sai mật khẩu hoặc mã nhiều lần sẽ bị từ chối với thông báo
too many failed attempts, try again latertrong 15 phút (5 lần sai cho một tên đăng nhập từ một địa chỉ, 10 lần sai từ một địa chỉ, hoặc 100 lần sai cho một tên đăng nhập từ mọi địa chỉ trong một giờ). fail2ban còn chặn ở tường lửa các địa chỉ sai nhiều lần. Xem Bảo mật. - Nhật ký hoạt động: khách hàng xem lượt đăng nhập và thay đổi trên tài khoản ở Tài khoản → Nhật ký hoạt động, kể cả thay đổi do nhà cung cấp thực hiện.
- Cảnh báo cho quản trị viên: trong Cài đặt → Cảnh báo, sự kiện Đăng nhập từ IP mới (bật sẵn) và Đăng nhập panel thất bại (tắt sẵn) gửi tin qua email, Telegram hoặc webhook. Xem Cài đặt panel.
API token
API token (zpat_…) cho phép script và hệ thống billing gọi API mà không cần mật khẩu. Token được tạo ở Tài khoản của tôi → API token và cần license Pro. Token không bao giờ đổi được mật khẩu hay 2FA, không tạo được token khác, không mở được terminal, và khi tạo token panel hỏi lại mật khẩu (và mã 2FA). Nếu chủ token thuộc diện bắt buộc 2FA mà chưa thiết lập, token bị từ chối. Xem API cấp phát.
Mất điện thoại
Bạn tự chuyển 2FA sang điện thoại mới được nếu còn hai mã khôi phục chưa dùng:
- Đăng nhập bằng mã khôi phục (xem ở trên).
- Mở Tài khoản của tôi. Trong thẻ Xác thực hai lớp, nhập Mật khẩu và một mã khôi phục chưa dùng khác vào ô Mã từ ứng dụng hoặc mã khôi phục, rồi bấm Tắt 2FA. Cách này dùng được cả khi quản trị viên bắt buộc 2FA.
- Thiết lập lại 2FA với điện thoại mới, như ở phần Bật xác thực hai lớp, và cất các mã khôi phục mới. Nếu 2FA đang bắt buộc, panel yêu cầu làm việc này ngay và không cho làm gì khác cho tới khi xong.
Nếu ứng dụng vẫn còn trên thiết bị khác (máy tính bảng, trình quản lý mật khẩu), bạn có thể dùng mã từ đó thay cho mã khôi phục.
Nếu không còn mã khôi phục nào:
- Khách hàng, đại lý và thành viên website: đề nghị nhà cung cấp hosting đặt lại xác thực hai lớp. Việc này do quản trị viên có quyền root thực hiện trên máy chủ bằng lệnh bên dưới; đại lý chuyển yêu cầu tới quản trị viên của máy chủ.
- Quản trị viên có quyền root trên máy chủ: chạy với quyền root:
zopanel ctl disable-2fa TÊN-ĐĂNG-NHẬP
Lệnh tắt 2FA của người dùng đó, đăng xuất họ ở mọi nơi và thu hồi API token. Họ đăng nhập bằng mật khẩu rồi thiết lập lại 2FA trong Tài khoản của tôi; nếu 2FA đang bắt buộc, panel yêu cầu thiết lập ngay sau khi đăng nhập.
Nếu mất cả mật khẩu, đặt mật khẩu mới:
zopanel ctl reset-password TÊN-ĐĂNG-NHẬP
# hoặc tự chọn mật khẩu:
zopanel ctl reset-password TÊN-ĐĂNG-NHẬP --password 'Mat-Khau-Dai-Moi-2026'
Không có --password, lệnh in ra một mật khẩu ngẫu nhiên 16 ký tự. Phiên đăng nhập và API token của người dùng bị thu hồi. Với tài khoản hosting, lệnh này không đổi mật khẩu SFTP; hãy cập nhật từ panel. Quản trị viên hoặc đại lý cũng có thể đặt mật khẩu mới cho khách của mình ở Tài khoản → Sửa. Xem Tham chiếu dòng lệnh.
Xử lý sự cố
| Thông báo hoặc vấn đề | Nguyên nhân và cách xử lý |
|---|---|
invalid authentication code hoặc invalid code |
Mã sai, mã đã dùng, hoặc giờ trên điện thoại bị lệch. Bật đặt giờ tự động trên điện thoại và dùng mã kế tiếp. |
too many failed attempts, try again later |
Bị giới hạn sau nhiều lần sai. Chờ 15 phút. |
invalid password or code |
Mật khẩu hoặc mã trong biểu mẫu xác nhận bị sai. |
current password is incorrect |
Ô Mật khẩu hiện tại bị sai. |
two-factor authentication must be set up first (Account page) |
Tài khoản của bạn bắt buộc 2FA; hãy thiết lập ở Tài khoản của tôi. |
two-factor authentication is required for your account |
Bạn tắt 2FA bằng mã từ ứng dụng trong khi 2FA đang bắt buộc. Lúc đó chỉ mã khôi phục mới tắt được (khi mất điện thoại). |
enable two-factor authentication on your own account first |
Quản trị viên bắt buộc 2FA khi chính mình chưa bật. |
session expired |
Phiên không hoạt động 12 giờ, đã đủ 7 ngày, hoặc bị đăng xuất từ phiên khác. Đăng nhập lại. |
| Không quét được mã QR | Nhập Khoá bí mật vào ứng dụng (loại theo thời gian, 6 số, 30 giây). |
| Mã khôi phục bị từ chối | Mỗi mã chỉ dùng một lần; xem Còn {n} mã khôi phục và dùng mã khác. |
Xem thêm
- Bảo mật
- Cài đặt panel
- Tham chiếu dòng lệnh
- API cấp phát
- Thành viên website
- Hướng dẫn cho khách hàng hosting