Ausgangslage
Ein einzelner statischer Schlüssel für den gesamten Admin-Bereich ist bequem, aber schwer zu widerrufen: Er lässt sich nicht einer Person zuordnen, nicht einzeln sperren und landet schnell in mehreren Browsern und Notizzetteln.
Zielbild
Jeder Zugang läuft über ein persönliches Konto:
- Erster Faktor: ein per E-Mail zugestellter Anmelde-Code, zehn Minuten gültig, einmal verwendbar.
- Zweiter Faktor: TOTP-Pflicht über eine Authenticator-App (RFC 6238), plus einmalige Recovery-Codes für den Notfall.
- Sitzung: ein httpOnly-Cookie. In der Datenbank liegt nur der SHA-256-Hash des Tokens — die Sitzung ist damit sofort widerrufbar und gegen XSS unempfindlich.
Was bewusst bleibt
Der statische Schlüssel verschwindet nicht ganz — aber nur noch als Maschinen-Schlüssel für Cron-Jobs und CI, ausschließlich über einen Header. Keine Anmelde-Oberfläche, kein Query-Parameter.
Ergebnis
Zugänge sind einzelnen Personen zugeordnet, jederzeit widerrufbar und durch einen zweiten Faktor geschützt. Fehlt ein nötiges Secret, ist der Zugang zu — nie offen.