Önce: Security Defaults vs Conditional Access Farkı
| Özellik | Security Defaults | Conditional Access |
| Lisans | Tüm planlar (ücretsiz) | Entra ID P1 ($6/kullanıcı/ay) gerek |
| Yapılandırma | Tek toggle, tüm kullanıcılar zorunlu | Granüler: kullanıcı/grup/IP/cihaz/uygulama bazlı |
| İstisna | YOK (acil break-glass admin riski) | Var (servis hesapları için exclude) |
| Rapor | Sınırlı | Detaylı sign-in log + What-if tool |
| Önerilen | Çok küçük şirketler (1-10 kişi) | 10+ kullanıcı, kurumsal yapı |
Eğer Microsoft 365 Business Premium ya da E3+ aldıysanız Entra ID P1 dahil: Conditional Access kullanın.
Adım 0: Önce Break-Glass (Acil Erişim) Hesabı Oluşturun
Conditional Access yanlış yapılandırılırsa tüm admin'ler kilitlenir. 1-2 adet "break-glass" Global Admin hesabı oluştur:
- UPN:
break-glass-1@firmaniz.onmicrosoft.com (özel domain değil)
- Çok güçlü parola (50+ karakter), kasada sakla
- Hiçbir CA politikasına dahil ETME (exclude listesinde olsun)
- Global Admin rolü kalıcı
- Sadece acil durumda kullanılır, audit log izle
Adım 1: Security Defaults'u Kapat (CA kullanacaksanız)
Aynı anda ikisi açıksa Security Defaults önceliklidir.
- Entra Admin → Identity → Overview → Properties
- "Manage security defaults"
- "Enable security defaults" → No → Save
Adım 2: Yeni Conditional Access Politikası Oluştur
Entra Admin → Protection → Conditional Access → Policies → New policy
2.1: Politika adı
CA001 - MFA zorunluluğu (tüm kullanıcılar)
2.2: Users (Kapsamlı kim?)
- Include: All users
- Exclude:
- Break-glass kullanıcılar (yukarıdaki 2 hesap)
- Service accounts grubu (varsa)
- Directory roles → "Directory Synchronization Accounts"
2.3: Target resources
- Cloud apps → "All cloud apps"
Daha sıkı yaklaşım: önce sadece Office 365 + Microsoft Admin Portals'ı seçin, hava aldıkça genişletin.
2.4: Conditions (koşullar)
İlk politika için boş bırakın (tüm koşullarda uygulansın). İleride:
- Locations: Türkiye dışı ülkelerden ek MFA
- Client apps: Legacy auth (POP/IMAP) blokla
- Device platforms: iOS/Android için Intune compliance
2.5: Grant (ne yapsın?)
- "Grant access" seçili
- "Require multi-factor authentication" işaretle
- "For multiple controls" → "Require one of the selected controls"
2.6: Enable policy
İlk seferde "Report-only" seçin. 1-2 hafta log'larda bakın, tetiklenecek senaryoları gözlemleyin. Sorun yoksa "On" yapın.
Adım 3: What-If Aracı ile Test
Entra Admin → Conditional Access → What If. Bir kullanıcı + uygulama + lokasyon seçin → hangi politikalar tetiklenir, MFA istenir mi gösterir. Production'a almadan önce kritik.
Adım 4: Sign-in Logs ile Doğrulama
Politikayı On yaptıktan sonra:
Entra Admin → Identity → Monitoring → Sign-in logs
Filter: Conditional Access → Success (MFA prompted)
"Conditional Access" sütunu "Success" olmalı. "Not applied" görüyorsanız politika kullanıcı / app'i kapsamıyor demektir.
Yaygın 5 Politika (Olgun Yapı)
| Politika | Koşul | Eylem |
| CA001 - MFA zorunlu | Tüm kullanıcı, tüm app | MFA |
| CA002 - Yurt dışı bloklama | Locations: Türkiye dışı (whitelist olanlar hariç) | Block |
| CA003 - Legacy auth blok | Client apps: Other clients (POP/IMAP) | Block |
| CA004 - Admin için sıkı | Directory roles: Global Admin, Exchange Admin, vs | MFA + Compliant device |
| CA005 - Yönetimsiz cihaz | Device state: Unmanaged | Web only (no app) |
PowerShell ile Politika Bulk Oluşturma
Connect-MgGraph -Scopes "Policy.ReadWrite.ConditionalAccess"
$policy = @{
displayName = "CA001 - MFA all users"
state = "enabledForReportingButNotEnforced" # report-only
conditions = @{
users = @{
includeUsers = @("All")
excludeUsers = @("<break-glass-user-id>")
}
applications = @{ includeApplications = @("All") }
}
grantControls = @{
operator = "OR"
builtInControls = @("mfa")
}
}
New-MgIdentityConditionalAccessPolicy -BodyParameter $policy
Sık Yapılan Hatalar
- Break-glass yok: tek admin MFA cihazı kaybedince tenant'a hiç giriş kalmaz
- Service account dahil: Otomasyon (Power Automate, Azure Function) kırılır → exclude şart
- Report-only atlama: doğrudan On, beklenmedik kullanıcılar engellenir
- Multi-factor + Compliant device birlikte: Intune'a kayıtlı olmayan cihaz tamamen engellenir
- Legacy auth bloklamadan MFA açma: POP/IMAP MFA'yı destekleyemez, mailler direkt çalışmaz, ama MFA atlanır → güvenlik açığı
SSS
Conditional Access için lisans şart mı?
Evet: Entra ID P1 (Business Premium ile gelir) veya P2. Free tenant'larda CA menüsü görünmez.
MFA için Authenticator zorunlu mu, SMS de olur mu?
SMS hâlâ destekli ama Microsoft Authenticator + number matching'i öneriyor. SMS phishing/SIM swap riski.
Misafir kullanıcı (Guest) için MFA?
Aynı politikaya dahil olabilir: "Include: All users" seçince Guest'leri de kapsar. Veya ayrı politika ile sadece Guest'lere uygulayın.
Test için single user nasıl atarım?
Politikada "Include: Select users" → tek kullanıcı seç. Bu kullanıcıda 5 dk sonra etkin olur.
Politika kaldırınca tüm session'lar düşer mi?
Hayır: kullanıcının mevcut token'ı (1-24 saat) çalışmaya devam eder. Hemen düşürmek için "Revoke sessions".
Conditional Access kurulumu + audit için bize ulaşın → Microsoft 365 Business Premium dahil P1 lisansla başlangıç paketleri sunuyoruz.
MFA ve Koşullu Erişimi sizin için kuralım
Kuralları önce raporlama modunda deneyip kimseyi kilitlemeden devreye alıyoruz. Hangi lisansın gerektiğini kullanıcı sayınıza göre hesaplıyoruz.
Hesap güvenliğinizi birlikte gözden geçirelim