Azure Conditional Access
Auf der Seite Conditional Access habe ich einige Beschreibungen zur generellen Funktion eines "Bedingten Zugriffs" beschrieben. Auf dieser Seite beschreibe ich einige Aspekte aus einer realen Umsetzung.
MFA und Conditional Access
Sehr oft werden die Begriffe MFA, Conditional Access als auch "zertifikatbasierte Authentifizierung" miteinander vermischt. Hier ist erst einmal Klarheit erforderlich
- MFA
MFA steht für "Multi Faktor Authentifizierung" und hat den Hintergrund, dass allein das Wissen eines Benutzernamens und Kennworts für einige Anwendungsfälle zu schwach ist. Hier geht es darum einen dritten Faktor, z.B. Gerätezertifikat, Einmaltoken, Smartcard o.ä. mit ins Bild zu rücken. Natürlich hat MFA auch etwas mit Conditional Access zu tun, denn die Verwendung eines weiteren Faktors kann ein Kriterium sein, damit ein Zugriff überhaupt erlaubt wird - Zertifikatbasierte Anmeldung
Dies ist eine Möglichkeit eine MFA bereit zu stellen, aber bei weitem nicht das einzige Kriterium. Auch andere Identitätsmerkmale, z.B. IP-Adressen etc. sind legitime Kriterien für eine Entscheidung über die Anmeldung - Conditional Access
Damit ist letztlich das Regelwerk beschrieben, welches anhand verschiedener vorgaben (Client, Service, Anmeldeverfahren, Standort, Compliance-Status etc. entscheidet, ob der Zugriff des Anwenders erlaubt ist.
Conditional Access ist die Klammer um all diese Steuerungsmöglichkeiten. Sie können dabei das "große Conditional Access" von Office 365 nutzen, um solche Regeln aufzubauen. Sie können aber auch ohne Office 365 eine "Conditional Access"-Lösung umsetzen, z.B. indem Sie auf einem Reverse Proxy ihrer Firewall-Lösung eine weitere Authentifizierung aktivieren oder ADFS selbst nutzen, um dort MFA zu aktivieren und über Claim-Rules dann weitere Regeln erstellen.
MFA und Device Authentication wird gerne zusammen gefasst, indem sich ein Benutzer nur auf einem zugelassenen gerät anmelden kann. Das Gerät ist quasi der zweite Faktor. Bei MFA geht es aber primär darum, dass die Anmeldung des Benutzers mit einem weiteren Kriterium gesichert wird, damit ein ausgespähtes Kennwort nicht alleine genutzt werden kann, egal ob dies nu auf einem fremden oder prinzipiell zugelassenen Gerät passiert.
Leistungsfähiger ist hinsichtlich Office 365 natürlich das Conditional Access-Modul von AzureAD, welches für Cloud-Dienste aber mit einem passenden Application Proxy in Azure auch für lokale Dienste genutzt werden kann.
Lizenz
Vor der Konfiguration steht aber erst einmal die Lizenz. Conditional Access in Office 365 ist nicht Bestandteil von Azure AD Basic oder Free, sondern erfordert eine AzureAD Premium Lizenz, die Sie additiv alleine oder z-B. auch über die EMS-Suite lizenzieren können. Ob Sie eine Lizenz für ihren Tenant haben, sehen Sie direkt im Azure Portal, wenn Sie Conditional Access konfigurieren wollen:
Für einen Testzeitraum können Sie natürlich eine Trial-Version aktivieren. Prüfen Sie aber dennoch vorab, welche Funktion in AzureAD Premium P1/P2 enthalten sind und welchen Mehrwert dies für ihr Unternehmen bedeutet.
Test-Konfiguration
Ehe Sie mit Conditional Access planen, sollten Sie sich mit der Bedienung einmal vertraut machen.
Forderung nach einem Test-Tenant
Ich rufe alle Administratoren und Firmen mit Office
365-Bezug auf, neben dem produktiven Tenant immer auch
mindestens einen zweiten Tenant zum Testen zu betreiben. Ich
kenne Firmen, die betreiben sogar analog zu einem SAP System
sogar drei Tenants: Test, QM, PROD.
Der Betrieb eines zweiten Tenant ist nicht sonderlich teuer.
Oft reichen wenigen E1-Lizenzen, da Sie in dem Tenant meist
kein Office lizenzieren. Aber sie können hier Einstellungen
und deren Auswirklungen besser testen und erarbeiten. Zudem
können Sie diesen Tenant für "frühe Funktionen" freischalten
und damit schon vorab Änderungen ausprobieren und dann im
produktiven Tenant passen einstellen.
Ich habe in meinem Test-Tenant dazu einfach eine Regel addiert, die folgende Einstellungen hat:
Assignment: Users and Groups: Include selected: User@uclabor.de CloudApps: Include selected: Office 365 SharePoint Conditions: Location: Any Location + Exclude "FirmenIP" AccessControl: Grant: Block access Enable Policy: ON
Wenn ich nun in der Firma auf SharePoint zugreife, dann kommt ich auch hin aber von unterwegs werde ich geblockt.
Sie können gerne noch mit anderen Regeln experimentieren und weitere Erfahrungen sammeln.
Default Policy "allow" oder doch nicht?
Ich wollte in meinem Testfeld den Zugriff auf SharePoint auf Geräte beschränken, die zumindest in meinem lokalen AD vorhanden sind. Damit sperre ich "beliebige" Windows 10 Clients aus, die z.B. keine Gruppenrichtlinie haben. Azure kann natürlich bei der Konfiguration nicht wissen, ob die Geräte letztlich compliant sind.
Die Ausgangssituation ist so, dass ich Zugriff auf SharePoint habe, Ich habe dann folgende Regel angelegt:
Im Bild ist nicht sichtbar, das der Scope auf mich als Benutzer und SharePoint als App definiert sind. Aber ich habe bei "Access controls: Grant" die Einschränkung gesetzt, dass der Client "Require Hybrid Azure AD joined device" ist. Allein diese Regel blockt aber schon meinen Browser aus
Ich muss also gar nicht noch eine "Deny"-Regel am Ende setzen, wenn ich bei der Conditional Access Rule den "Grant" nutze. Allerdings blockiert die Regel nicht jeden Zugriff aller Benutzer. Die Filterung durch "Assignments" greift schon vorher.
All assignments are logically ANDed. If
you have more than one assignment configured, all
assignments must be satisfied to trigger a policy.
https://docs.microsoft.com/en-us/azure/active-directory/active-directory-conditional-access-best-practices
For every sign-in, Azure Active Directory evaluates all
policies and ensures that all requirements are met before
granted access to the User.
https://docs.microsoft.com/en-us/azure/active-directory/active-directory-conditional-access-best-practices
Es gibt also keine Reihenfolge aber es müssen alle Bedingungen erfüllt sein, damit der Zugriff gewährt wird. Eine Blockade überstimmt und sie sollten damit sehr vorsichtig sein, damit sie sich nicht selbst (insbesondere den Administrator) aussperren. In dem Fall hilft nur noch ein Support Ticket.
Device compliance
Bei der Ablehnung sehen Sie nun aber auch, das der "Gerätestatus: unregistered" ist. Das ist aber ein sehr starkes Kriterium, das man z.B. von extern nur "Compliant Devices" zulässt. So können Firmengeräte aber auch ausgewählte private Geräte im Rahmen einer BYOD-Strategie zulassen. Ich habe also die Regel angepasst und anstatt der Location nun den Device State eingebaut.
Ich kann hier also einmal einfach ein "Azure Ad Joined" aber auch ein "compliant" auswählen. Damit die funktioniert, muss das Gerät natürlich als solches in AzureAD bekannt sein.
Devices in Azure AD
Damit stellt sich aber die Frage, wie AzureAD die Geräte verwaltet. Ein Blick in die Devices von AzureAD listet schon einige Daten:
Bei Join-Type sehen sie hier drei unterschiedliche Werte:
- Azure AD registered devices
https://docs.microsoft.com/en-us/azure/active-directory/device-management-introduction#azure-ad-registered-devices
Damit sind persönliche Geräte gemeint, die mit AzureAD durch den Anwender selbst registriert werden können, wenn der Administrator diese nicht unterbunden hat. Siehe dazu auch Device Registration Android - Azure AD joined devices
https://docs.microsoft.com/en-us/azure/active-directory/device-management-introduction#azure-ad-joined-devices
Diese Endgeräte sind im Azure AD quasi "Domänenmitglied" aber sind nicht zugleich in einem lokalen Active Directory. Dieser Fall ist also eher für Firmengeräte gedacht, die aber kein lokales AD haben, z.B. Vertriebler oder auch sehr kleine Firmen - Hybrid Azure AD joined devices
https://docs.microsoft.com/en-us/azure/active-directory/device-management-introduction#hybrid-azure-ad-joined-devices
Die meisten Firmen dürften diese Typen finden. Es sind Windows Clients, die im lokalen Active Directory Mitglied sind und durch AzureADConnect auch in AzureAD bekannt wurden - Introduction to device management in Azure Active Directory
https://docs.microsoft.com/en-us/azure/active-directory/device-management-introduction - Managing devices using the Azure portal
https://docs.microsoft.com/en-us/azure/active-directory/device-management-azure-portal
Damit stellt sich natürlich die Frage, ob und wie Anwender ein Gerät in da AzureAD "joinen" können. Auch das ist per AzureAD konfigurierbar. Der Default steht hier aus "ALL", d.h. jeder Mitarbeiter kann Geräte in das AzureAD per Join hinzufügen.
Das ist fast wie bei lokalen AD-Domänen.
- Hinzufügen eines Computers zu einer
Domäne
https://docs.microsoft.com/de-de/windows-server/identity/ad-fs/deployment/join-a-computer-to-a-domain - Who can add workstation to the domain
https://blogs.technet.microsoft.com/dubaisec/2016/02/01/who-can-add-workstation-to-the-domain/ - Preventing Users from Adding Computers
to a Domain
https://blog.backslasher.net/preventing-Users-from-adding-computers-to-a-domain.html - Einführung in die Geräteverwaltung in
Azure Active Directory
https://aka.ms/AzureADregisterdevices
https://docs.microsoft.com/de-de/azure/active-directory/device-management-introduction
Device Authentication und Registration mit ADFS
Wenn Sie einen lokalen ADFS-Server für Office 365 betreiben, dann erfolgt die erste Authentifizierung hinsichtlich des Anwenders natürlich gegen diesen Server. Domain-Computer haben zudem ein Computerkonto im lokalen Active Directory. In dem Fall kann der der lokale ADFS-Service für die Authentication der Geräte aktiviert werden,
Das ist nur eine kleine Checkbox und
schnell gesetzt.
Aber machen Sie das erst am Ende des kompletten Einrichtungsprozesses!
Die Einstellung ist auch per PowerShell möglich
Set-AdfsGlobalAuthenticationPolicy ` -DeviceAuthenticationEnabled $true
Die Auswirkungen sind aber immens und sie erfordern entsprechende Vorarbeiten. Mit der Aktivierung erzwingt der ADFS die Authentifizierung und die Geräte, die noch nicht "registered" sind müssen einen Weg finden, um sich zu registrieren. Genau diese Funktion übernimmt ebenfalls der ADFS-Server. Auf die Einrichtung gehe hier hier aber nicht weiter ein und verweise auf andere Quelle:
- Initialize-ADDeviceRegistration -ServiceAccountName domain\svc-adfsservices$
- Konfigurieren On-Premises Conditional Access using
registrierte Geräte
https://docs.microsoft.com/de-de/windows-server/identity/ad-fs/operations/configure-device-based-conditional-access-On-Premises - Device authentication controls in AD FS
https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/operations/device-authentication-controls-in-ad-fs - Set-AdfsGlobalAuthenticationPolicy
https://technet.microsoft.com/de-de/library/dn479384(v=wps.630).aspx - How to configure hybrid Azure Active Directory joined
devices
https://docs.microsoft.com/en-us/azure/active-directory/device-management-hybrid-azuread-joined-devices-setup - Configure Azure Active Directory device-based conditional
access policies
https://docs.microsoft.com/en-us/azure/active-directory/active-directory-conditional-access-policy-connected-applications
AADConnect und Device Writeback
Sie können natürlich auch den Service in Azure nutzen und AzureADConnect erlauben, die Informationen in das lokale Active Directory zurück zu schreiben. Allerdings kostet das einen kleinen Aufpreis
A subscription to Azure AD Premium is
required for device writeback
Quelle:
https://docs.microsoft.com/en-us/azure/active-directory/connect/active-directory-aadconnect-feature-device-writeback
Prüfen Sie aber, was in AzureAD Premium noch enthalten ist. Es gibt durchaus Gründe für diese Erweiterung, z.B. MFA, RMS, und gruppenbasierte Lizenzvergabe. Und natürlich benötigt "jemand" auch die Rechte die Geräte im lokalen AD anzulegen
Die erforderlichen Einstellungen hat Microsoft recht ausführlich dokumentiert
- Azure AD Connect: Enabling device
writeback
https://docs.microsoft.com/en-us/azure/active-directory/connect/active-directory-aadconnect-feature-device-writeback - Weitere Informationen zu den Funktionen
in der Vorschau
https://docs.microsoft.com/de-de/azure/active-directory/connect/active-directory-aadconnect-feature-preview#group-writeback
Chrome und Conditional Access
Dass die normalen Windows Apps wie Outlook, Explorer, Edge und Office mittels "Modern Auth" auch mit MFA und Conditional Access klarkommen, wäre zu erwarten. Was passiert aber, wenn ich z.B. per Chrome auf mein Postfach zugreifen will?. Hier der Fehler:
So komme ich erst einmal nicht hinein. Ich muss auf Chrome ein Add-on installieren. Das ist auf Computern einfach, die zur Firme gehören und zentral verwaltet werden.
-
Chrome Web Store: Windows Accounts
https://chrome.google.com/webstore/detail/windows-10-accounts/ppnbnpeolgkicgegkbkbjmhlideopiji
https://chrome.google.com/webstore/detail/windows-accounts/ppnbnpeolgkicgegkbkbjmhlideopiji - Referenz zu den Einstellungen für den
bedingten Azure Active Directory-Zugriff
https://aka.ms/casupportedbrowsers
https://docs.microsoft.com/de-de/azure/active-directory/active-directory-conditional-access-technical-reference#supported-browsers
Weitere Links
- Conditional Access
- Device Registration Android
-
Azure MFA
On-Premises
So sichern sie lokale RDP-Gateways, VPN-Zugänge und andere Radius-Dienste mit MFA ab - Conditional access in Azure Active
Directory
https://docs.microsoft.com/en-us/azure/active-directory/active-directory-conditional-access-azure-portal - Best practices for conditional access in
Azure Active Directory
https://docs.microsoft.com/en-us/azure/active-directory/active-directory-conditional-access-best-practices - Azure Active Directory conditional
access settings reference
https://docs.microsoft.com/en-us/azure/active-directory/active-directory-conditional-access-technical-reference - Active Directory conditional access
device policies for Office 365 services
https://docs.microsoft.com/en-us/azure/active-directory/active-directory-conditional-access-device-policies - Manage Risk with Conditional Access
Control
https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/operations/manage-risk-with-conditional-access-control - BRK3015 Deep-dive: Azure Active Directory Authentication and Single-Sign-On
https://www.youtube.com/watch?v=6RHbDriZRVc