Xác thực Hiện đại (Modern Authentication) được bật mặc định cho tất cả tenant Microsoft 365/Azure mới. Giao thức xác thực này an toàn hơn Xác thực Cơ bản (Basic Authentication) truyền thống. Microsoft dự định chặn hoàn toàn Basic Authentication cho tất cả client Microsoft 365 kể từ 1/10/2021. Bài viết này xem cách bật/tắt Modern và Basic Authentication trong Microsoft 365.
Modern Authentication so với Basic Auth
Microsoft hiện hỗ trợ các loại xác thực sau cho Office 365 (Microsoft 365):
- Basic Authentication – loại xác thực quen thuộc với người dùng Windows. Basic auth thực hiện qua cửa sổ Windows Security đơn giản yêu cầu thông tin đăng nhập (tên người dùng và mật khẩu) và nhắc lưu mật khẩu vào Windows Credential Manager. Loại này không hỗ trợ MFA (Xác thực đa yếu tố) và không chống được tấn công brute-force. Ứng dụng lưu trữ và sử dụng rõ ràng tên người dùng/mật khẩu để xác thực.
- Modern Authentication dựa trên ADAL (Active Directory Authentication Library) và giao thức OAuth 2.0. Ứng dụng không lưu trữ hay sử dụng thông tin đăng nhập của người dùng, xác thực dựa trên token giới hạn thời gian. Modern Auth hỗ trợ các yếu tố xác thực bổ sung bao gồm MFA. Cửa sổ nhập tên người dùng/mật khẩu khi thực hiện modern authentication trông như sau. Nó xuất hiện khi kết nối dịch vụ Microsoft 365 hoặc kết nối Azure (kể cả kết nối PowerShell).
Nhật ký đăng nhập Basic Authentication trong Azure AD
Trước khi bật modern authentication và tắt basic authentication, hãy kiểm tra giao thức xác thực nào mà người dùng và ứng dụng Microsoft 365 của bạn đang dùng.
- Mở Azure Portal;
- Vào Azure Active Directory → Sign-in logs;
- Chọn khoảng thời gian Last 1 month;
- Thêm bộ lọc theo trường Client App;
- Chọn tất cả Legacy Authentication Clients cho bộ lọc này.
Điều này cho phép tìm người dùng và ứng dụng vẫn dùng Basic Authentication. Cần di chuyển các ứng dụng tìm được sang giao thức Modern Auth. Trong trường hợp của tôi, hầu hết sự kiện liên quan đến client email gốc trên smartphone, cần chuyển sang ứng dụng MS Outlook.
Microsoft tự động tắt Basic Authentication cho tenant không sử dụng nó.
Cách bật Modern Authentication cho tenant Microsoft 365?
Có thể bật Modern Authentication qua Microsoft 365 Admin Center.
- Mở cổng M365 Admin https://admin.microsoft.com;
- Vào Settings → Org Settings → Modern authentication
- Bật tùy chọn Turn on modern authentication for Outlook 2013 for Windows and later;
- Lưu thay đổi.
Như đã nói, đối với tenant Office 365/Azure mới, Basic Authentication bị tắt mặc định cho tất cả ứng dụng. Trong trường hợp này, cảnh báo sẽ hiển thị:
Tổ chức của bạn đã bật mặc định bảo mật, nghĩa là xác thực hiện đại cho Exchange Online là bắt buộc, và kết nối basic authentication bị chặn. Bạn phải tắt mặc định bảo mật trong cổng Azure trước khi thay đổi cài đặt tại đây.
Có thể bật hỗ trợ Basic Auth cho tenant từ cổng Azure (Azure Active Directory → Properties → Manage Security defaults → Enable Security defaults = No).
Chú ý các tùy chọn dưới Allow access to basic authentication protocols. Đây là các ứng dụng nơi có thể bật Basic Authentication:
- Outlook client
- Exchange ActiveSync (EAS)
- Autodiscover
- IMAP4
- POP3
- Authenticated SMTP (ví dụ xác thực SMTP từ telnet)
- Exchange Online PowerShell — (Basic Authentication không được hỗ trợ cho module EXOv2 PowerShell hiện đại)
Tắt Basic Authentication cho tất cả ứng dụng và giao thức chắc chắn không cần nó.
Nếu đã cấu hình chính sách xác thực trong tenant Office 365, có thể hiển thị cài đặt hiện tại và giao thức được phép dùng Basic Authentication. Dùng lệnh PowerShell:
Get-AuthenticationPolicy
Trong trường hợp của chúng tôi, chỉ có một chính sách và BasicAuth bị tắt cho tất cả ứng dụng.
AllowBasicAuthActiveSync : False AllowBasicAuthAutodiscover : False AllowBasicAuthImap : False AllowBasicAuthMapi : False AllowBasicAuthOfflineAddressBook : False AllowBasicAuthOutlookService : False AllowBasicAuthPop : False AllowBasicAuthReportingWebServices : False AllowBasicAuthRest : False AllowBasicAuthRpc : False AllowBasicAuthSmtp : False AllowBasicAuthWebServices : False AllowBasicAuthPowershell : False
Vì mục đích bảo mật, có thể tạo chính sách riêng với quyền Basic Auth khác nhau cho giao thức cụ thể và gán cho người dùng dùng ứng dụng cũ. Ví dụ: cho phép người dùng kết nối Exchange Online qua phiên PowerShell từ xa với basic authentication:
Set-AuthenticationPolicy -Identity "BasicAuth_Allow_PoSh" -AllowBasicAuthPowershell:$true
Set-User -Identity k.muller -AuthenticationPolicy "BasicAuth_Allow_PoSh"
Và chính sách mặc định sẽ chặn giao thức cũ:
New-AuthenticationPolicy -Name "BasicAuth_Block"
Set-OrganizationConfig -DefaultAuthenticationPolicy BasicAuth_Block
Cũng lưu ý tùy chọn OAuth2ClientProfileEnabled trong cài đặt tổ chức, quyết định Modern Auth có bật cho tenant:
Get-OrganizationConfig | ft OAuth*
Nếu OAuth2ClientProfileEnabled = False, nghĩa là modern authentication bị tắt.
Modern Authentication trong Outlook 365/2019/2016/2013/2010
Lưu ý đặc th hỗ trợ modern authentication trong các phiên bản Outlook:
- Outlook 2010 và cũ hơn – không hỗ trợ Modern Auth. Nếu Basic Auth bị tắt trong cài đặt tenant, các phiên bản này không thể kết nối hộp thư Exchange Online trên Microsoft 365;
- Outlook 2013 – để hỗ trợ OAuth, cần thiết lập hai tham số registry dưới khóa HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Common\Identity (
EnableADAL = 1vàVersion = 1); - Outlook 365, 2019, 2016 – modern authentication được hỗ trợ mặc định. Để luôn dùng Modern Auth trước, thiết lập
AlwaysUseMSOAuthForAutoDiscover = 1dưới khóa registry HKEY_CURRENT_USER\Software\Microsoft\Exchange (nếu tùy chọn này không bật, Outlook có thể liên tục nhắc nhập mật khẩu để kết nối);
Có thể kiểm tra Outlook client có dùng Modern Authentication kết nối hộp thư Office 365 không. Giữ Ctrl và nhấp vào biểu tượng Outlook trong khay hệ thống. Đảm bảo Bearer* được chỉ định trong trường Authn trong Outlook Connection Status. Điều này có nghĩa Outlook đang dùng modern authentication.