RemoteOps ist eine ganzheitliche, webbasierte Automations- und Management-Plattform zur Steuerung moderner Hybrid- und Windows-Infrastrukturen. Sie schlieΓt die LΓΌcke zwischen manuellem Windows-Server-Betrieb (Hyper-V Manager, RSAT, Active Directory-Konsolen) und modernen Infrastructure-as-Code- (IaC) sowie CI/CD-Paradigmen.
Anstatt InfrastrukturΓ€nderungen isoliert und unprotokolliert durchzufΓΌhren, konsolidiert RemoteOps:
- die automatisierte Bereitstellung virtueller Maschinen (Hyper-V Generation 2, UEFI, Unattended),
- das Active Directory Domain Services Lifecycle-Management (OUs, Gruppen, Benutzer, GPOs) ΓΌber Ansible,
- die AusfΓΌhrung geprΓΌfter PowerShell-Automationsskripte,
- den sicheren Remote-Zugriff via WinRM (HTTP/HTTPS), SSH und PowerShell Direct,
- sowie revisionssicheres Auditing, rollenbasierte Zugriffskontrollen (RBAC) und Prometheus-Monitoring.
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β RemoteOps Web Dashboard (React + TS) β
β - Dashboard & Monitoring - Target Catalog - Script Runner β
β - IaC Pipeline Steuerung - AD Management - Revisions-Audit β
βββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ
β REST API (JWT Auth) & WebSocket
βββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ
β FastAPI Backend & Automation Engine β
β - Auth & RBAC (Admin/Operator/Viewer) - Job Queue & Execution β
β - Telemetrie & Prometheus Metrics - Persistent State & DB β
βββββββββββ¬ββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββ¬βββββββββββ
β β β
βββββββββββΌββββββββββββββββ βββββββββΌββββββββββββββββ βββββββββΌβββββββββββ
β Hyper-V & PowerShell β β Ansible Pipeline β β Terraform β
β - Unattended ISO/VHDX β β (WSL / Control Node) β β - Lab Local β
β - Gen 2 UEFI VMs β β - Phasen 00 bis 05 β β - Azure Cloud β
β - PowerShell Direct β β - AD DS & GPO Audit β β β
βββββββββββββββββββββββββββ βββββββββββββββββββββββββ ββββββββββββββββββββ
- React 18 & TypeScript: Typensichere, komponentenbasierte BenutzeroberflΓ€che.
- Vite: Blitzschnelle Build-Pipeline und HMR (Hot Module Replacement).
- Modernes Dark-Mode & Glassmorphism Design: Elegante, ansprechende BenutzeroberflΓ€che mit Status-Badges, interaktiven Tabellen, Echtzeit-Konsolenausgaben und Parameter-Formularen.
- Lucide Icons: Standardisierte Enterprise-Symbolik fΓΌr Status, Hardware und NetzwerkkonnektivitΓ€t.
- FastAPI (Python 3.11+): Hochperformante, asynchrone REST-API mit automatischer OpenAPI-/Swagger-Dokumentation (
/docs). - Pydantic v2: Strenge Datenvalidierung und Schemagarantien fΓΌr alle Requests, Parameter und Umgebungsvariablen.
- SQLAlchemy 2.0 & Alembic: ORM-Schicht fΓΌr relationale Datenhaltung mit Migrationshistorie.
- Uvicorn / Gunicorn: ASGI-Produktionsserver.
- Durable Worker Pattern: Hintergrund-Worker zur asynchronen AusfΓΌhrung zeitintensiver Skripte und Playbooks ohne Blockierung des UI-Threads.
- SQLite / MySQL / PostgreSQL: Flexible Speicherung in
backend/remoteops.dbfΓΌr schlanken Betrieb oder MySQL/PostgreSQL in Enterprise-Umgebungen. - Secrets- & Parameter-State: Persistierung von IaC-KonfigurationszustΓ€nden in
backend/data/ad_params_state.jsonund geschΓΌtzten State-Dateien.
RemoteOps bietet nahtlose Verbindungsoptionen fΓΌr heterogene Systemlandschaften:
| Protokoll / Kanal | Port / Schnittstelle | Anwendungsbereich & Besonderheiten |
|---|---|---|
| WinRM (HTTP) | TCP 5985 | Schnelle Basiskonfiguration in abgeschotteten Lab-Umgebungen mit NTLM-Authentifizierung. |
| WinRM (HTTPS) | TCP 5986 | Enterprise-Standard mit TLS-Zertifikaten (winrm_ca_trust_path), strikter GΓΌltigkeitsprΓΌfung und abhΓΆrsicherer Γbertragung. |
| PowerShell Direct | VMBus (Hyper-V) | Direkte Verbindung vom Hyper-V Host in die VM β keine IP, kein Netzwerkadapter und keine offene Firewall erforderlich. |
| SSH | TCP 22 | Verbindung zu Linux-Hosts und modernen Windows-Systemen via OpenSSH. |
| Tailscale Mesh-VPN | UDP 41641 / WireGuard | MagicDNS- und Mesh-Tunneling (*.ts.net) zur sicheren Anbindung entfernter Standorte und Multi-Host-Setups. |
Die Hyper-V Orchestrierung (backend/powershell/local-hyperv/) ermΓΆglicht vollstΓ€ndiges VM-Lifecycle-Management:
- Generation 2 Virtual Machines:
- Hardware-Standards: 64-Bit UEFI, Secure Boot, dynamische Speicherverwaltung (
DynamicMemory), multi-vCPU Konfiguration.
- Hardware-Standards: 64-Bit UEFI, Secure Boot, dynamische Speicherverwaltung (
- Unattended Windows Server 2025 Installation (Zero-Touch):
- Automatische Erstellung angepasster Antwortdateien (
Autounattend.xml). - Dynamische Generierung von virtuellen ISO-Medien (
Mount-HyperVUnattendXml.ps1), die als zweites Bootmedium eingebunden werden. - Initialisiert Festplatte 0 (GPT), installiert Windows Server 2025 Standard Desktop Experience und richtet Administratorkonten, WinRM und Firewall-Regeln automatisch ein.
- Automatische Erstellung angepasster Antwortdateien (
- Storage-Management:
- Automatische VHDX-Erstellung (
DynamicoderFixed), Partitionierung und Formatierung ohne manuelle Eingriffe.
- Automatische VHDX-Erstellung (
- Virtual Switch Management:
- Anbindung an externe Adapter, isolierte Labor-Switches (
RemoteOps-Internal) oder den Hyper-VDefault Switch.
- Anbindung an externe Adapter, isolierte Labor-Switches (
- Modulare Skripte in backend/powershell/ zur Server- und Rollenbereitstellung.
- Dynamisches JSON-Schema: Skripte deklarieren ihre Parameter ΓΌber JSON-Schemas; das Frontend generiert daraus automatisch interaktive Eingabemasken.
- Elevation-Handling: Vorkonfigurierte Starter (
run_unattend_hyperv.bat,run_hyperv_admin.bat) zur UAC-Rechteerweiterung bei administrativen Hyper-V Aufgaben.
- Umgebungen in
terraform/environments/:lab_local: Lokale VM- und Festplattenbereitstellung ΓΌber den Hyper-V Provider.azure_cloud: Optionale hybride Anbindung an Cloud-Ressourcen.
Das Verzeichnis ansible/ad-management/ enthΓ€lt eine produktionsreife, 6-stufige AD-DS-Orchestrierung:
[Phase 00: Validate] --> Lokale Assert-PrΓΌfung von Parametern, KennwortstΓ€rken & TLS-CA
β
[Phase 01: Preflight] --> Remote-Check: WinRM HTTPS (5986), OS-Version, freier Speicher & statische IP
β
[Phase 02: Domain] --> Rolleninstallation (AD-DS, DNS, GPMC), Gesamtstruktur-Promotion & Auto-Reboot
β
[Phase 03: Objects] --> Strukturierte OUs mit LΓΆschschutz, Gruppen, Benutzer & Computerkonten
β
[Phase 04: GPO] --> Registry-Gruppenrichtlinien (Login-Banner, InaktivitΓ€ts-Timeouts) & OU-Verlinkung
β
[Phase 05: Verify] --> VollstΓ€ndiges Audit von NTDS, DNS, ADWS, Netlogon, KDC, SYSVOL & Objekten
- 00-validate.yml: Verhindert Fehlkonfigurationen, bevor Γnderungen angestoΓen werden.
- 01-preflight.yml: Validiert die Voraussetzungen des Zielsystems.
- 02-domain.yml: Installiert die Rollen und fΓΆrdert den Server zum DomΓ€nencontroller (
corp.hawrelab.test). - 03-objects.yml: Pflegt Organisationseinheiten, Benutzer (
hawre.lab,max.lab), Sicherheitsgruppen (GG_LAB_IT,GG_LAB_HR) und Computer. - 04-gpo.yml: Verteilt HΓ€rtungs- und Konfigurations-GPOs via Registry-Keys.
- 05-verify.yml: FΓΌhrt ein strukturiertes Audit aller AD-Komponenten durch und meldet ein valides JSON-Ergebnis zurΓΌck.
- site.yml: FΓΌhrt alle 6 Phasen sequenziell in einem Gesamtdurchlauf aus.
- Rollenbasiertes Rechtemodell (RBAC im Dashboard):
admin: Vollzugriff auf Infrastruktur, Secrets, Playbooks und Benutzerverwaltung.operator: AusfΓΌhrung von Skripten, Playbooks und Monitoring-Abfragen.viewer: Nur-Lese-Zugriff auf Status, Logs und Auswertungen.
- Active Directory Hierarchie:
OU=HawreLab,DC=corp,DC=hawrelab,DC=testOU=Users: Benutzerkonten mit standardisierten UPNs und Kennwortrichtlinien.OU=Groups: Globale Sicherheitsgruppen mit differenzierten Berechtigungsstufen.OU=Computers: Vorregistrierte Clients (z. B.CLIENT01) mit Baseline-Richtlinien.OU=Servers: Infrastruktur- und Anwendungsserver.
- Client-HΓ€rtung:
- Gruppenrichtlinien zur Erzwingung rechtlicher Hinweise (
legalnoticecaption), automatischer Sperrung nach InaktivitΓ€t und Sicherheitskonfigurationen.
- Gruppenrichtlinien zur Erzwingung rechtlicher Hinweise (
- Prometheus Metriken: Endpunkt
/metricsfΓΌr Metriken zu Job-Laufzeiten, Erfolgsquoten und HTTP-Statuscodes. - Target Health Checks: RegelmΓ€Γige Heartbeat- und Port-ΓberprΓΌfungen (ICMP, WinRM HTTP/HTTPS, SSH) aller inventarisierten Zielsysteme.
- Revisionssicheres Audit-Log: Jede Benutzerinteraktion und jede SkriptausfΓΌhrung wird dauerhaft in der Datenbank dokumentiert:
- Wer hat die Aktion gestartet?
- Welcher Befehl wurde mit welchen Parametern ausgefΓΌhrt?
- Dauer, AusfΓΌhrungszeitpunkt, Exit-Code und vollstΓ€ndiger Standard-Output/Error-Text.
- Hyper-V Checkpoint-Orchestrierung: Erstellung von Sicherheits-Snapshots vor Domain-Promotions oder Systemmodifikationen.
- DSRM (Directory Services Restore Mode): Getrennte, sichere Speicherung des Wiederherstellungskennworts fΓΌr Notfallreparaturen der AD-Datenbank (
NTDS.dit). - DPAPI- & Fernet-VerschlΓΌsselung: Gespeicherte Ziel-Credentials werden auf Windows-Hosts per Windows Data Protection API (DPAPI) geschΓΌtzt, unter Linux/Docker mit AES-128-CBC via Fernet.
- Idempotente Playbooks: Alle Ansible-Phasen sind idempotent gestaltet und kΓΆnnen ohne Seiteneffekte mehrfach ausgefΓΌhrt werden.
-
Voraussetzungen:
- Python 3.11+, Node.js 18+, Hyper-V aktiviert, WSL2 (Ubuntu) fΓΌr Ansible.
-
Backend starten:
cd backend python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt python -m app.database.migrate uvicorn app.main:app --reload --port 8000
-
Frontend starten:
cd frontend npm install npm run dev
-
Ansible Pipeline in WSL testen:
wsl bash -c "cd /mnt/c/Users/HAWRE/Antigravity-Workspace/Cloud-projects/Remote_LΓΆsung/ansible/ad-management && ansible-playbook -i inventory/hosts.yml playbooks/00-validate.yml"
# Umgebungsvariablen setzen
cp backend/.env.example .env
# Container bauen und im Hintergrund starten
docker compose up --build -d- Setze die Systemvariable
XAMPP_ROOT(Standard:C:\xampp). - FΓΌhre
setup_xampp_remoteops.bataus. - FΓΌhre
deploy_to_xampp.pyaus, um das Frontend und die Proxy-Konfiguration zu installieren. - Starte den Stack mit
start_xampp_remoteops.bat.
Remote_LΓΆsung/
βββ ansible/ # Ansible Automations-Suite
β βββ ad-management/ # Active Directory Pipeline
β β βββ inventory/ # Hosts & Group Variables (WinRM HTTPS)
β β βββ playbooks/ # Phasen 00 bis 05 & site.yml
β β βββ requirements.yml # Ansible Windows & AD Collections
β β βββ vars/ # lab.yml (Config) & secrets.yml (PasswΓΆrter)
β βββ inventory/ # Hyper-V Hosts Inventar
β βββ playbooks/ # Onboarding & Bootstrap Playbooks
βββ backend/ # FastAPI Backend-Service
β βββ app/
β β βββ api/v1/ # Endpunkte (Auth, Targets, Scripts, IaC, AD, Audit)
β β βββ core/ # Security, JWT, DPAPI-VerschlΓΌsselung, Config
β β βββ database/ # SQLAlchemy Modelle, DB-Session, Migrations
β β βββ models/ # Pydantic & ORM Entities
β β βββ services/ # IaC-, AD-, Execution- und Audit-Services
β βββ data/ # State-Dateien (ad_params_state.json, etc.)
β βββ powershell/ # PowerShell Automations-Engine & Hyper-V Tools
β βββ local-hyperv/ # Unattended XMLs, Mount- & Provisioning-Skripte
βββ frontend/ # React 18 TypeScript Web Dashboard
β βββ src/
β β βββ components/ # Reusable UI-Elemente, Navigation, Shell
β β βββ pages/ # Dashboard, Targets, Scripts, IaC, AD, Audit
β β βββ services/ # API-Clients & Authentication Interceptors
β βββ vite.config.ts # Vite Konfiguration
βββ terraform/ # Terraform Module & Umgebungen
β βββ environments/ # lab_local & azure_cloud
βββ docker-compose.yml # Container-Orchestrierung
βββ start_local.bat # 1-Klick Starter fΓΌr Windows
βββ README.md # Projekt-Dokumentation
- SΓ€mtliche KennwΓΆrter und Zertifikate in
vars/secrets.ymlsowie.envsind vor Produktivnutzung durch sichere, individuelle Werte zu ersetzen. - Die AusfΓΌhrung von Hyper-V- und WinRM-Befehlen erfordert entsprechende lokale Administratorrechte auf dem Hostsystem.