Dienstkonto-Flag: Gate in beide Richtungen, richtige Rechte-Domaene (R184)

R184-01: Setzen war gegatet, Entfernen nicht - und das Entfernen ist der
gefaehrlichere Weg. Der Heartbeat-Wachhund fragt isServiceAccount:true ab,
haengt also am Live-Kennzeichen; die Hypothese des Pentesters war richtig,
Un-Flaggen kappt die Wache. Genau das stilllegen-und-auf-Stille-setzen, gegen
das der Tripwire gebaut wurde. Fix: Gate in beide Richtungen mit eigenem
Wortlaut beim Entfernen.

Wichtiger noch: Die Aenderung geht jetzt zusaetzlich in den Alarmkanal
(PERMISSION_CHANGED/CRITICAL), nicht nur ins Audit-Log - eine CRITICAL-Zeile
muss jemand lesen, das war die R183-02-Klasse.

R184-02: Das Kennzeichen hing an users:update, obwohl es ein
Audit-Governance-Eingriff ist - Geschwister von retention-shorten,
seal-backlog, rehash und cleanup, die alle audit:admin verlangen. Heute
deckungsgleich, aber jede kuenftige Rolle mit Benutzer-bearbeiten haette still
Login-Alarme-herunterstufen geerbt. Fix: zusaetzliche Pruefung auf audit:admin.

Verifiziert: Entfernen ohne Bestaetigung jetzt 400 statt 200, ohne audit:admin
403, zwei CRITICAL-Meldungen im Alarmkanal.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-24 13:09:08 +02:00
co-authored by Claude Opus 5
parent b3a9ef6372
commit e504b8be96
3 changed files with 92 additions and 8 deletions
+8 -2
View File
@@ -331,7 +331,10 @@ function UserModal({
// Das Kennzeichen senkt die Alarmstufe der Anmeldungen dieses Kontos.
// Der Server verlangt dafür eine ausdrückliche Bestätigung; der Haken
// im Formular IST diese Bestätigung.
...(formData.isServiceAccount ? { confirm: 'SERVICE_ACCOUNT' } : {}),
// Das Kennzeichen senkt bzw. hebt die Bewertung der Anmeldungen dieses
// Kontos. Der Server verlangt in BEIDE Richtungen eine ausdrückliche
// Bestätigung; der Haken im Formular ist diese Bestätigung.
confirm: 'SERVICE_ACCOUNT',
whatsappNumber: formData.whatsappNumber || undefined,
telegramUsername: formData.telegramUsername || undefined,
signalNumber: formData.signalNumber || undefined,
@@ -371,7 +374,10 @@ function UserModal({
// Das Kennzeichen senkt die Alarmstufe der Anmeldungen dieses Kontos.
// Der Server verlangt dafür eine ausdrückliche Bestätigung; der Haken
// im Formular IST diese Bestätigung.
...(formData.isServiceAccount ? { confirm: 'SERVICE_ACCOUNT' } : {}),
// Das Kennzeichen senkt bzw. hebt die Bewertung der Anmeldungen dieses
// Kontos. Der Server verlangt in BEIDE Richtungen eine ausdrückliche
// Bestätigung; der Haken im Formular ist diese Bestätigung.
confirm: 'SERVICE_ACCOUNT',
whatsappNumber: formData.whatsappNumber || undefined,
telegramUsername: formData.telegramUsername || undefined,
signalNumber: formData.signalNumber || undefined,