Adminzugriff und OTA absichern, Einrichtung verständlich dokumentieren #1

Open
peter wants to merge 1 commit from codex/secure-device-admin-20261018 into main
First-time contributor

Die bisher ungeschützte Netzwerkverwaltung konnte Transkripte und Logs offenlegen sowie HomeKit-Aktionen, Mikrofon, Neustart und Firmwareupdates auslösen. Der Adminserver ist jetzt standardmäßig aus und startet nur bei ausdrücklicher Aktivierung mit einem gültigen privaten Admin-Token.

Alle sensiblen Endpunkte verlangen Bearer-Authentifizierung. Firmwareupdates benötigen zusätzlich eine einmalige, 60 Sekunden gültige Freigabe; Größe und Übertragungszeit sind begrenzt. Die neue Browseroberfläche und das Python-CLI führen durch diesen Ablauf. Ungeschützte WebSocket-Logs wurden durch authentifiziertes, begrenztes HTTP-Polling ersetzt.

Die deutsche README erklärt USB-Ersteinrichtung, Build, WLAN/HomeKit, Demokrit-Anbindung, Tokenverwaltung, Browser/CLI, Migration alter Clients und eine konkrete Geräteabnahme. Sie beschreibt ausdrücklich die Grenzen: HTTP bleibt unverschlüsselt; diese Änderung erzwingt keine Firmware-Herausgebersignaturen und provisioniert keine Secure-Boot-eFuses.

Validierung: Hosttests kompilieren den tatsächlichen C-Code für Authentifizierung und Updatefreigaben mit deaktiviertem Adminserver sowie gültigem und ungültigem Admin-Token. Sie prüfen fehlende/falsche Token, HTTP 401, no-store, Ablauf und Einmalverwendung. Zwei lokale CLI-HTTP-Tests und die Browser-JavaScript-Syntaxprüfung bestehen ebenfalls. Die Host-/CLI-Tests laufen zusätzlich in Forgejo CI. Ein vollständiger ESP-IDF-Build und physische Gerätetests waren in der verfügbaren Umgebung nicht möglich; die nötigen Schritte stehen in der README.

Die bisher ungeschützte Netzwerkverwaltung konnte Transkripte und Logs offenlegen sowie HomeKit-Aktionen, Mikrofon, Neustart und Firmwareupdates auslösen. Der Adminserver ist jetzt standardmäßig aus und startet nur bei ausdrücklicher Aktivierung mit einem gültigen privaten Admin-Token. Alle sensiblen Endpunkte verlangen Bearer-Authentifizierung. Firmwareupdates benötigen zusätzlich eine einmalige, 60 Sekunden gültige Freigabe; Größe und Übertragungszeit sind begrenzt. Die neue Browseroberfläche und das Python-CLI führen durch diesen Ablauf. Ungeschützte WebSocket-Logs wurden durch authentifiziertes, begrenztes HTTP-Polling ersetzt. Die deutsche README erklärt USB-Ersteinrichtung, Build, WLAN/HomeKit, Demokrit-Anbindung, Tokenverwaltung, Browser/CLI, Migration alter Clients und eine konkrete Geräteabnahme. Sie beschreibt ausdrücklich die Grenzen: HTTP bleibt unverschlüsselt; diese Änderung erzwingt keine Firmware-Herausgebersignaturen und provisioniert keine Secure-Boot-eFuses. Validierung: Hosttests kompilieren den tatsächlichen C-Code für Authentifizierung und Updatefreigaben mit deaktiviertem Adminserver sowie gültigem und ungültigem Admin-Token. Sie prüfen fehlende/falsche Token, HTTP 401, no-store, Ablauf und Einmalverwendung. Zwei lokale CLI-HTTP-Tests und die Browser-JavaScript-Syntaxprüfung bestehen ebenfalls. Die Host-/CLI-Tests laufen zusätzlich in Forgejo CI. Ein vollständiger ESP-IDF-Build und physische Gerätetests waren in der verfügbaren Umgebung nicht möglich; die nötigen Schritte stehen in der README.
Require authenticated administration and one-time OTA approval
All checks were successful
HomeWatch admin host tests / admin (push) Successful in 3s
HomeWatch admin host tests / admin (pull_request) Successful in 3s
b47099fb0d
All checks were successful
HomeWatch admin host tests / admin (push) Successful in 3s
HomeWatch admin host tests / admin (pull_request) Successful in 3s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin codex/secure-device-admin-20261018:codex/secure-device-admin-20261018
git switch codex/secure-device-admin-20261018

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff codex/secure-device-admin-20261018
git switch codex/secure-device-admin-20261018
git rebase main
git switch main
git merge --ff-only codex/secure-device-admin-20261018
git switch codex/secure-device-admin-20261018
git rebase main
git switch main
git merge --no-ff codex/secure-device-admin-20261018
git switch main
git merge --squash codex/secure-device-admin-20261018
git switch main
git merge --ff-only codex/secure-device-admin-20261018
git switch main
git merge codex/secure-device-admin-20261018
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tompeak/homewatch!1
No description provided.