Bildiğiniz gibi Microsoft 2022 yılı itibariyle Exchange online maillerde Basic Authentication‘u dever dışı bırakıyor. Güvenlik açısından Modern Authentication çok daha doğru bir metod olsa da, Basic Authentication’ın bir anda sonlanması eski sürüm Outlook ya da 3rd party (Printer vb.) uygulamaların çalışmasında engel teşkil edebiliyor. Ben güvenlik açısından önermesem de geçici olarak Basic Authentication’ı nasıl etkinleştiebileceğinizi kısaca anlatacağım.
Öncelikle form ve uygulama üzerinden SMTP kimlik doğrulamalı mail gönderim problemlerininin çoğu, maillerde “Authenticated SMTP” özelliğinin kapalı olmasından kaynaklanıyor. Bunu O365 admin center üzerinden kullanıcı account’una girerek, mail sekmesinden aktif edebilirsiniz.
ikinci problem yaşanan adım ise, Azure AD security defaults bölümü. Bu adımı iptal etmediğiniz sürece Basic Auth özelliğini değiştiremiyorsunuz.
Yukarıdaki işlemi tamamladıktan sonra, Microsoft 365 Yönetim Merkezine gelerek sağ alt kısımda yer alan help butonuna tıklayıp, açılan pencerrede aşağıdakiş sorguyu çalıştırmanız gerekiyor. Bu şekilde SMTP’de Basic Auth‘u yeniden aktif edebilirsiniz. Bu işlemin mutlaka Global Admin account ile yapılması gerekiyor.
1 | Diag: Enable Basic Auth in EXO |
Bazı durumlarda etkinleştirme işleminde aşağıdaki hatayı alabilirsiniz. Bunun için powershell üzerinde global admin ile bağlantı sağlayarak aşağıdaki cmdlet’i çalıştırarak yetki sorununu çözebilirsiniz.
1 | Enable-OrganizationCustomization |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | Set-ExecutionPolicy RemoteSigned Install-Module PowershellGet -Force Update-Module PowershellGet Install-Module -Name ExchangeOnlineManagement -Force -Scope AllUsers Import-Module ExchangeOnlineManagement Get-Module ExchangeOnlineManagement Connect-ExchangeOnline -UserPrincipalName max.bak@woshub.onmicrosoft.com -ShowProgress $true Get-Mailbox $cred = Get-Credential Connect-ExchangeOnline -Credential $cred -UserPrincipalName max.bak@woshub.onmicrosoft.com -ShowProgress $true Install-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.6-Preview5 -AllowPrerelease Get-AuthenticationPolicy Get-AuthenticationPolicy | Format-Table Name, WhenChanged Enable-OrganizationCustomization Get-EXOCASMailbox |
Eğer Azure Active Directory Security defaults’u devre dışı bıraktıysanız, basic authentication protocol’ünü Admin portal üzerinden de aktif edebilirsiniz. O365 Admin paneli üzerinden Org. Settings altında Modern authentication bölümünde aşağıdaki görseldeki gibi işlem sağlayabilirsiniz.
Mail gönderimlerini test edebilmeniz için örnek SMTP powershell kodunu aşağıda paylaşıyorum. Powershell ISE üzerinde test işlemi gerçekleştirebilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $From = "smtpmail@boraarat.com" $To = "test@gmail.com" $SMTPServer = "smtp.office365.com" $SMTPPort = "587" $Username = "smtpmail@boraarat.com" $Password = "pass!word" $subject = "teststst" $body = "Dear <b><font color=red>$to</b></font> " $body = "We are testing <b>HTML</b> email " $body = "Click <a href=http://www.google.com>here</a> to open google " $smtp = New-Object System.Net.Mail.SmtpClient($SMTPServer, $SMTPPort); $smtp.EnableSSL = $true $smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password); $smtp.Send($From, $To, $subject, $body); |
Active Directory Security defaults ve Modern Authentication, şirketinizi gerçek anlamda koruyan güvenlik katmanlarından oluşuyor. Bu özelliklerin devre dışı bırakılması Office 365 organizasyonunuz için ciddi güvenlik açıklarına neden olacağını da belirtmek isterim.