Phishing thời nay không cần lừa bạn tiết lộ mã MFA nữa. Bộ công cụ adversary-in-the-middle (AiTM) dựng một trang trông y hệt trang đăng nhập Microsoft, đứng giữa bạn và Microsoft. Bạn nhập mật khẩu, bấm “Approve” trên Authenticator, mọi thứ diễn ra đúng như bình thường, và kẻ gian nhận được session cookie đã qua MFA. Push notification, mã OTP, SMS đều bị vượt qua theo cách này.
Phishing-resistant MFA (passkey, FIDO2 security key, Windows Hello for Business) chống được AiTM vì chữ ký xác thực gắn với tên miền của trang đăng nhập: trang giả ở tên miền khác thì passkey đơn giản là không phản hồi. Ở bài trước, CA003 đã đòi phishing-resistant MFA cho admin. Bài này đưa cùng mức bảo vệ tới ban giám đốc và kế toán, và tiến tới đăng nhập không cần mật khẩu.
Bài này mình sẽ hướng dẫn bạn bật passkey trong Authentication methods policy, cấp Temporary Access Pass để đăng ký an toàn, đăng ký passkey trong Microsoft Authenticator và FIDO2 key, tạo Conditional Access đòi phishing-resistant MFA cho nhóm rủi ro cao, và kiểm tra bằng sign-in log.
Điều kiện cần
| Yêu cầu | Chi tiết |
|---|---|
| License | Microsoft 365 Business Premium (Entra ID P1: Conditional Access, authentication strength, Temporary Access Pass) |
| Quyền | Authentication Policy Administrator (bật phương thức); Authentication Administrator / Privileged Authentication Administrator (cấp TAP cho admin); Conditional Access Administrator |
| Thiết bị | Điện thoại iOS 17+ hoặc Android 14+ có Microsoft Authenticator bản mới; hoặc FIDO2 security key (USB-A/USB-C/NFC) |
Phương thức nào chống được phishing
| Phương thức | Chống AiTM | Ghi chú cho SMB |
|---|---|---|
| SMS, cuộc gọi | Không | Chỉ dùng làm phương án dự phòng, nên tắt dần |
| Authenticator push / OTP | Không | Đã có number matching nhưng vẫn bị AiTM |
| Passkey trong Microsoft Authenticator | Có | Không tốn thêm tiền, dùng điện thoại sẵn có |
| FIDO2 security key | Có | Khoảng 500.000-1.500.000 đồng/khóa; tốt cho admin, break-glass |
| Windows Hello for Business | Có | Gắn với máy Entra join |
Bước 1: Bật passkey trong Authentication methods policy
Mục đích là cho phép nhóm thử nghiệm đăng ký passkey.
- Entra admin center → Protection → Authentication methods → Policies → Passkey (FIDO2)
- Enable: On → Target: nhóm
AUTH-Passkey-Pilot - Tab Configure:
- Allow self-service set up: Yes
- Enforce attestation: Yes nếu chỉ cho phép FIDO2 key do công ty cấp; với passkey trong Authenticator, giữ cấu hình theo hướng dẫn hiện tại của Microsoft
- Enforce key restrictions: tùy chọn, giới hạn theo AAGUID của model khóa công ty mua
- Save

Lưu ý: Kiểm tra Authentication methods → Migration đã hoàn tất (tenant đã chuyển hẳn sang Authentication methods policy, không còn dùng cài đặt MFA và SSPR cũ). Tenant cũ còn ở trạng thái “migration in progress” có thể khiến phương thức hiện không nhất quán.
Bước 2: Bật và cấp Temporary Access Pass
Mục đích là user đăng ký passkey mà không cần dùng phương thức yếu hơn để chứng minh danh tính, đặc biệt với người mới hoặc người mất điện thoại.
- Authentication methods → Policies → Temporary Access Pass → Enable, target
AUTH-Passkey-Pilot - Configure: Minimum lifetime: 1 giờ; Default lifetime: 1 giờ; One-time: Yes
- Cấp TAP cho từng user khi họ ngồi trước mặt IT (hoặc gọi video xác minh mặt):
Connect-MgGraph -Scopes "UserAuthenticationMethod.ReadWrite.All"
# TAP dùng 1 lần, hiệu lực 60 phút
$tap = New-MgUserAuthenticationTemporaryAccessPassMethod -UserId "giamdoc@khongkho.com" `
-BodyParameter @{ lifetimeInMinutes = 60; isUsableOnce = $true }
$tap.TemporaryAccessPass
Bước 3: Đăng ký passkey trong Microsoft Authenticator
Mục đích là mỗi người trong nhóm thử nghiệm có ít nhất một passkey.
- User mở mysignins.microsoft.com/security-info trên máy tính → đăng nhập (dùng TAP nếu được cấp)
- + Add sign-in method → Passkey in Microsoft Authenticator
- Làm theo hướng dẫn: mở Authenticator trên điện thoại, quét mã QR, xác nhận bằng Face ID / vân tay. Điện thoại cần bật Bluetooth để xác thực khoảng cách với máy tính
- Đặt tên passkey, ví dụ
iPhone ca nhan
Với FIDO2 security key: + Add sign-in method → Security key → USB device → cắm khóa → đặt PIN → chạm khóa.

Kết quả kỳ vọng: trang Security info liệt kê Passkey in Microsoft Authenticator hoặc Security key.
Từ thực tế: Lỗi hay gặp nhất khi đăng ký passkey trong Authenticator là Bluetooth tắt trên máy tính hoặc điện thoại, và máy tính để bàn không có Bluetooth. Chuẩn bị sẵn một USB Bluetooth cho buổi đăng ký, hoặc cho user đăng ký trực tiếp trên điện thoại (mở mysignins trên trình duyệt điện thoại). Với ban giám đốc hay đổi điện thoại, cấp thêm một FIDO2 key làm phương thức thứ hai.
Bước 4: Tạo CA đòi phishing-resistant MFA cho nhóm rủi ro cao
Mục đích là ban giám đốc, kế toán chỉ đăng nhập được bằng phương thức không bị phishing.
- Conditional Access → + New policy → tên
CA010 - Phishing-resistant MFA for high-risk users - Users: Include
LIC-EntraP2-Rui-ro-cao; ExcludeCA-Exclude-BreakGlass - Target resources: All resources
- Grant: Require authentication strength → Phishing-resistant MFA
- Enable policy: Report-only
Chạy report-only 7 ngày, kiểm tra ai chưa có passkey:
Connect-MgGraph -Scopes "AuditLog.Read.All","GroupMember.Read.All"
$groupId = (Get-MgGroup -Filter "displayName eq 'LIC-EntraP2-Rui-ro-cao'").Id
$members = Get-MgGroupMember -GroupId $groupId -All | ForEach-Object { $_.AdditionalProperties.userPrincipalName }
# Báo cáo phương thức đã đăng ký (Entra ID P1)
Get-MgReportAuthenticationMethodUserRegistrationDetail -All |
Where-Object { $_.UserPrincipalName -in $members } |
Select-Object UserPrincipalName, IsPasswordlessCapable, @{n='Methods';e={$_.MethodsRegistered -join ', '}} |
Format-Table -AutoSize
Lưu ý: Bật CA010 khi còn người chưa đăng ký passkey sẽ khóa họ ngoài mọi dịch vụ. Với người chưa đăng ký, cấp TAP và ngồi cùng họ đăng ký trước khi bật.
Bước 5: bật CA010 và kiểm tra
- CA010 → Enable policy: On
- Đăng nhập Outlook web bằng
giamdoc@khongkho.comtrên trình duyệt ẩn danh → chọn Sign in with a passkey / face, fingerprint, PIN or security key → xác nhận trên điện thoại - Kiểm tra sign-in log: Authentication Details hiện Passkey (device-bound) hoặc FIDO2 security key; tab Conditional Access hiện CA010 Success
- Thử đăng nhập chỉ bằng mật khẩu + push notification → bị chặn với thông báo yêu cầu phương thức mạnh hơn

Bước 6: tiến tới không dùng mật khẩu và gỡ SMS
Mục đích là giảm bề mặt tấn công sau khi nhóm thử nghiệm đã ổn định.
- Mở rộng nhóm
AUTH-Passkey-Pilotsang toàn công ty theo từng phòng, mỗi tuần một phòng - Với máy Windows Entra join: bật Windows Hello for Business trong Intune → Devices → Windows → Enrollment → Windows Hello for Business
- Sau khi mọi người có ít nhất một phương thức mạnh: Authentication methods → SMS và Voice call → Disable (hoặc chỉ giữ cho nhóm ngoại lệ)

Lỗi thường gặp
| Lỗi | Nguyên nhân | Cách sửa |
|---|---|---|
| Không thấy lựa chọn Passkey in Microsoft Authenticator | User không thuộc nhóm target, hoặc Authenticator cũ | Kiểm tra nhóm, cập nhật Authenticator |
| Quét QR xong không kết nối | Bluetooth tắt | Bật Bluetooth cả hai thiết bị, hoặc đăng ký trực tiếp trên điện thoại |
| Đăng ký FIDO2 key bị từ chối | Enforce key restrictions chặn model đó | Thêm AAGUID của model vào danh sách cho phép |
| User bị khóa sau khi bật CA010 | Chưa có passkey | Đăng nhập break-glass, cấp TAP, đăng ký passkey |
| Ứng dụng cũ không đăng nhập được | Ứng dụng không hỗ trợ phương thức hiện đại | Loại trừ ứng dụng đó khỏi CA010 có thời hạn, liên hệ nhà cung cấp |
Tổng kết
| Thành phần | Đã làm |
|---|---|
| Phương thức | Passkey (FIDO2) bật cho nhóm thử nghiệm |
| Đăng ký an toàn | Temporary Access Pass dùng 1 lần, 60 phút |
| Người dùng | Passkey trong Authenticator, FIDO2 key dự phòng |
| Conditional Access | CA010 phishing-resistant cho nhóm rủi ro cao |
| Lộ trình | Mở rộng theo phòng, Windows Hello, tắt SMS |
Tài liệu tham khảo
- Passkeys (FIDO2) authentication method in Microsoft Entra ID
- Enable passkeys in Microsoft Authenticator
- Configure Temporary Access Pass
- Conditional Access authentication strengths
- Plan a passwordless authentication deployment
Ban giám đốc công ty bạn đã dùng passkey chưa? Rào cản lớn nhất là gì? Chia sẻ trong comment nhé.
