# Teamviev Security Baseline

Stand: 2026-06-12

Dieses Dokument ist eine technische Arbeitsgrundlage und keine Rechtsberatung.

## NIS2-Orientierung

Die EU-NIS2-Richtlinie Artikel 21 verlangt risikobasierte und angemessene technische, operative und organisatorische Massnahmen. Fuer dieses kleine Fernwartungswerkzeug sind die wichtigsten Nachweise:

- Risikoanalyse und Security-Policy
- Incident Handling
- Business Continuity und Backup/Restore
- sichere Entwicklung und Wartung
- Wirksamkeitspruefung
- Cyber-Hygiene
- Verschluesselung
- Zugriffskontrolle und Asset-Uebersicht
- sichere Kommunikation

Quelle: EUR-Lex, Directive (EU) 2022/2555, Article 21.

## Eingebaute technische Massnahmen

- HTTPS-Zwang und HSTS
- API nur per POST
- Origin-Pruefung gegen fremde Domains
- Request-Groessenlimit
- Rate-Limit fuer Chat und API
- serverseitiger Chat-Wortfilter
- Session-IDs mit sechs Zeichen
- Session-Dateien nicht direkt per Web abrufbar
- Rate- und Audit-Dateien nicht direkt per Web abrufbar
- Audit-Log fuer create, offer, answer, candidate, name, chat, kick und clear
- Chat speichert gefilterte Texte, Audit speichert keine Chat-Inhalte
- Debug-Logs fuer WebRTC/NAT im Browser
- Zuschauer kann durch Sender entfernt werden
- Host-Token fuer Sender-Aktionen wie Offer, Kick und Session-Ende
- AD/SSO-Hook vorbereitet, ohne den anonymen Standardbetrieb zu brechen
- Optionaler TURN-Server ueber `config.js` vorbereitet
- Neue zufaellige Raumcodes sind 8-stellig; 6-stellige Alt-/Bestandslinks bleiben kompatibel.
- Adminbereich ist vorbereitet und erst mit `TEAMVIEV_ADMIN_TOKEN` aktiv.
- Datenschutz- und Nutzungsseiten sind verlinkt.
- Client-Manifest enthaelt Version, Download-URL und SHA-256-Hash.

## Restrisiken

- Ohne TURN-Server kann WebRTC hinter restriktiven NATs scheitern.
- 8-stellige Raumcodes sind staerker als vorher, aber nicht gleichwertig zu langen geheimen Einmal-Links.
- Aktuell gibt es keine verpflichtende Benutzeranmeldung oder MFA.
- Fernsteuerung benoetigt lokalen Client und muss am Sender aktiv erlaubt werden.
- Der lokale Client ist vorbereitet, aber noch nicht code-signiert.
- Browser-Debugausgaben koennen personenbezogene technische Daten enthalten.

## Empfohlene naechste Stufe

- TURN-Server mit Zugangsdaten einrichten.
- Admin-Login fuer Audit/Health/Downloads.
- Code-Signing fuer den lokalen Fernsteuerungsclient.
- Auto-Update und Versionspruefung fuer den lokalen Fernsteuerungsclient.
- Aufbewahrungsfrist fuer Audit-Logs definieren, z. B. 30 oder 90 Tage.
- Monatlicher Restore-Test.

## Vorbereitete Erweiterungen

- `AD-HOOK.md` beschreibt die AD/SSO-Anbindung.
- `config.example.js` zeigt die TURN-Konfiguration.
- `config.js` ist absichtlich leer nutzbar, damit der aktuelle Betrieb erhalten bleibt.
