Exchange Split Permission Model
Die Sicherheitslücken Anfang 2019 (Siehe auch Exchange Fail Jan 2019 - CVE-2018-8581) haben das Augenmerk auch auf die Berechtigungen der Exchange Server gelenkt. Es wird oft zwischen einem "Shared" und einem "Split"-Permission Modell unterschieden. Diese Seite soll die Unterschiede besser heraus arbeiten, damit Sie sich für das richtige Modell entscheiden können.
Wie sicher ist sicher?
Exchange ist sehr eng mit dem Active Directory integriert und damit sind auch entsprechende Rechte verbunden. Es gibt aus meiner Sicht mehrere Optionen, wie eine Software und Administration erfolgen kann. Interessant ist, dass je nach Exchange Version die verschiedenen Optionen eingesetzt wurden.
Administration | Service | Bewertung | genutzt von |
---|---|---|---|
Durch Exchange Administrator |
Liest/Schreibt die Daten |
Produktspezifische DatenbankDie Zeit von Exchange 4.0 bis 5.5 war lange vor dem ersten Active Directory. Diese Produkte hatten daher ihren eigenen Verzeichnisdienst" zur Verwaltung der Exchange Empfänger. Die Server selbst waren zwar Mitglied im Active Directory aber eben nur Mitgliedsserver ohne weitere Berechtigungen. Der Windows Administrator musste die Domain-Benutzer anlegen und Exchange hat dann einfach die Authentifizierung durch die Domäne genutzt. Die Informationen über Postfächer, Verteiler und öffentlichen Ordner wurden in einer eigenen Verzeichnisdatenbank "DIR.EDB" gespeichert und unterlagen damit einer getrennten Verwaltung. Interessanterweise sind viele Fehlermeldungen und Eventlog-Nummern der Exchange 5.x Verzeichnisdatenbank mit den Fehlern im Active Directory Eventlog (NTTDT.DIT) identisch. Da könnte es also eine Zusammenarbeit gegeben haben. Der Nachteil dieser Lösung war natürlich die doppelte Verwaltung von Identitäten. Inkonsistenzen sind möglich, z.B. Postfächer ohne zugeordneten Benutzer und gleichnamige Gruppen mit unterschiedlichen Mitgliedern. |
|
Durch Administrator direkt an den AD-Objekten |
Liest die Daten nur aus |
Klassisches AD ModellSeit Exchange 2000 gibt es keinen eigenen Exchange Verzeichnis Service mehr und Exchange baut auf das Active Directory. Bis Exchange 2003 hat Microsoft die MMC für Benutzer und Computer um "Exchange Karteikarten und Aktionen" erweitert. Technisch hat aber der Administrator mit seinen Berechtigungen direkt per LDAP an den AD-Objekten gearbeitet. Das geht auch an der Exchange Business Logik vorbei per LDAP, VBScript und wurde damals auch intensiv genutzt. Das kann auch eine Malware machen und es gab keine unabhängige Validierung der Werte auf Gültigkeit. Der Schutz dieser Admin-Konten ist bei dem Modell wichtig. Mit Blick auf den Server ist diese Konfiguration natürlich sicher, da der Server hier nur "Lesen" muss. Der Server muss nichts schreiben. |
|
Indirekt über den Server |
Liest und schreibt Daten. Erzeugt und löscht Objekte |
Shared Permission ModelMit Exchange 2007 hat Microsoft nicht nur den Sprung auf 64 bit gemacht, sondern auch die Verwaltung komplett geändert. Ein Exchange Administrator nutzt Exchange Commandlets und das Control Panel um die Einstellungen durch den Server durchführen zu lassen. Der Exchange Server Code hat damit deutlich mehr Berechtigungen auf die Konfiguration und Empfänger. Der normale Administrator selbst muss damit nicht mehr das Recht haben, bestimmte Properties an den Exchange Konfigurationsobjekten oder Empfängern zu schreiben. Der Exchange Code kann zudem die Plausibilität der Daten prüfen und damit Falscheinstellungen von vorneherein unterbinden, z.B. Mailadressen anhand der Vorgaben direkt umsetzen oder ungültige Adresse abweisen. Mit Exchange 2010 wurde das Verfahren mit durch RBAC - Role Based Access Control noch weiter verbessert. Letztlich ist der Exchange Server die autoritative Instanz und hat entsprechend Berechtigungen. Das war auch ein Aspekt, warum die Sicherheitslücke CVE-2018-8581 (Exchange Fail Jan 2019 - CVE-2018-8581) so schwerwiegend war. Über die Berechtigung zur Pflege von Verteilerlisten und Gruppen auf der Domäne kann Exchange auch die Mitglieder von administrativen Gruppen, hier ist die Gruppe der Domänen-Administratoren besonders interessant, verändern. |
|
Durch Admin + Server |
Liest und schreibt Daten. Legt aber keine Objekte an |
Split Permission ModelBei diesem Modell hat der Exchange Server weniger Berechtigungen und kann keine Objekte mehr anlegen oder löschen. Insbesondere administrative Objekte sind besser geschützt. Allerdings müssen neue Anwender dann durch einen "UserAdmin" angelegt und durch Exchange Administratoren dann mit einem Postfach versehen werden. Daher leitet sich auch der Name "shared" ab. Das sichert ihre Umgebung besser gegen Fehler in Exchange ab aber öffnet natürlich wieder eine Tür beim Administrator, der die Anlage und Löschung selbst organisieren muss. |
Optional aktivierbar |
Indirekt über den Server |
Liest und schreibt Daten. Erzeugt und löscht Objekte |
Ressource ForestsDies ist ein besonderer Fall, bei dem Exchange in einem ganz eigenen Forest installiert wird. Exchange kann dann keine Objekte im Anmeldeforest verändern. |
Ab Ex2000 |
Das klassische Modell steht mit Exchange 2007 und höher natürlich nicht mehr zur Verfügung und die Koexistenz mit Exchange 2003/2000 ist seit Exchange 2013 schon lange Geschichte. Da im Februar 2019 auch der Support für Exchange 2007 schon lange ausgelaufen ist, gehe ich für die weitere Beschreibung davon aus, dass sie mindestens Exchange 2010 oder höher einsetzen.
Wer die Wahl hat...
Wenn Sie das Exchange Setup ausführen, dann werden Sie relativ früh gefragt, ob Sie das "Split Permission Modell" umsetzen wollen. An der Stelle, an der sich bei der ersten Installation von Exchange für einen Organisationsnamen entscheiden müssen, wird die Checkbox mit eingeblendet.
Per Default ist die Auswahl nicht aktiv und so können und sollten Sie davon ausgehen, dass die überwiegende Zahl der Exchange Installationen im "Shared permission Model" laufen und das seit über 12 Jahre auch immer gut war. Die Beschreibung erklärt auch, dass diese Einstellung eigentlich für größere Firmen interessant ist bei denen Der Administrator von Exchange und der Administrator der Empfänger nicht die gleiche Person sind.
Sie lesen hier aber auch, dass es dann den Exchange Administratoren nicht mehr möglich ist, z.B. neue Postfächer, Verteiler oder Kontakte anzulegen. Sie müssen also ihren "Provisioning-Prozess" neu definieren. Benutzer, Verteiler und Kontakte müssen dann über einen anderen Weg von einem entsprechend im Active Directory berechtigten Personenkreis angelegt werden, ehe Sie dann ein Exchange Recipient Administrator entsprechend weiter provisionieren kann. Der letzte Satz dürfte damit für die meisten mittleren und kleinen Firmen zutreffen: Wenn die Personen eh beide Tätigkeiten verrichten, dann macht es wenig Sinn, diese Berechtigungen zu trennen.
Etwas irritierend kam dann im Feb 2019 dazu, dass Microsoft auf einem Security Warning in etwa folgendes schrieb:
"Attackers cannot compromise
a Domain Admin account if an On-Prem deployment follows
Microsoft’s security best practice guidance and
has implemented Active Directory Split Permissions
"
Quelle:
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV190007.
Stand 10 Feb 2019
So eine Aussage ist missverständlich, weil viele Leser meinten, dass es "Best Practice" wäre, das Split Permission Modell zu nutzen. Das stimmt so aber nicht. Microsoft unterstützt beide Modelle vollumfänglich und gibt auch keinen einen Vorzug.
Meine Entscheidungsmatrix sieht so aus.
Umgebung | Modell |
---|---|
Eine AdministrationSpeziell kleine und mittlerer Firmen habe gar keine getrennte Administration durch unterschiedliche Abteilungen oder Personen. Dann macht es auch keinen Sinn, diese Rolle zu trennen |
Shared Permission |
Verteile AdministrationWenn ihre Firma ein eigenes Team für die AD-Administration und ein andere Teams für die Exchange Verwaltung hat, und diese auf ihrer jeweils zugewiesenen Zuständigkeit für bestimmte Aufgaben bestehen, dann sind Sie ein Kandidat für ein Split-Permission-Modell,bei dem die Exchange Administratoren nur bestehende AD-Objekte bearbeiten aber selbst keine AD-Benutzer und Gruppen anlegen pder löschen dürfen. |
Split Permission |
ProvisioningDer dritte Einsatzbereich sind "automatisierte Firmen", bei denen die Einrichtung und Verwaltung von Benutzern aber auch Exchange Eigenschaften nicht mehr durch Menschen direkt sondern indirekt durch Verwaltungswerkzeuge erfolgen. Dann hat sowieso ein Dienstkonto die Berechtigungen. Die "Teile und Herrsche"-Strategie ist dann Teil der Provisioning-Software. |
Shared Permission |
Wenn nun immer noch unsicher sind, dann kontaktieren Sie einfach meine Kollegen oder mich bei Net at Work und MSXFAQ
Split Permission aktivieren
Das Setup per GUI erlaubt ihnen die Auswahl des Security Model nur während der Eingabe der Organisation. Dies ist allerdings ein einmaliger Prozess bei der Installation des ersten Exchange Servers in einem neuen Forest. Ich bin ziemlich sicher, dass die meisten Administratoren sich an dieses Fenster nicht mal erinnern können, es sei denn Sie haben mal eine Testumgebung aufgebaut oder in einen neuen Forest migriert.
Sie können aber auch bei einer bestehenden Installation das Permission Modell immer wieder umstellen. Microsoft beschreibt dies selbst sehr ausführlich:
You can also enable or disable
Active Directory split permissions after you've
installed Exchange 2013 by rerunning setup.exe from
the command line. To enable Active Directory split
permissions, set the ActiveDirectorySplitPermissionsparameter
to true. To disable it, set it to false. You must
always specify the PrepareAD switch along with the
ActiveDirectorySplitPermissions parameter. If you
have multiple domains within the same forest, you
must also either specify the PrepareAllDomains switch
when you apply Active Directory split permissions
or run setup with the PrepareDomain switch in each
domain. If you choose to run setup with the PrepareDomain
switch in each domain rather than use the PrepareAllDomains
switch, you must prepare every domain that contains
Exchange servers, mail-enabled objects, or global
catalog servers that could be accessed by an Exchange
server.
Quelle:
https://docs.microsoft.com/en-us/exchange/understanding-split-permissions-exchange-2013-help
Dem Exchange Server ist es letztlich für den laufenden Betrieb erst mal egal, ob er weniger oder mehr schreiben kann, weil er im Regelfall sowieso nicht schreibt. Das passiert ja nur, wenn ein Administrator per RBAC den Exchange mit einem der folgenden auffordert, neue Objekte anzulegen oder bestehende Objekte zu löschen. Auch dazu hat Microsoft eine eigene Warnung formuliert:
After you enable Active Directory
split permissions, Exchange administrators and servers
will no longer be able to create security principals
in Active Directory, and they won't be able to manage
distribution group membership. These tasks must
be performed using Active Directory management tools
with the required Active Directory permissions.
Before you make this change, you should understand
the impact it will have on your administration processes
and third-party applications that integrate with
Exchange 2013 and the RBAC permissions model.
Quelle:
https://docs.microsoft.com/en-us/exchange/configure-exchange-2013-for-split-permissions-exchange-2013-help
Folgende Commandlets funktionieren daher nicht mehr, wenn diese in der Exchange PowerShell über den Exchange Server Änderungen durchführen sollen.
New-Mailbox New-MailContact New-MailUser New-RemoteMailbox Remove-Mailbox Remove-MailContact Remove-MailUser Remove-RemoteMailbox Add-DistributionGroupMember New-DistributionGroup Remove-DistributionGroup Remove-DistributionGroupMember Update-DistributionGroupMember
Aber genau die Berechtigungen, die für diese Commandlets den Exchange Servern gegeben werden müssen, sind auch der Grund, dass Exchange Server z.B. die Gruppe der Domänen-Administratoren und andere sensible Gruppen ändern können. Exchange hat sich beim "Shared Permission Modell" nämlich auch die entsprechenden Berechtigungen auf den Admin Gruppen über das AdminSDHolder-Objekt gegeben.
- Exchange Rechte
- Configure Exchange 2013 for
split permissions
https://docs.microsoft.com/en-us/exchange/configure-exchange-2013-for-split-permissions-exchange-2013-help - Understanding split permissions
https://docs.microsoft.com/en-us/exchange/understanding-split-permissions-exchange-2013-help
Empfehlung
Eine klare Empfehlung auszusprechen ist nicht einfach. Der Split-Permission Model ist natürlich sicherer, wenn Sie die Berechtigungen der Exchange Server einschränken wollen. Ich kann schon verstehen, dass in größeren Firmen es kritisch gesehen wird, wenn eine Gruppe wie "Exchange Server" oder "Exchange Trusted Subsystem" sehr weitreichende Rechte auf AD-Objekte hat. Microsoft hätte die Rechte sicher auch gerne enger gefasst und insbesondere die administrativen Gruppen ausgespart. Aber Microsoft kann kann nicht wissen wissen, wie Sie ihr Active Directory in OUs aufteilen und dann die Rechte nur auf dieses OU vergeben. Ich behaupte aber auch mal, dass in den meisten Firmen auch Administratoren ein Postfach haben bzw. Benutzer mit einem Postfach auch administrieren. Nicht jede Firma trennt "Admin" und "normaler User" strickt.
Das Shared Permission Model ist aus meiner Sicht für kleine und mittlere Firmen immer noch die beste Wahl, auch wenn durch Exchange Fail Jan 2019 - CVE-2018-8581 mal wieder aufgezeigt wurde, dass jede Software Fehler haben kann. Software hat Bugs und Menschen machen Fehler. Wenn Sie aber die Rechte einschränken und daher an anderer Stelle für die gleiche Aufgabe dann mit einem anderen Programm die Berechtigungen benötigen, dann kommt ein Einbrecher durch eine andere Hintertür ins System.
Aus meiner Sicht ist es viel wichtiger, dass Sie ein klares Admin-Konzept haben und die eingesetzten Produkte kennen und zeitnah aktuell halten.
Weitere Links
- Exchange Fail Jan 2019 - CVE-2018-8581
- RBAC - Role Based Access Control
- AdminSDHolder
- Exchange Rechte
-
Exchange ACL Problem
Wenn verwaiste Berechtigungen im AD die Exchange Funktion stören - Understanding split permissions
https://docs.microsoft.com/en-osoft.com/en-us/exchange/understanding-split-permissions-exchange-2013-help - Weitere Blogs über "Exchange
absichern"
https://www.frankysweb.de/exchange-2016-installation-absichern-hardening/
https://www.it-consulting-grote.de/download/msexchange-hardening3.pdf
https://www.admin-enclave.com/en/articles/exchange/347-hardening-microsoft-exchange-2016-server.html
https://www.digicomp.ch/blog/2017/07/01/exchange-hardening-teil-1