Quarantäne-Freigaben in Respond-Service integrieren
In Microsoft 365 (Exchange Online) können Kunden eine Quarantäne konfigurieren. Microsoft verschiebt dann eingehende E-Mails, die möglicherweise oder wahrscheinlich "gefährlich" sind, in die Quarantäne der Benutzerinnen und Benutzer.
Informationen zur Exchange Online Quarantäne und den möglichen "Klassifizierungen" der E-Mails für die Quarantäne, finden Sie direkt bei Micorosoft: https://learn.microsoft.com/en-us/defender-office-365/quarantine-about
Es kommt vor, dass Microsoft E-Mails in die Quarantäne legt, die eigentlich legitim und harmlos sind und die vom Empfänger effektiv gebraucht werden.
Microsoft sieht dazu vor, dass Mitarbeitende teilweise selber E-Mails aus der Quarantäne freigeben (releasen) können. Für gewisse Kategorien (high confidence Phishing zum Beispiel) ist das aber nicht möglich und die Mitarbeitenden können die Freigabe lediglich "anfordern". Diese Anforderung landet dann bei einem Exchange Administratoren beim Kunden. Dieser muss entscheiden, ob die E-Mail effektiv freigegeben werden soll, oder nicht.
Mit dem "Quarantäne Add-On" für den Respond-Service übernehmen wir diese Arbeit für Sie (respektive für Ihre Exchange Administratoren). Nachfolgend sind die nötigen Schritte und technischen Details dieses Add-On beschrieben:
Quarantäne bei Microsoft konfigurieren
Wir empfehlen Ihnen, dass Ihre Mitarbeitenden keine Quarantäne E-Mails selber freigeben dürfen, sondern diese immer "anfordern" müssen. Dazu müssen Sie eine neue Quarantine-Policy erstellen. Die Anleitung finden Sie hier: https://learn.microsoft.com/en-us/defender-office-365/quarantine-policies.
In Schritt 4 der Anleitung muss entsprechend konfiguriert werden, dass Ihre Mitarbeitenden das Recht erhalten, die Freigabe von E-Mails aus der Quarantäne anzufragen:
Wir empfehlen Ihnen, auch alle anderen Konfigurationen gemäss den Anleitungen von Microsoft vorzunehmen (Quarantine Notifications, zum Beispiel).
Zugriff für advact auf die Quarantäne
Damit advact Zugriff auf die Quarantäne erhält, wird eine Azure App Registration sowie eine benutzerdefinierte Exchange Online RBAC Konfiguration benötigt. Über EXO RBAC können die Berechtigungen granular gesteuert werden. Diese Berechtigungen werden mittels einem Service Principal mit der App Registration verknüpft. Der App Registration wird via dem API Recht "Exchange.ManageAsApp" ein nicht interaktiver Zugriff auf EXO gewährt. Standardmässig hat dieses API Recht keine Berechtigungen in Exchange. Die Exchange-Rechte müssen explizit in EXO auf den Service Principal angewendet werden, um Zugriff zu erhalten.
Azure App Registration
Wir nutzen die Zertifikatsbasierte Anmeldung. In einer produktiven Umgebung wird ein Zertifikat von einer vertrauenswürdige Zertifizierungsstelle verwendet, in einer Test-Umgebung ein selbst signiertes. Das Zertifikat wird von advact gestellt. Das benötigte Service Principal wird bei der Erstellung der App Registration automatisch erstellt.
Folgend eine Anleitung um die App Registration mit den benötigten Einstellungen vorzunehmen:
-
In die App Registrierung in Azure gehen: App-Registrierungen - Microsoft Azure
-
Neue Registrierung mit folgenden Einstellungen vornehmen und Registrieren
Einstellung Wert Bemerkung Name Frei zu wählender Name Unterstützte Kontotypen Nur Konten in diesem Organisationsverzeichnis Es wird keine mandantenfähige Applikation benötigt, da diese Einstellung nur bei einer interaktiven App notwendig ist Umleitungs-URI Wird nicht bentötigt -
In der neu erstellten App unter “API-Berechtigungen” und “Berechtigung hinzufügen”
-
Auf den Reiter “Von meiner Organisation verwendete APIs“ wechseln
-
Nach “Office 365 Exchange Online” filtern und auswählen
-
Auf “Anwendungsberechtigungen” klicken, nach “Exchange.ManageAsApp” filtern und auswählen
-
Berechtigung hinzufügen
-
-
Die Standard Berechtigung “User.Read” entfernen und mit “Administratorzustimmung …” die Administratoreinwilligung erteilen
-
Unter “Zertifikate & Geheimnisse” und “Zertifikate” mit “Zertifikat hochladen” das zur Verfügung gestellte Zertifikat hochladen
Exchange Online RBAC
Die EXO RBAC wird mit Gruppen Rollen, Management Rollen und einem Management Bereich gesteuert.
-
Gruppen Rollen (Rolegroup) verteilen die Rechte der Management Rollen mit einem optionalen Bereich auf Benutzer oder Services
-
Management Rollen steuern die Berechtigungen
-
Diese berechtigen die nutzbaren Commands des PowerShell EXO Moduls und deren Parameter
-
Beim Verbinden auf den Exchange Online Service bekommt der Client nur die angegeben Commands
-
-
Management Bereich schränkt den Zugriff ein
-
Die zugänglichen Daten im EXO können dabei auf eine Vielzahl von filterbaren Eigenschaften eingeschränkt werden, siehe Parameter des Commands New-ManagementScope sowie die Filterbaren Eigenschaften für den Parameter „RecipientFilter“
-
Die neuen Management Rollen sind ein Child der Rolle “Transport Hygiene” und “View-Only Recipients“. Der Parent (Transport Hygiene und View-Only Recipients) schränkt dabei ein, dass die Child-Rolle nicht mehr Berechtigungen als der Parent bekommen kann. “Transport Hygiene” ist dabei die einzige Rolle unterhalb des Security Admin, welche es erlaubt die Quarantäne Mails zu löschen. “View-Only Recipients“ erlaubt es dabei, die regionale Konfiguration der Mailbox auszulesen.
Folgende Commands müssen in den beiden Management Rollen für uns berechtigt werden :
- Management Rolle 1 (Parent Transport Hygiene)
-
Get-QuarantineMessage
-
Export-QuarantineMessage
-
Delete-QuarantineMessage
-
- Management Rolle 2 (Parent View-Only Recipients)
-
Get-MailboxRegionalConfiguration
-
Der Management Bereich sowie die Gruppen Rollen werden von uns nicht vorgegeben und können selbständig angepasst werden. In Verknüpfung des Service Principal der App Registration wird ein EXO Service Principal erstellt. Dieses EXO Service Principal können wir dann der zu erstellenden Gruppen Rolle zuweisen.
Folgend eine Anleitung zum Aufbau der Exchange Online RBAC Rolle sowie die Zuweisung derer auf die App Registration:
- PowerShell starten und auf Azure sowie Exchange Online verbinden
- Folgend die empfohlene Vorgehensweise zur Erstellung der EXO RBAC Rolle, sowie die Verknüpfung zum App Registration Service Principal
<# Management Rollen mit den benötigten Commands erstellen #> New-ManagementRole -parent "transport hygiene" -name "CHANGE ME" -EnabledCmdlets Get-QuarantineMessage,Export-QuarantineMessage,Delete-QuarantineMessage New-ManagementRole -parent "View-Only Recipients" -name "CHANGE ME" -EnabledCmdlets Get-MailboxRegionalConfiguration <# Neue Gruppen Rolle erstellen #> New-RoleGroup -Name "CHANGE ME" <# Management Rollen der Gruppen Rolle zuweisen #> New-ManagementRoleAssignment -Role "NAME DER ERSTEN MANAGEMENT ROLLE" -SecurityGroup "NAME DER GRUPPEN ROLLE" New-ManagementRoleAssignment -Role "NAME DER ZWEITEN MANAGEMENT ROLLE" -SecurityGroup "NAME DER GRUPPEN ROLLE" <# Benötigte Informationen aus Azure abrufen #> $AzureApp = Get-MgServicePrincipal -Filter "displayname eq 'NAME DER APP REGISTRATION'" <# Neues Service Principal in EXO erstellen #> New-ServicePrincipal -AppID $AzureApp.AppId -ObjectId $AzureApp.Id -DisplayName "CHANGE ME" $EXO_SP = Get-ServicePrincipal -Identity "NAME DES SERVICE PRINCIPAL" <# Das Service Principal als Mitglied der Rolle hinzufügen #> Add-RoleGroupMember -Identity "NAME DER GRUPPEN ROLLE" -Member $EXO_SP.Identity
- Abschliessend die Konfiguration mit der advact testen.
Respond-Templates
Für die Kommunikation mit Ihren Mitarbeitenden, verwenden wir das selbe System, wie für die verdächtigen E-Mails. Das heisst, die Mitarbeitenden erhalten die Kommunikation im selben Design und vom selben Absendern, den sie schon kennen. Für das Quarantäne Add-On gibt es insgesamt fünf neue Templates:
- Quarantäne Freigabeanforderung erhalten
- Quarantäne Freigabe erteilt
- Quarantäne Freigabe nicht erteilt
- Quarantäne Freigabe erteilt - Rechnung
- Quarantäne Freigabe erteilt - Cloud Storage
Die Texte aus den Templates erhalten Sie schon in der Testphase von uns.