Automatisering van Microsoft 365-beveiligingscontroles met Maester
Het instellen van Microsoft 365 begint meestal met goede bedoelingen: Conditional Access is geconfigureerd, multi-factor authentication is ingeschakeld voor beheerders, gasttoegang tot gevoelige groepen is beperkt. Er gaan zes maanden voorbij, teamleden veranderen, iemand schakelt een regel uit voor een snelle oplossing en vergeet deze opnieuw in te schakelen. Dit wordt meestal ontdekt tijdens een audit of na een incident.
Handmatig de tenantstatus controleren via de Entra ID-portal of engineers elke maand door tientallen menu's laten klikken is vervelend en onbetrouwbaar. Geautomatiseerde tests worden al lang gebruikt om serverinfrastructuurconfiguraties te verifiëren. Het Maester-project past deze aanpak aan voor de Microsoft 365-omgeving.
Wat Maester is
Maester is een testframework gebouwd op PowerShell en de populaire Pester-engine. Het hoofddoel is het uitvoeren van een reeks controles op uw M365-tenant, het verifiëren van instellingen tegen beveiligingsbest practices en het genereren van een gedetailleerd rapport.
Het hulpmiddel integreert Microsoft Graph API, M365-beheermodules en vertrouwde Pester-tests. Als u ooit unit tests in PowerShell heeft geschreven, voelt Maester's syntaxis vertrouwd aan.
Snelle start en uitvoering
U hebt PowerShell en een paar opdrachten nodig om te beginnen. Installatie gebeurt rechtstreeks vanuit PowerShell Gallery:
Install-Module -Name Maester -Scope CurrentUser
Na de installatie maakt u een werkmap aan en downloadt u de kant-en-klare testsuite:
md ~/maester-tests
cd ~/maester-tests
Install-MaesterTests
Het uitvoeren van de tests omvat twee stappen: authenticatie en het aanroepen van de runner zelf.
cd ~/maester-tests
Connect-Maester
Invoke-Maester
De Connect-Maester opdracht vraagt authenticatie aan bij Microsoft Entra. Trouwens, er is een parameter voor het werken met sovereign clouds zoals USGov of China:
Connect-Maester -Environment USGov
Overzicht van functies
Kant-en-klare tests verifiëren basisinstellingen: conditional access-beleid, MFA-status, wachtwoordconfiguraties, externe share-parameters en admin-rollen. De praktische waarde van het framework komt tot uiting in verschillende gebieden.
Aangepaste Pester-tests
U bent niet beperkt tot de standaardset uit de repository. Elk .tests.ps1 bestand in de tests-map maakt deel uit van de algehele uitvoering. Als uw organisatie het maken van openbare koppelingen naar SharePoint-bestanden verbiedt, schrijft u een korte Pester-test die deze instelling verifieert via de Microsoft Graph API.
Meerdere rapportageformaten
De Invoke-Maester resultaten kunnen worden geëxporteerd naar HTML, JSON, CSV, Excel of Markdown. Een interactief HTML-rapport is handig om aan auditors te tonen of te uploaden naar een interne webresource.
Chatmeldingen
Resultaten hoeven niet in de console te worden gelezen. Het script stuurt een samenvatting naar Microsoft Teams, Slack of via e-mail. Als iemand 's nachts een kritisch beveiligingsbeleid heeft gewijzigd, ziet het team 's ochtends een bericht in het werkkanaal.
CI/CD-integratie
Het framework past in het DevSecOps-concept. Het op een schema uitvoeren is eenvoudig in te stellen in GitHub Actions, Azure DevOps of GitLab CI. De auteurs hebben een kant-en-klare action in GitHub Marketplace (maester365/maester-action) uitgebracht die de controleresultaten naar de pipeline-summary uitvoert.
Aandachtspunten
In de repository-beschrijving waarschuwen de ontwikkelaars voor instabiel gedrag van de ExchangeOnlineManagement-module versie 3.9.2. Verbindingspogingen met deze versie resulteren vaak in fouten. Het probleem ligt bij de Microsoft-module zelf, niet bij Maester, dus het is beter om tijdelijk eerdere versies van ExchangeOnlineManagement te gebruiken.
Een ander punt is de actualiteit van tests. Microsoft-beveiligingsstandaarden en API's veranderen regelmatig. Om de controles up-to-date te houden, moet u af en toe свежие tests ophalen met de Update-MaesterTests opdracht.
Conclusie
Maester is nuttig voor systeembeheerders, beveiligingsengineers en DevOps-specialisten die Microsoft 365-tenants beheren. Het hulpmiddel verplaatst beveiligingsauditing van vervelende handmatige werkzaamheden naar geautomatiseerde codeverificatie. Als u wijzigingen in de tenant wilt monitoren en meldingen wilt ontvangen over configuratiedrift, is het de moeite waard om het project in uw infrastructuur te testen.
Gerelateerde projecten