Sicherheit
Grundprinzip: Token niemals im Frontend
Angular-Apps sind reine Client-Side-Anwendungen. Jeder Token in environment.prod.ts oder im Code landet nach ng build als Klartext in den JS-Bundles und ist für jeden sichtbar, der die DevTools öffnet.
Regel: Der Directus API-Token gehört ausschließlich in den Nginx Proxy Manager.
.gitignore — was niemals ins Repository darf
Vorlagen ohne Token werden committed:
proxy.conf.example.json
src/environments/environment.example.ts
Token-Handling nach Umgebung
| Umgebung |
Token-Quelle |
Token im Quellcode? |
ng serve (Dev) |
proxy.conf.json (lokal, gitignored) |
Nein |
ng build (Prod) |
Nginx Proxy Manager |
Nein |
| Directus direkt |
— |
Nie |
Token kompromittiert — Sofortmaßnahmen
- Directus Admin-UI → Settings → Access Tokens → Token sofort löschen
- Neuen Token erstellen
- NPM Advanced Config aktualisieren
proxy.conf.json lokal aktualisieren
- Testen ob alter Token wirklich ungültig ist:
Directus-Berechtigungen minimal halten
Der API-Token sollte nur Lesezugriff auf die landingpage-Collection haben — kein Schreibzugriff, kein Zugriff auf andere Collections.
In Directus Admin-UI → Settings → Roles & Permissions → Token-Rolle prüfen:
landingpage: Read ✓
- Alle anderen Collections: kein Zugriff
Tasmota-Geräte
- Steckdosen sind nur im LAN (
*.neugasse.lan) erreichbar — kein externer Zugriff möglich
- Tasmota-WebUI sollte mit Passwort gesichert sein (
Configuration → Security)
- Die HTTP-API der Steckdosen ist unverschlüsselt — ausreichend für LAN-Betrieb
Angriffsvektor-Übersicht
| Vektor |
Risiko |
Mitigierung |
| Token im JS-Bundle |
Hoch |
NPM-Proxy, kein Token im Code |
| Token im Git-Repository |
Hoch |
.gitignore, Token rotieren |
| Directus ohne Auth erreichbar |
Mittel |
Token erforderlich, Items auf published |
| Tasmota im Internet erreichbar |
Niedrig |
Nur LAN, kein Port-Forward |