Microsoft365DSC - Monitoring des gewünschten Zustands von Microsoft 365

Microsoft365DSC

Monitoring des gewünschten Zustands von Microsoft 365

Rocco Gagliardi
von Rocco Gagliardi
am 03. Juni 2021
Lesezeit: 7 Minuten

Keypoints

So monitoren Sie Microsoft 365

  • Microsoft 365 wird immer mehr zu einem zentralen Werkzeug mittelständischer Unternehmen
  • Das Überwachen eines dermassen komplexen Produkts ist eine Herausforderung
  • Mit Microsoft365DSC wird es möglich, die gewünschten Einstellungen im Blick zu behalten
  • Blueprints können genutzt werden, um automatisiert unerwünschte Abweichungen erkennen und korrigieren zu können

Im Artikel Office 365 Teams Sicherheit haben wir uns die Sicherheitseinstellungen von Microsoft Teams im Detail angesehen und konnten mit kleinen ad-hoc erstellten Powershell-Skripten die Konfiguration einstellen und überwachen. In diesem Artikel werden wir ein Open-Source-Tool verwenden, das unter der Anregung von Microsoft-Entwicklern entstanden ist und von der Community gepflegt wird. Es eignet sich nicht nur zur Überwachung von Teams, sondern auch aller anderen Aspekte von Microsoft 365: Das Microsoft365DSC.

DSC steht für Desired State Configuration. Dies ist aber nur eine Funktion, die das Tool bietet. Der Zugriff auf alle Details der Microsoft 365-Konfiguration erleichtert die Durchführung mehrerer Aufgaben.

Microsoft365DSC kann für die folgenden Aufgaben verwendet werden:

Einfacher Anwendungsfall

Als Beispiel werden wir das Tool verwenden, um die Konfiguration einer neuen Installation von Microsoft Teams zu bewerten, indem wir auf die Export und Assess Funktionen von Microsoft365DSC zurückgreifen.

Um dies einfach zu halten, werden wir nur eine winzige Teilmenge der Teams-Einstellungen berücksichtigen, die Werte exportieren, eine neue gewünschte Konfiguration ableiten und die Installation bewerten.

Wir werden sehen, wie einfach es ist, wenn wir die Konfiguration im Textformat haben, jede Funktion zu referenzieren und zu dokumentieren, zu bewerten und zu tracken.

Exportieren der aktuellen Konfiguration

Mit dem Tool Microsoft365DSC lässt sich der Grossteil der Einstellungen jeder Komponente in Microsoft 365 extrahieren. Das Tool wird primär programmatisch in der Powershell verwendet, bietet aber auch eine interaktive WebUI, in der alle Konfigurationsabschnitte sichtbar und nutzbar sind.

WebUI Version

Wir können damit beginnen, indem wir in der Powershell Export-M365DSCConfiguration aufrufen, woraufhin sich eine WebUI mit allen auswählbaren Konfigurationsabschnitten öffnet.

Wählen Sie die Abschnitte aus, an denen Sie interessiert sind, und das Programm wird die Konfiguration in Form eines Powershell-Skripts ausgeben.

MicrosoftDSC WebUI

Powershell Version

Über Powershell ist es möglich, die gleichen Informationen zu extrahieren und die Konfiguration verschiedener Teile von Microsoft 365 herunterzuladen. Microsoft stellt eine Liste der Ressourcen zur Verfügung, die extrahiert werden können.

Erstellen der Konfiguration für den gewünschten Zustand

Nach dem Export der Richtlinie kann diese bewertet und modifiziert werden, um den gewünschten Zustand zu ermitteln. In diesem Beispiel haben wir nur zwei Aspekte von Microsoft Teams bewertet und überwacht: TeamsGuestMeetingConfiguration und TeamsGuestMessagingConfiguration.

PS C:\Users\Rocco Gagliardi> Export-M365DSCConfiguration -Quiet -ComponentsToExtract @('TeamsGuestMeetingConfiguration','TeamsGuestMessagingConfiguration') -GlobalAdminAccount (Get-Credential)

# Generated with Microsoft365DSC version 1.21.224.1
# For additional information on how to use Microsoft365DSC, please visit https://aka.ms/M365DSC
param (
    [parameter()]
    [System.Management.Automation.PSCredential]
    $GlobalAdminAccount
)

Configuration M365TenantConfig
{
    param (
        [parameter()]
        [System.Management.Automation.PSCredential]
        $GlobalAdminAccount
    )

    if ($null -eq $GlobalAdminAccount)
    {
        <# Credentials #>
        $Credsglobaladmin = Get-Credential -Message "Global Admin credentials"

    }
    else
    {
        $Credsglobaladmin = $GlobalAdminAccount
    }

    $OrganizationName = $Credsglobaladmin.UserName.Split('@')[1]
    Import-DscResource -ModuleName 'Microsoft365DSC' -ModuleVersion '1.21.224.1'

    Node localhost
    {
        TeamsGuestMeetingConfiguration 6f78f455-4e0c-4768-8e93-54023291b9d2
        {
            AllowIPVideo         = $False;
            AllowMeetNow         = $True;
            GlobalAdminAccount   = $Credsglobaladmin;
            Identity             = "Global";
            ScreenSharingMode    = "EntireScreen";
        }
        TeamsGuestMessagingConfiguration 2a65b3a9-78be-4eb0-a268-993281efd8b8
        {
            AllowGiphy             = $False;
            AllowImmersiveReader   = $True;
            AllowMemes             = $False;
            AllowStickers          = $True;
            AllowUserChat          = $True;
            AllowUserDeleteMessage = $True;
            AllowUserEditMessage   = $True;
            GiphyRatingType        = "Moderate";
            GlobalAdminAccount     = $Credsglobaladmin;
            Identity               = "Global";
        }
    }
}
M365TenantConfig -ConfigurationData .\ConfigurationData.psd1 -GlobalAdminAccount $GlobalAdminAccount

Bestimmen der Parameter

Nachdem ein Wert bewertet und der Status freigegeben wurde, kann der gewünschte Zustand definiert werden. Mit einer speziellen Syntax ist es möglich, auch die Wichtigkeit (importance) des Parameters (L1, L2, L3) und eine Meldung (message) zu definieren, die im Falle einer Abweichung angezeigt werden soll. Zum Beispiel:

AllowGiphy = $False; ### L2| We don't recommend the use of Giphy in chats for guest participants. Set this value to False.

Überprüfen des Status der Richtlinie

Sobald der gewünschte Status eingestellt ist, kann eine kontinuierliche Kontrolle der Konfiguration und der im Falle einer Abweichung zu generierenden Alarmierung etabliert werden.

Führen Sie einfach das Programm Assert-M365DSCBluePrintUrl aus. Dieses generiert einen Abweichungsbericht und zugehörige Alarmierungen.

PS C:\DSC> Assert-M365DSCBlueprint -BluePrintUrl C:\DSC\M365TenantConfig.ps1
WARNING: The names of some imported commands from the module 'Microsoft.PowerApps.Administration.PowerShell' include unapproved verbs that might make them less discoverable.
To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approved verbs, type Get-Verb.

cmdlet Assert-M365DSCBlueprint at command pipeline position 1
Supply values for the following parameters:
OutputReportPath: c:\DSC

Credentials
Selected BluePrint contains (2) components to assess.
Initiating the Export of those (2) components from the tenant...
[1/2] Extracting [TeamsGuestMeetingConfiguration]...
[2/2] Extracting [TeamsGuestMessagingConfiguration]...
Export took {45 seconds}

Es wird ein HTML-Bericht mit Vorschlägen bezüglich Anpassungen generiert. Konfigurationsabweichungen können auch im EventLog oder Mail zur weiteren Integration in SIEM gemeldet werden.

Microsoft365DSC Blueprints

Microsoft-Entwickler planen eine zentralisierte, von der Community betriebene Sammlung von Blueprints zu pflegen. Auch wenn das Repository im Moment ziemlich leer aussieht, sollten Sie es regelmässig überprüfen oder nach Möglichkeiten beitragen. Die Idee hinter dem Projekt ist es, eine gemeinsame und akzeptierte Richtlinie für jeden Teil von Microsoft 365 bereitzustellen, die ohne grosse Kenntnisse oder Tests implementiert werden kann. In der Zwischenzeit können Sie sich unseren Teams Blueprint ansehen.

Zusammenfassung

Microsoft investiert viel in die Sicherheit ihrer Produkte, insbesondere der Cloud-Lösungen. Um jedoch die Mehrheit der Öffentlichkeit, die die Produkte nutzt, zufriedenzustellen, muss Microsoft eine Balance zwischen Benutzerfreundlichkeit und Sicherheit finden. Die korrekte Konfiguration und Überwachung solch komplexer Produkte kann für viele Administratoren zu einem Albtraum werden. Mit Microsoft365DSC ist es möglich, einen Soll-Zustand zu definieren, ihn mit anderen, von Fachexperten geprüften Implementierungen zu vergleichen und abzugleichen sowie die Konformität der Installation mit vordefinierten Standards kontinuierlich zu überwachen.

Über den Autor

Rocco Gagliardi

Rocco Gagliardi ist seit den 1980er Jahren im Bereich der Informationstechnologie tätig. In den 1990er Jahren hat er sich ganz der Informationssicherheit verschrieben. Die Schwerpunkte seiner Arbeit liegen im Bereich Security Frameworks, Routing, Firewalling und Log Management.

Links

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

×
Übergang zu OpenSearch

Übergang zu OpenSearch

Rocco Gagliardi

Graylog v5

Graylog v5

Rocco Gagliardi

auditd

auditd

Rocco Gagliardi

Security Frameworks

Security Frameworks

Rocco Gagliardi

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv