Bỏ qua tới nội dung
Kiến thức Website· ·13 phút đọc

Xác thực 2 lớp là gì và khi nào nên bật cho website

Nguyen Hien
Xác thực 2 lớp là gì và khi nào nên bật cho website
Cỡ chữ

Nhiều chủ website nghĩ mật khẩu phức tạp là đủ an toàn. Thực tế thì không hẳn. Mật khẩu có thể bị lộ theo nhiều cách nằm ngoài tầm kiểm soát của bạn: vi phạm dữ liệu từ dịch vụ khác bạn đang dùng, phần mềm ghi bàn phím trên máy, hoặc đơn giản là bị lừa nhập vào trang giả. Xác thực 2 lớp là lớp bảo vệ thứ hai được thêm vào để ngay cả khi mật khẩu bị lộ, kẻ tấn công vẫn không vào được tài khoản.

Xác thực 2 lớp là gì

Xác thực 2 lớp (2FA, tức Two-Factor Authentication, hay MFA, tức Multi-Factor Authentication) là phương thức đăng nhập yêu cầu người dùng cung cấp ít nhất 2 bằng chứng danh tính khác nhau trước khi được truy cập. Thay vì chỉ cần mật khẩu, bạn cần thêm một thứ nữa mà kẻ tấn công không có trong tay.

Nguyên tắc hoạt động dựa trên 3 nhóm yếu tố xác thực độc lập: thứ bạn biết (mật khẩu, PIN), thứ bạn có (điện thoại, khoá USB), và thứ bạn là (vân tay, khuôn mặt). Xác thực 2 lớp kết hợp ít nhất 2 trong 3 nhóm này. Kẻ tấn công cần đồng thời đánh cắp cả hai lớp, điều đó khó hơn rất nhiều so với chỉ cần một mật khẩu.

Sơ đồ 3 yếu tố xác thực: thứ bạn biết, thứ bạn có, thứ bạn là, nền tảng của xác thực 2 lớp
Ba nhóm yếu tố xác thực và cách 2FA kết hợp chúng để bảo vệ tài khoản

Xác thực 2 lớp phổ biến nhất hiện nay là mật khẩu (biết) kết hợp với mã từ điện thoại (có). Ngay cả khi kẻ tấn công dò ra mật khẩu, họ vẫn cần điện thoại của bạn để lấy mã, thứ không thể dò từ xa.

Các dạng xác thực 2 lớp phổ biến

Không phải mọi dạng 2FA đều có mức bảo mật như nhau. Hiểu sự khác biệt giúp bạn chọn đúng thứ phù hợp với mức độ rủi ro của mình.

SMS OTP (mã qua tin nhắn): mỗi lần đăng nhập, hệ thống gửi một mã 6 chữ số về số điện thoại của bạn. Đây là dạng phổ biến nhất vì dễ dùng, không cần cài thêm gì. Nhưng SMS có điểm yếu đã được biết đến: tấn công SIM-swap (thuyết phục nhà mạng chuyển số điện thoại sang SIM khác) và khai thác lỗ hổng giao thức SS7 trong mạng điện thoại. NIST (Viện Tiêu chuẩn và Công nghệ Hoa Kỳ) xếp SMS vào nhóm xác thực bị hạn chế và khuyến cáo không dùng cho ứng dụng xử lý thông tin nhạy cảm. Nguồn: NIST SP 800-63B Digital Identity Guidelines.

Ứng dụng TOTP (mã sinh theo thời gian): ứng dụng như Google Authenticator, Authy, hoặc Microsoft Authenticator sinh một mã 6 chữ số mới mỗi 30 giây, tính toán dựa trên khoá bí mật được lưu trong ứng dụng và thời gian hiện tại. Mã này được tạo offline trên điện thoại, không đi qua mạng điện thoại nên không bị SIM-swap hay SS7 ảnh hưởng. Đây là lựa chọn phù hợp nhất cho hầu hết chủ website và tài khoản WordPress.

Khoá cứng FIDO2/WebAuthn: thiết bị vật lý (USB hoặc NFC) chứa khoá mật mã không thể sao chép. Khi đăng nhập, cắm USB vào hoặc chạm thẻ NFC là xác thực xong, không có mã để nhập, không có cơ hội phishing. Theo OWASP, đây là dạng xác thực chống phishing hoàn toàn và được xếp vào nhóm an toàn nhất. Nguồn: OWASP MFA Cheat Sheet. Chi phí từ 700.000 đến 2.500.000 đồng tùy loại (YubiKey, Google Titan Key…).

So sánh chi tiết 3 phương thức

Bảng so sánh 3 phương thức xác thực 2 lớp: SMS OTP, ứng dụng TOTP và khoá cứng FIDO2
Với chủ web WordPress thông thường, ứng dụng TOTP là điểm cân bằng tốt nhất giữa bảo mật và chi phí
Tiêu chíSMS OTPỨng dụng TOTPKhoá cứng FIDO2
Chi phíMiễn phíMiễn phí700.000 – 2.500.000 đ
Cần kết nối mạngCó (nhận SMS)Không (tạo offline)Không
Chống SIM-swapKhông
Chống phishingKhôngMột phầnHoàn toàn
Phù hợp với aiRủi ro thấp, dễ bắt đầuHầu hết chủ website WordPressTổ chức, rủi ro cao

Với chủ website cá nhân hoặc nhóm nhỏ quản lý WordPress, ứng dụng TOTP là lựa chọn phù hợp nhất: miễn phí, cài trong 5 phút, an toàn hơn SMS đáng kể, và không cần mua thêm thiết bị. SMS chấp nhận được nếu bạn biết giới hạn của nó và không xử lý dữ liệu nhạy cảm cao. Khoá cứng dành cho những ai quản lý nhiều hệ thống quan trọng hoặc tổ chức cần mức bảo mật cao nhất.

Brute force là một trong những lý do 2FA quan trọng với trang đăng nhập WordPress. Bài viết brute force là gì và vì sao trang đăng nhập bị thử mật khẩu giải thích cụ thể hơn về kiểu tấn công này và cách nó liên quan đến tại sao 2FA là lớp phòng hiệu quả.

Cách bật xác thực 2 lớp trên WordPress

4 bước bật xác thực 2 lớp trên WordPress: cài plugin, chọn phương thức, quét QR, lưu mã dự phòng
4 bước bật 2FA trên WordPress, bước 4 lưu mã dự phòng quan trọng nhưng hay bị bỏ qua

WordPress không có 2FA tích hợp sẵn, cần cài plugin. Hai plugin phổ biến được cộng đồng kiểm chứng kỹ là WP 2FA và Two Factor (từ WordPress.org, miễn phí).

Sau khi cài plugin, bạn chọn phương thức xác thực. Với TOTP, mở Google Authenticator hoặc Authy trên điện thoại, nhấn dấu “+” rồi quét mã QR hiển thị trên màn hình. Ứng dụng bắt đầu sinh mã mới mỗi 30 giây. Lần đăng nhập tiếp theo sẽ hỏi thêm mã đó.

Bước quan trọng nhất và hay bị bỏ qua: lưu mã dự phòng (backup codes). Plugin cung cấp 5-10 mã một lần dùng để dùng khi không có điện thoại. In ra giấy hoặc lưu vào nơi khác thiết bị đang đăng nhập. Không có mã này, việc lấy lại tài khoản khi mất điện thoại sẽ mất nhiều thời gian hơn nhiều.

Mất điện thoại thì xử lý thế nào

Cách xử lý khi mất điện thoại đang bật 2FA: dùng mã dự phòng, qua cPanel, hoặc xin lại SIM
Có mã dự phòng là cách xử lý nhanh nhất, lưu ngay lúc bật 2FA, đừng để khi cần mới tìm

Đây là câu hỏi nhiều người lo ngại nhất khi bật 2FA. Câu trả lời phụ thuộc vào bạn có lưu mã dự phòng không.

Nếu có mã dự phòng: nhập một trong số đó thay vì mã TOTP để đăng nhập. Vào phần cài đặt 2FA, gỡ liên kết thiết bị cũ rồi bật lại trên điện thoại mới. Mỗi mã chỉ dùng một lần nên sau khi dùng, mã đó hết giá trị.

Nếu không có mã dự phòng và dùng TOTP: cách nhanh nhất là truy cập cPanel của hosting, tìm database WordPress, tìm bảng chứa cấu hình plugin 2FA và xoá dữ liệu đó để plugin reset. Cách khác là liên hệ đội kỹ thuật hosting nhờ tắt plugin qua FTP. Cả hai đều cần quyền truy cập hosting, vì vậy nên lưu thông tin đăng nhập cPanel ở nơi riêng biệt ngoài website.

Nếu dùng SMS và mất SIM: ra cửa hàng nhà mạng với giấy tờ tùy thân để xin lại số điện thoại. Thường mất 1-2 ngày làm việc. Trong thời gian chờ, không đăng nhập được vào tài khoản có SMS 2FA.

Bật 2FA cho website phổ thông có phức tạp không

Với tài khoản quản trị WordPress và các dịch vụ như email, hosting, tên miền: bật 2FA là việc đáng làm ngay. Chi phí thấp (thường là miễn phí với TOTP), thời gian cài không quá 15 phút, và lợi ích bảo mật rõ ràng.

Với khách hàng của website (tài khoản thành viên, tài khoản mua hàng): cần cân nhắc giữa bảo mật và trải nghiệm. Bắt buộc 2FA cho mọi khách hàng có thể làm nhiều người bỏ qua không đăng ký. Tùy chọn tốt hơn thường là cho phép chọn bật hoặc khuyến khích bật nhẹ thay vì bắt buộc, trừ khi dịch vụ của bạn xử lý dữ liệu hoặc giao dịch tài chính quan trọng.

Điều quan trọng cần nhớ: 2FA không thay thế mật khẩu mạnh, mà bổ sung thêm lớp phòng. Cả hai cùng nhau mới tạo ra nền bảo mật đáng tin cậy.

Câu hỏi thường gặp về xác thực 2 lớp

2FA và MFA khác nhau không?

2FA là trường hợp riêng của MFA (Multi-Factor Authentication). MFA là thuật ngữ tổng quát cho mọi phương thức yêu cầu từ 2 yếu tố trở lên. 2FA chỉ định nghĩa chính xác 2 yếu tố. Trong thực tế hai thuật ngữ thường được dùng thay nhau vì hầu hết hệ thống triển khai đúng 2 lớp.

Ứng dụng TOTP nào nên dùng?

Google Authenticator và Microsoft Authenticator phổ biến và đáng tin cậy, hoạt động offline, không đồng bộ qua đám mây (vừa là ưu điểm bảo mật vừa là nhược điểm khi đổi điện thoại). Authy có tính năng sao lưu đám mây giúp chuyển thiết bị dễ hơn nhưng đổi lại phụ thuộc vào máy chủ Authy. Chọn cái phù hợp với cách bạn quản lý thiết bị.

2FA có chặn được phishing không?

Phụ thuộc vào loại 2FA. Khoá cứng FIDO2 chặn phishing hoàn toàn vì khoá liên kết với domain cụ thể, kẻ tấn công tạo trang giả không lấy được gì. TOTP và SMS thì không chặn được phishing: nếu bạn nhập mã vào trang giả, kẻ tấn công dùng ngay mã đó (có hạn dùng 30 giây) để đăng nhập vào trang thật trước khi mã hết hạn. Đây là lý do FIDO2 được đánh giá cao hơn với rủi ro phishing.

Có thể tắt 2FA tạm thời không?

Về mặt kỹ thuật thì được, nhưng mỗi lần tắt là lúc tài khoản chỉ còn một lớp bảo vệ. Nếu cần truy cập từ thiết bị không có ứng dụng, dùng mã dự phòng (backup code) thay vì tắt 2FA. Mã dự phòng tạo ra đúng cho tình huống này, hãy dùng nó thay vì tắt cả hệ thống.

Nếu bạn muốn Web22 kiểm tra và cấu hình các lớp bảo mật phù hợp cho website, bao gồm 2FA cho tài khoản quản trị và các biện pháp bổ trợ khác, xem thêm cách tiếp cận tại dịch vụ bảo mật website của Web22.

Đọc tiếp

Bài viết
cùng chủ đề.

Tất cả bài viết
Chat Zalo