Security Baselines¶
Security Baselines in TCM365 bieten vordefinierte Regelwerke, die Industrie-Best-Practices, regulatorische Anforderungen und organisatorische Sicherheitsstandards repraesentieren. Mit 43 Baseline-Templates über 10+ Framework-Kategorien ermöglicht TCM365 automatisierte Compliance-Evaluation gegen weithin anerkannte Sicherheitsbenchmarks.
Übersicht¶
Eine Security Baseline ist eine Sammlung von Konfigurationsregeln, die jeweils einen erwarteten Einstellungswert, den zugehörigen Resource Type und Metadaten für Compliance-Mapping spezifizieren. TCM365 evaluiert Tenant-Snapshots gegen diese Baselines, um Compliance-Scores zu erstellen, Lücken zu identifizieren und Remediation-Anleitungen zu generieren.
Kernfunktionen¶
- 43 vorgefertigte Baseline-Templates über 10+ Framework-Kategorien
- MITRE ATT&CK-Mapping für sicherheitsrelevante Regeln
- Framework-spezifische Bezeichner (Maester Test IDs, EIDSCA Control IDs)
- Cross-Vendor Framework-Mapping (ISO, NIS2)
- Automatisierte Compliance Engine für Snapshot-Evaluation
- Erstellung und Modifikation eigener Baselines
- Zscaler-spezifische Baselines für ZIA- und ZPA-Konfigurationen
- Atlassian-spezifische Baselines für Org Security, Jira und Confluence (v2.5.0)
- Szenario-basierte Templates für gängige Deployment-Muster
Baseline-Template-Kategorien¶
CIS Benchmarks (4 Templates)¶
Center for Internet Security (CIS) Benchmarks bieten praeskriktive Konfigurationsrichtlinien für Microsoft 365.
| Template | Datei | Regeln | Umfang |
|---|---|---|---|
| CIS M365 Level 1 | cis-m365-l1.json |
Grundlegende Sicherheit für alle Organisationen | Entra, Exchange, SharePoint, Teams |
| CIS M365 Level 1 E5 | cis-m365-l1-e5.json |
Level 1 mit E5-spezifischen Controls | Level 1 + Defender, Purview |
| CIS M365 Level 2 | cis-m365-l2.json |
Erweiterte Sicherheit (kann Nutzbarkeit beeinträchtigen) | Erweiterte Entra, Exchange-Härtung |
| CIS M365 Level 2 E5 | cis-m365-l2-e5.json |
Level 2 mit E5-spezifischen Controls | Level 2 + erweiterte Defender |
SCUBA (8 Templates)¶
CISA Secure Cloud Business Applications (SCUBA) Baselines sind auf die Cloud-Sicherheitsanforderungen der US-Bundesregierung abgestimmt.
| Template | Datei | Umfang |
|---|---|---|
| SCUBA AAD | scuba-aad.json |
Azure Active Directory / Entra ID |
| SCUBA Defender | scuba-defender.json |
Microsoft Defender for Office 365 |
| SCUBA Exchange | scuba-exo.json |
Exchange Online |
| SCUBA SharePoint | scuba-sharepoint.json |
SharePoint Online |
| SCUBA Teams | scuba-teams.json |
Microsoft Teams |
| SCUBA Power BI | scuba-powerbi.json |
Power BI |
| SCUBA Power Platform | scuba-powerplatform.json |
Power Platform |
| SCUBA Full Bundle | scuba-full-bundle.json |
Alle SCUBA Workloads kombiniert |
Microsoft Zero Trust (3 Templates) + NIST (1 Template)¶
Zero Trust Architecture Baselines basierend auf Microsofts Maturity-Modell und NIST Special Publication 800-207.
| Template | Datei | Reifegrad |
|---|---|---|
| Zero Trust Starting Point | ms-zero-trust-starting-point.json |
Grundlagen-Level |
| Zero Trust Enterprise | ms-zero-trust-enterprise.json |
Mittleres Level |
| Zero Trust Specialized | ms-zero-trust-specialized.json |
Fortgeschrittene/spezialisierte Workloads |
| NIST 800-207 Zero Trust | nist-800-207-zt.json |
NIST ZT-Architektur |
BSI (1 Template)¶
Bundesamt für Sicherheit in der Informationstechnik (BSI) IT-Grundschutz-Baseline für deutsche regulatorische Compliance.
| Template | Datei | Umfang |
|---|---|---|
| BSI Grundschutz M365 | bsi-grundschutz-m365.json |
Deutscher IT-Sicherheitsstandard für M365 |
Maester (3 Templates)¶
Maester-kompatible Baselines für automatisierte Sicherheitstests mit strukturierten Test-Bezeichnern.
| Template | Datei | Fokus |
|---|---|---|
| App Registration Security | app-registration-security.json |
Entra ID App Registration Hygiene |
| CA Policy Validation | maester-ca-policy-validation.json |
52 Conditional Access Policy-Tests |
| Privileged Role Hygiene | privileged-role-hygiene.json |
Privileged Identity Management |
EIDSCA (1 Template)¶
Entra ID Security Configuration Analyzer -- eine umfassende Baseline mit Fokus ausschliesslich auf Entra ID-Sicherheitseinstellungen.
| Template | Datei | Fokus |
|---|---|---|
| EIDSCA Entra Security | eidsca-entra-security.json |
Umfassende Entra ID-Konfiguration |
Allgemeine Sicherheit (9 Templates)¶
Zweckgebundene Baselines für spezifische Sicherheitsdomaenen:
| Template | Datei | Fokus |
|---|---|---|
| Anti-Phishing | anti-phishing.json |
Phishing-Schutzrichtlinien |
| CA MFA Enforcement | ca-mfa-enforcement.json |
Multi-Faktor-Authentifizierung via CA |
| DKIM Signing | dkim-signing.json |
E-Mail DKIM-Konfiguration |
| Entra Hardening | entra-hardening.json |
Entra ID Sicherheitshaertung |
| Exchange Security | exchange-security.json |
Exchange Online Sicherheitseinstellungen |
| Intune Compliance | intune-compliance.json |
Device Compliance Policies |
| Legacy Auth Blocking | legacy-auth-blocking.json |
Legacy-Authentifizierungsprotokolle blockieren |
| Teams Governance | teams-governance.json |
Teams Collaboration Governance |
| Zero Trust Foundation | zero-trust-foundation.json |
Grundlegende Zero Trust Controls |
Zscaler (4 Templates)¶
Baselines für Zscaler ZIA- und ZPA-Sicherheitskonfigurationen:
| Template | Datei | Regeln | Fokus |
|---|---|---|---|
| ZIA Security Best Practices | zscaler-zia-security.json |
10 | ZIA Internet-Sicherheit |
| ZPA Zero Trust Access | zscaler-zpa-zero-trust.json |
9 | ZPA Zero Trust-Zugriff |
| ZIA DLP | zscaler-zia-dlp.json |
8 | Data Loss Prevention |
| Zscaler Hardening | zscaler-hardening.json |
8 | Kombinierte ZIA/ZPA-Härtung |
Szenario-basiert (6 Templates)¶
Vorkonfigurierte Baselines optimiert für gängige organisatorische Szenarien:
| Template | Datei | Zielgruppe |
|---|---|---|
| Copilot Readiness | scenario-copilot-readiness.json |
Organisationen mit M365 Copilot-Deployment |
| Education | scenario-education.json |
Bildungseinrichtungen |
| New Tenant | scenario-new-tenant.json |
Frisch provisionierte M365 Tenants |
| Regulated Industry | scenario-regulated-industry.json |
Finanz, Gesundheit, Regierung |
| Remote Workforce | scenario-remote-workforce.json |
Verteilte/Remote-Organisationen |
| SMB Essential | scenario-smb-essential.json |
Kleine und mittlere Unternehmen |
Atlassian (3 Templates, v2.5.0)¶
Baselines für Atlassian Cloud Sicherheitskonfigurationen:
| Template | Datei | Regeln | Fokus |
|---|---|---|---|
| Atlassian Org Security | atlassian-org-security.json |
10 | Organisationsweite Sicherheitseinstellungen |
| Atlassian Jira Security | atlassian-jira-security.json |
8 | Jira-spezifische Sicherheitskonfiguration |
| Atlassian Confluence Security | atlassian-confluence-security.json |
6 | Confluence-spezifische Sicherheitskonfiguration |
Template-JSON-Struktur¶
Jedes Baseline-Template folgt einem standardisierten JSON-Schema definiert in
backend-js/src/config/baseline-templates/template-schema.ts.
Template-Aufbau¶
{
"id": "cis-m365-l1",
"name": "CIS Microsoft 365 Level 1",
"description": "CIS Benchmark für Microsoft 365 - Level 1 (empfohlen für alle Organisationen)",
"version": "2.0.0",
"framework": "CIS",
"category": "benchmark",
"vendor": "microsoft",
"tags": ["cis", "m365", "level1", "recommended"],
"rules": [
{
"id": "CIS-M365-1.1.1",
"name": "MFA für alle Benutzer sicherstellen",
"description": "Multi-Faktor-Authentifizierung sollte für alle Benutzerkonten erforderlich sein",
"severity": "critical",
"resourceType": "microsoft.entra.conditionalAccess",
"settingPath": "state",
"expectedValue": "enabled",
"operator": "equals",
"remediation": "CA Policy erstellen, die MFA für alle Benutzer erfordert",
"references": [
"https://www.cisecurity.org/benchmark/microsoft_365"
],
"mitreAttackId": "T1078",
"mitreAttackTactic": "Initial Access",
"isoMapping": "A.9.4.2",
"nis2Mapping": "Article 21(2)(j)"
}
]
}
Regel-Eigenschaften¶
| Eigenschaft | Typ | Pflicht | Beschreibung |
|---|---|---|---|
id |
string | Ja | Eindeutiger Regelbezeichner innerhalb des Templates |
name |
string | Ja | Menschenlesbarer Regelname |
description |
string | Ja | Detaillierte Beschreibung der Regel |
severity |
enum | Ja | info, low, medium, high, critical |
resourceType |
string | Ja | Vendor-Prefixed Resource Type zur Auswertung |
settingPath |
string | Ja | JSONPath zur spezifischen Einstellung innerhalb der Ressource |
expectedValue |
any | Ja | Erwarteter Wert für Compliance |
operator |
enum | Ja | Vergleichsoperator (siehe unten) |
remediation |
string | Nein | Empfohlene Behebungsschritte |
references |
string[] | Nein | Externe Referenz-URLs |
mitreAttackId |
string | Nein | MITRE ATT&CK Technique ID |
mitreAttackTactic |
string | Nein | MITRE ATT&CK Tactic |
maesterTestId |
string | Nein | Maester Framework Test ID |
eidscaControl |
string | Nein | EIDSCA Control-Bezeichner |
isoMapping |
string | Nein | ISO 27001/27002 Control-Mapping |
nis2Mapping |
string | Nein | NIS2-Richtlinie Artikel-Mapping |
Vergleichsoperatoren¶
| Operator | Beschreibung | Beispiel |
|---|---|---|
equals |
Exakte Werteuebereinstimmung | state gleich "enabled" |
notEquals |
Wert darf nicht uebereinstimmen | legacyAuth ungleich "allowed" |
contains |
Array oder String enthält Wert | grantControls enthält "mfa" |
notContains |
Array oder String enthält Wert nicht | excludedUsers enthält nicht "all" |
greaterThan |
Numerischer Vergleich | passwordLength größer als 12 |
lessThan |
Numerischer Vergleich | sessionTimeout kleiner als 480 |
exists |
Eigenschaft muss vorhanden sein | mfaConfiguration existiert |
notExists |
Eigenschaft darf nicht vorhanden sein | legacyAuthPolicy existiert nicht |
regex |
Regulaerer Ausdruck | displayName passt auf /^PROD-.*/ |
MITRE ATT&CK-Mapping¶
Baseline-Regeln können auf das MITRE ATT&CK Framework gemappt werden, sodass Organisationen verstehen können, welche Angriffstechniken ihre Konfigurationen abdecken.
Unterstützte Mappings¶
| Feld | Zweck | Beispiel |
|---|---|---|
mitreAttackId |
ATT&CK Technique-Bezeichner | T1078 (Valid Accounts) |
mitreAttackTactic |
ATT&CK Tactic-Kategorie | Initial Access, Persistence |
Coverage-Visualisierung¶
Der Security Assessment Report (siehe Berichte) umfasst MITRE ATT&CK Coverage-Mapping und zeigt:
- Welche Techniken durch Baseline-Regeln abgedeckt sind
- Welche Techniken bestandene vs. fehlgeschlagene Regeln haben
- Coverage-Lücken, die potenzielle Blind Spots darstellen
Cross-Framework-Mapping¶
Baseline-Regeln unterstützen das Mapping zu mehreren Compliance-Frameworks gleichzeitig, sodass eine einzelne Regel Anforderungen über mehrere Standards erfüllen kann:
| Mapping-Feld | Framework | Beispiel |
|---|---|---|
isoMapping |
ISO 27001 / ISO 27002 | A.9.4.2 (Sichere Anmeldeverfahren) |
nis2Mapping |
NIS2-Richtlinie | Article 21(2)(j) (Multi-Faktor-Authentifizierung) |
maesterTestId |
Maester | MT.1001 |
eidscaControl |
EIDSCA | EIDSCA-AF01 |
Dieses Cross-Mapping ermöglicht TCM365 die Compliance-Evaluation über mehrere Frameworks aus einem einzigen Baseline-Evaluierungslauf.
Compliance Engine¶
Der BaselinesService enthält eine Compliance Engine, die Tenant-Snapshots gegen
ausgewaehlte Baselines evaluiert.
Evaluierungsablauf¶
flowchart TD
A[Snapshot-Daten] --> B[Baseline-Template auswählen]
B --> C[Für jede Regel im Template]
C --> D[Resource Type aus Snapshot extrahieren]
D --> E[Zum settingPath navigieren]
E --> F[Operator-Vergleich anwenden]
F --> G[Pass/Fail/Skip-Ergebnis erfassen]
G --> H[Compliance-Score berechnen]
H --> I[Compliance-Bericht generieren]
Evaluierungsergebnisse¶
{
"baselineId": "cis-m365-l1",
"baselineName": "CIS Microsoft 365 Level 1",
"evaluatedAt": "2026-03-05T10:30:00Z",
"score": 87.5,
"totalRules": 40,
"passed": 35,
"failed": 3,
"skipped": 2,
"results": [
{
"ruleId": "CIS-M365-1.1.1",
"ruleName": "MFA für alle Benutzer sicherstellen",
"status": "passed",
"actualValue": "enabled",
"expectedValue": "enabled"
},
{
"ruleId": "CIS-M365-2.3.1",
"ruleName": "Legacy-Authentifizierung blockieren",
"status": "failed",
"actualValue": "allowed",
"expectedValue": "blocked",
"remediation": "CA Policy erstellen, die Legacy-Authentifizierungsprotokolle blockiert"
}
]
}
Score-Berechnung¶
Der Compliance-Score ist ein gewichteter Prozentsatz:
Regeln werden uebersprungen, wenn der erforderliche Resource Type nicht im Snapshot vorhanden ist (z.B. Auswertung von Defender-Regeln gegen einen Snapshot, der keine Defender-Konfigurationen erfasst hat).
API-Endpoints¶
| Methode | Endpoint | Beschreibung |
|---|---|---|
GET |
/api/v1/baselines/templates |
Alle verfügbaren Baseline-Templates auflisten |
GET |
/api/v1/baselines/templates/{id} |
Template-Details und Regeln abrufen |
POST |
/api/v1/baselines |
Eigene Baseline erstellen |
GET |
/api/v1/baselines |
Alle Baselines auflisten (integrierte + eigene) |
GET |
/api/v1/baselines/{id} |
Baseline-Details abrufen |
PUT |
/api/v1/baselines/{id} |
Eigene Baseline aktualisieren |
DELETE |
/api/v1/baselines/{id} |
Eigene Baseline löschen |
POST |
/api/v1/baselines/{id}/evaluate |
Snapshot gegen Baseline evaluieren |
GET |
/api/v1/baselines/{id}/results |
Evaluierungsergebnisse abrufen |
Eigene Baselines¶
Organisationen können eigene Baselines erstellen durch:
- Von einem Template starten -- Bestehendes Template klonen und Regeln anpassen
- Von Grund auf erstellen -- Neue Baseline mit eigenen Regeln erstellen
- Templates zusammenfuehren -- Regeln aus mehreren Templates kombinieren
Eigene Baseline erstellen¶
{
"name": "Unser Organisations-Sicherheitsstandard",
"description": "Eigene Baseline, die CIS L1 mit zusätzlichen internen Anforderungen kombiniert",
"framework": "Custom",
"vendor": "microsoft",
"rules": [
{
"id": "CUSTOM-001",
"name": "Mindestens 16-Zeichen-Passwörter erfordern",
"severity": "high",
"resourceType": "microsoft.entra.authenticationMethods",
"settingPath": "passwordPolicy.minimumLength",
"expectedValue": 16,
"operator": "greaterThan",
"remediation": "Entra ID Passwort-Policy aktualisieren für mindestens 16 Zeichen"
}
]
}
Best Practices¶
- Mit CIS Level 1 beginnen -- Bietet eine solide Grundlage ohne uebertriebene Einschränkungen
- Baselines schichten -- CIS mit Maester und EIDSCA für umfassende Abdeckung kombinieren
- Szenario-Templates nutzen -- Das Szenario-Template wählen, das am nächsten zum Organisationstyp passt
- Auf Regulierungen mappen -- Cross-Framework-Mappings für Compliance-Reporting nutzen
- Regelmäßig überprüfen -- Eigene Baselines aktualisieren wenn sich Sicherheitsanforderungen ändern
- MITRE-Coverage verfolgen -- ATT&CK-Mapping nutzen um Lücken in der Sicherheitslage zu identifizieren
- Vor und nach Änderungen evaluieren -- Baseline-Evaluierungen vor und nach Konfigurationsänderungen durchführen um Verbesserungen zu messen