Skip to content

Enterprise-grade deployment framework for Maester - Automated Microsoft 365 security testing with compliance mapping, remediation engine, and multi-platform support (vSphere, Azure, AWS, GCP)

License

Notifications You must be signed in to change notification settings

adrian207/Maester-O365

Maester Deployment Framework

Enterprise-grade deployment automation for Maester - Microsoft 365 Security Test Automation

License: MIT Version Maester

Author: Adrian Johnson adrian207@gmail.com


🎯 Overview

The Maester Deployment Framework provides production-ready, multi-platform deployment solutions for automated Microsoft 365 security testing using Maester. This framework enables continuous security monitoring, compliance validation, and automated reporting across your Microsoft 365 tenant.

Key Capabilities

  • 🏒 Enterprise Deployments: vSphere (Tanzu/RKE2/Vanilla K8s), AKS, EKS, GKE
  • ☁️ Serverless Options: Azure Functions, AWS Lambda, Google Cloud Functions
  • 🐳 Containerized: Docker Compose for rapid deployment
  • πŸ” Zero-Trust Security: Workload Identity Federation (no secrets!)
  • πŸ“Š Comprehensive Compliance: NIST 800-53, CIS, ISO 27001, HIPAA, PCI-DSS, SOC 2, CMMC
  • πŸ”” Multi-Channel Notifications: Email, Microsoft Teams, Slack, Webhooks
  • πŸ’Ύ Hybrid Storage: Embedded web server + Cloud backup
  • πŸ”„ Auto-Updates: Periodic updates for Maester and test definitions

πŸš€ Quick Start

Prerequisites

  • Microsoft 365 tenant with appropriate permissions
  • Azure AD App Registration (for authentication)
  • One of:
    • vSphere 7.0+ cluster
    • Kubernetes cluster (any distribution)
    • Azure/AWS/GCP account (for serverless)
    • Docker + Docker Compose

5-Minute Deployment (Docker Compose)

# Clone the repository
git clone https://github.com/your-org/maester-deployment.git
cd maester-deployment

# Configure environment
cp .env.example .env
# Edit .env with your Azure AD credentials

# Deploy
docker-compose up -d

# Access web UI
open http://localhost:8080

For production deployments, see our Deployment Guides.


πŸ“‹ Deployment Options

Platform Complexity Setup Time Best For Guide
Docker Compose ⭐ Low ~30 min Testing, Small Orgs Guide
Azure Functions ⭐⭐ Medium ~1 hour Cloud-First, Cost-Sensitive Guide
vSphere Tanzu ⭐⭐⭐ High ~4 hours Enterprise, On-Premise Guide
Azure AKS ⭐⭐ Medium ~2 hours Azure-Native Guide
AWS EKS ⭐⭐ Medium ~2 hours AWS-Native Guide
GCP GKE ⭐⭐ Medium ~2 hours GCP-Native Guide

πŸ—οΈ Architecture

High-Level Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Maester Deployment                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚   Maester    │───▢│   Report     │───▢│ Notification β”‚  β”‚
β”‚  β”‚   Runner     β”‚    β”‚   Server     β”‚    β”‚     Hub      β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚         β”‚                    β”‚                    β”‚           β”‚
β”‚         β”‚                    β”‚                    β”‚           β”‚
β”‚         β–Ό                    β–Ό                    β–Ό           β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚         Microsoft Graph API (M365 Tenant)            β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                               β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚ Compliance   β”‚    β”‚   Cloud      β”‚    β”‚  Monitoring  β”‚  β”‚
β”‚  β”‚   Mapper     β”‚    β”‚   Storage    β”‚    β”‚   & Alerts   β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

For detailed architecture, see ARCHITECTURE.md.


✨ Features

Security Testing

  • βœ… 40+ EIDSCA Tests: Pre-configured Entra ID Security Config Analyzer tests
  • βœ… Conditional Access: Policy validation and What-If analysis
  • βœ… Custom Tests: PowerShell-based Pester tests
  • βœ… Continuous Monitoring: Scheduled test execution
  • βœ… Regression Testing: Validate changes before deployment

Compliance & Reporting

  • βœ… Multi-Framework Support: NIST 800-53, CIS, ISO 27001, HIPAA, PCI-DSS, SOC 2, CMMC
  • βœ… Automated Mapping: Tests mapped to compliance controls
  • βœ… Evidence Collection: Automated audit-ready evidence packages
  • βœ… Gap Analysis: Identify compliance gaps and remediation steps
  • βœ… Trend Analysis: Historical compliance score tracking

Notifications

  • βœ… Email: HTML-formatted reports with embedded charts
  • βœ… Microsoft Teams: Adaptive Cards with interactive actions
  • βœ… Slack: Rich message blocks with threaded updates
  • βœ… Webhooks: Custom integrations (PagerDuty, ServiceNow, etc.)
  • βœ… Smart Routing: Severity-based notification channels

Storage & Access

  • βœ… Embedded Web Server: Real-time report viewing with search
  • βœ… Cloud Backup: Azure Blob, AWS S3, Google Cloud Storage
  • βœ… REST API: Programmatic access to test results
  • βœ… Multi-Format Export: HTML, PDF, Excel, JSON, CSV

Security

  • βœ… Workload Identity Federation: No secrets in configuration
  • βœ… Managed Identities: Azure/AWS/GCP native authentication
  • βœ… Least Privilege: Minimal Microsoft Graph permissions
  • βœ… Audit Logging: Complete activity tracking
  • βœ… Encryption: At-rest and in-transit encryption

πŸ“Š Compliance Frameworks

The framework includes comprehensive mappings for:

Framework Controls Coverage Evidence
NIST 800-53 Rev 5 1,194 342 applicable βœ… Automated
CIS Microsoft 365 150+ Full βœ… Automated
ISO 27001:2022 93 (Annex A) Full βœ… Automated
HIPAA Security Rule 45 Full βœ… Automated
PCI-DSS v4.0 12 requirements Applicable βœ… Automated
SOC 2 Type II 5 Trust Services Full βœ… Automated
CMMC 2.0 Level 1-3 Full βœ… Automated

See Compliance Documentation for detailed mappings.


πŸ—‚οΈ Repository Structure

maester-deployment/
β”œβ”€β”€ docs/                       # Documentation
β”‚   β”œβ”€β”€ deployment-guides/      # Platform-specific guides
β”‚   β”œβ”€β”€ architecture/           # Architecture documentation
β”‚   β”œβ”€β”€ compliance/            # Compliance framework docs
β”‚   └── operations/            # Operations guides
β”œβ”€β”€ docker/                    # Docker images
β”‚   β”œβ”€β”€ maester-runner/        # Test runner container
β”‚   β”œβ”€β”€ report-server/         # Web UI and API
β”‚   β”œβ”€β”€ notification-hub/      # Notification orchestrator
β”‚   └── compliance-mapper/     # Compliance engine
β”œβ”€β”€ terraform/                 # Infrastructure as Code
β”‚   β”œβ”€β”€ modules/              # Reusable modules
β”‚   └── environments/         # Environment configs
β”œβ”€β”€ kubernetes/               # Kubernetes manifests
β”‚   β”œβ”€β”€ base/                # Base resources
β”‚   β”œβ”€β”€ overlays/            # Kustomize overlays
β”‚   └── helm/                # Helm charts
β”œβ”€β”€ serverless/              # Serverless deployments
β”‚   β”œβ”€β”€ azure-functions/     # Azure Functions
β”‚   β”œβ”€β”€ aws-lambda/          # AWS Lambda
β”‚   └── gcp-functions/       # Google Cloud Functions
β”œβ”€β”€ compliance/              # Compliance mappings
β”‚   └── frameworks/          # Framework definitions
β”œβ”€β”€ tests/                   # Custom Maester tests
β”‚   β”œβ”€β”€ examples/           # Example tests
β”‚   └── templates/          # Test templates
└── scripts/                # Utility scripts
    β”œβ”€β”€ setup/             # Setup automation
    └── maintenance/       # Maintenance scripts

πŸ”§ Configuration

Environment Variables

# Azure AD Authentication
AZURE_TENANT_ID=your-tenant-id
AZURE_CLIENT_ID=your-client-id

# Test Configuration
TEST_SCHEDULE="0 2 * * *"           # Daily at 2 AM
TEST_TAGS="EIDSCA,CA,MFA"          # Test categories
REPORT_RETENTION_DAYS=90

# Notifications
NOTIFICATION_EMAIL=security@company.com
TEAMS_WEBHOOK_URL=https://...
SLACK_WEBHOOK_URL=https://...

# Storage
CLOUD_STORAGE_PROVIDER=azure       # azure|aws|gcp
STORAGE_ACCOUNT_NAME=maesterreports

See Configuration Guide for full reference.


πŸ“– Documentation

Getting Started

Deployment Guides

Operations

Development


🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

# Clone repository
git clone https://github.com/your-org/maester-deployment.git
cd maester-deployment

# Install development dependencies
./scripts/setup/dev-setup.sh

# Run tests
./scripts/test/run-tests.sh

πŸ“‹ Roadmap

v0.9.0 (Current) - Pre-Release

  • βœ… Core deployment framework
  • βœ… vSphere support (Tanzu/Vanilla/RKE2)
  • βœ… Kubernetes deployments
  • βœ… Serverless options (Azure/AWS/GCP)
  • βœ… Compliance framework mappings
  • βœ… Multi-channel notifications

v1.0.0 - General Availability

  • ⬜ Production hardening
  • ⬜ Performance optimizations
  • ⬜ Extended testing coverage
  • ⬜ Enhanced documentation
  • ⬜ Community feedback integration

v1.1.0 - Enhanced Features

  • ⬜ Multi-tenant support
  • ⬜ Advanced dashboards
  • ⬜ Automated remediation workflows
  • ⬜ GitOps integration (ArgoCD/Flux)
  • ⬜ Cost optimization recommendations

See ROADMAP.md for detailed planning.


πŸ“Š Performance & Scalability

Metric Target Typical
Test Execution Time < 10 min 5-7 min
Report Generation < 2 min 30-60 sec
API Response Time < 500ms 100-200ms
Cold Start (Serverless) < 30 sec 5-15 sec
Concurrent Users 50+ N/A

πŸ’° Cost Estimates

Docker Compose (On-Premise)

  • Infrastructure: Existing server/VM
  • Monthly Cost: $0 incremental

vSphere Deployment

  • Infrastructure: Existing vSphere investment
  • VMs: ~144 vCPU, ~224GB RAM total
  • Storage: ~500GB
  • Monthly Cost: $0 incremental + $20-50 cloud backup

Azure Serverless

  • Azure Functions: ~$10-30/month
  • Container Apps: ~$20-40/month (scale to zero)
  • Storage: ~$5-20/month
  • Total: $35-90/month

AWS Serverless

  • Lambda: ~$10-25/month
  • Fargate: ~$25-45/month
  • S3: ~$5-15/month
  • Total: $40-85/month

πŸ”’ Security

Reporting Security Issues

Please report security vulnerabilities to security@your-domain.com. Do not create public GitHub issues for security vulnerabilities.

Security Best Practices

  • βœ… Use Workload Identity Federation (no secrets)
  • βœ… Enable encryption at rest and in transit
  • βœ… Implement least privilege access
  • βœ… Regular security updates
  • βœ… Audit logging enabled
  • βœ… Network isolation

See SECURITY.md for detailed security practices.


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • Maester Team for the excellent security testing framework
  • Microsoft Graph for comprehensive APIs
  • Pester for PowerShell testing framework
  • Community contributors and testers

πŸ“ž Support

Community Support

Documentation

Commercial Support

For enterprise support, training, and custom development:


πŸ“ˆ Project Status

GitHub Issues GitHub Pull Requests GitHub Stars GitHub Forks

Current Status: Pre-Release (v0.9.0)
Stability: Beta
Production Ready: Use with caution, testing recommended


Built with ❀️ for secure Microsoft 365 environments

About

Enterprise-grade deployment framework for Maester - Automated Microsoft 365 security testing with compliance mapping, remediation engine, and multi-platform support (vSphere, Azure, AWS, GCP)

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published