DynoraStation ist für ein vertrauenswürdiges lokales Netz ausgelegt. Die HTTP-API besitzt derzeit keine Benutzeranmeldung und sollte deshalb nicht direkt ins Internet veröffentlicht werden.
Empfohlen:
- DynoraStation und ESP-Module nur im LAN betreiben
- keinen direkten Port-Forward auf
8181einrichten - Fernzugriff über VPN statt öffentlich erreichbarer API
TRUST_PROXY=falselassen, solange kein kontrollierter Reverse Proxy vorgeschaltet ist- Debug-Endpunkte im Produktivbetrieb deaktiviert lassen
Bei ENABLE_SECURITY_HEADERS=true setzt der Server unter anderem:
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Referrer-Policy: no-referrer
Cross-Origin-Resource-Policy: same-origin
Zusätzlich wird eine restriktive Permissions Policy gesetzt.
Standardmäßig ist CORS deaktiviert. Schreibende Browseranfragen mit einem fremden Origin werden blockiert. ESP- und CLI-Clients senden üblicherweise keinen Origin und bleiben funktionsfähig.
Wenn Cross-Origin-Zugriff benötigt wird:
CORS_ENABLED=true
CORS_ALLOWED_ORIGINS=https://example.internalMehrere Origins werden kommasepariert angegeben. * sollte nur verwendet werden, wenn der offene Zugriff wirklich beabsichtigt ist.
Globale API-Anfragen und Modul-Endpunkte besitzen getrennte In-Memory-Limits. Modul-Limits werden anhand der Client-IP gebildet, damit eine frei gewählte Modul-ID nicht zur Umgehung des Limits verwendet werden kann.
Layout, Hardwaredaten und Regeln werden vor der Verwendung normalisiert. Textwerte, Kanäle, Helligkeiten und IDs werden begrenzt. Dynamische Texte im Frontend werden vor HTML-String-Rendering escaped.
data/ und .env enthalten installationsspezifische Daten. Diese Dateien sollten nicht öffentlich veröffentlicht oder ungeprüft in Support-Tickets hochgeladen werden.
Backups der Installer enthalten die Programmversion, nicht standardmäßig .env, data/ oder node_modules/. Für eine vollständige Datensicherung müssen data/ und .env separat gesichert werden.
Der NOT-AUS in der Weboberfläche ist ein Softwarebefehl. Er ersetzt keine geeignete hardwareseitige Abschaltung der Anlage.
Die Endpunkte für Neustart und Shutdown beenden ausschließlich den DynoraStation-Prozess, nicht das Betriebssystem. Der zusätzliche Bestätigungsheader schützt vor versehentlichen Browser-/Formularaufrufen, ist aber keine Authentifizierung. Jeder Client mit API-Zugriff im vertrauenswürdigen Netz kann grundsätzlich Stationsaktionen auslösen. Deshalb gilt auch hier: Port 8181 nicht direkt ins Internet veröffentlichen.