From d1ba822a4ab7bee2a42199534efd368ddd5a4d0e Mon Sep 17 00:00:00 2001 From: Florian Wilde Date: Mon, 12 Oct 2026 09:28:51 +0200 Subject: [PATCH] feat(auth): Anmeldeseiten, TOTP-Einrichtung und Bestaetigung (#004) Anmeldung, Einrichtung des zweiten Faktors fuer den Notfall-Admin, erneute Bestaetigung vor kritischen Aktionen und die Seite fuer fehlende Rechte. Die Huelle zeigt jetzt den echten Benutzer, und jede Seite prueft die Sitzung selbst; ein struktureller Test haelt das fest. Die Ablaeufe sind im gebauten Stand gegen den Mock-OIDC geprueft (pnpm test:e2e): Admin, Konto ohne Gruppe, Notfall-Admin mit TOTP. Co-Authored-By: Claude Opus 5.5 --- .env.example | 2 + docs/anleitung/bilder/anmelden-desktop.png | Bin 0 -> 25281 bytes docs/anleitung/bilder/anmelden-mobil.png | Bin 0 -> 21316 bytes .../bilder/schluessel-detail-desktop.png | Bin 155590 -> 155311 bytes docs/anleitung/bilder/uebersicht-desktop.png | Bin 153613 -> 153434 bytes docs/issues/004-anmeldung-rollen.md | 35 ++++-- package.json | 3 +- playwright.config.ts | 21 ++++ scripts/screenshots.ts | 17 ++- src/app/(app)/einstellungen/page.tsx | 5 +- src/app/(app)/hostgruppen/page.tsx | 5 +- src/app/(app)/hosts/page.tsx | 5 +- src/app/(app)/huellen-benutzer.ts | 17 +-- src/app/(app)/page.tsx | 5 +- src/app/(app)/personen/page.tsx | 5 +- src/app/(app)/protokoll/page.tsx | 5 +- src/app/(app)/schluessel/beispiel/page.tsx | 5 +- src/app/(app)/schluessel/page.tsx | 5 +- src/app/(app)/vorlagen/page.tsx | 5 +- src/app/(app)/zuweisungen/page.tsx | 5 +- src/app/anmelden/page.tsx | 70 +++++++++++ src/app/anmelden/totp/page.tsx | 45 +++++++ src/app/bestaetigen/page.tsx | 37 ++++++ src/app/kein-zugriff/page.tsx | 17 +++ src/components/anmeldung/AnmeldeRahmen.tsx | 31 +++++ .../anmeldung/BestaetigenFormular.tsx | 34 +++++ src/components/anmeldung/NotfallFormular.tsx | 36 ++++++ src/components/anmeldung/TotpFormular.tsx | 27 ++++ src/components/huelle/Huelle.tsx | 12 ++ src/components/ui/Feld.tsx | 46 +++++++ src/components/ui/index.ts | 1 + src/server/actions/anmeldung.ts | 116 ++++++++++++++++++ src/server/auth/oidc.ts | 20 ++- src/server/auth/totp-einrichtung.ts | 20 +++ tests/e2e/anmeldung.spec.ts | 97 +++++++++++++++ tests/zugang.test.ts | 45 +++++++ vitest.config.mts | 2 +- 37 files changed, 763 insertions(+), 38 deletions(-) create mode 100644 docs/anleitung/bilder/anmelden-desktop.png create mode 100644 docs/anleitung/bilder/anmelden-mobil.png create mode 100644 playwright.config.ts create mode 100644 src/app/anmelden/page.tsx create mode 100644 src/app/anmelden/totp/page.tsx create mode 100644 src/app/bestaetigen/page.tsx create mode 100644 src/app/kein-zugriff/page.tsx create mode 100644 src/components/anmeldung/AnmeldeRahmen.tsx create mode 100644 src/components/anmeldung/BestaetigenFormular.tsx create mode 100644 src/components/anmeldung/NotfallFormular.tsx create mode 100644 src/components/anmeldung/TotpFormular.tsx create mode 100644 src/components/ui/Feld.tsx create mode 100644 src/server/actions/anmeldung.ts create mode 100644 src/server/auth/totp-einrichtung.ts create mode 100644 tests/e2e/anmeldung.spec.ts create mode 100644 tests/zugang.test.ts diff --git a/.env.example b/.env.example index d0d0e13..363279d 100644 --- a/.env.example +++ b/.env.example @@ -46,6 +46,8 @@ SSHKV_OIDC_GROUP_READER=sshkv-readers # SSHKV_OIDC_CLIENT_ID=sshkv-dev # SSHKV_OIDC_CLIENT_SECRET=sshkv-dev-geheim # SSHKV_OIDC_NAME=Mock-OIDC +# Nur Entwicklung: OIDC ueber http erlauben (Mock-Anbieter). Im Betrieb nie setzen. +# SSHKV_OIDC_HTTP_ERLAUBT=1 # --- Notfall-Admin ------------------------------------------------------------- # Wird beim ersten Seed angelegt. TOTP wird bei der ersten Anmeldung eingerichtet. diff --git a/docs/anleitung/bilder/anmelden-desktop.png b/docs/anleitung/bilder/anmelden-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..cc7b6970360391de8dc8989119160a4befd72575 GIT binary patch literal 25281 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 J?njSD{{|8c#4i8< literal 0 HcmV?d00001 diff --git a/docs/anleitung/bilder/schluessel-detail-desktop.png b/docs/anleitung/bilder/schluessel-detail-desktop.png index e085b4ec9b2c9a07b9cba4cd1b995fbce2f3ea8f..38c925bd5d6ac753c3899e0caab807d6b30c3de6 100644 GIT binary patch delta 57104 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%0Awu`u_$8UvR@@-a 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 delta 57410 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�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 L^)-srte*Z2NwIMs delta 55851 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 I{^9Q50Ys@EzyJUM diff --git a/docs/issues/004-anmeldung-rollen.md b/docs/issues/004-anmeldung-rollen.md index 2b05521..5ffe4f0 100644 --- a/docs/issues/004-anmeldung-rollen.md +++ b/docs/issues/004-anmeldung-rollen.md @@ -1,28 +1,37 @@ # #004 Anmeldung, Rollen und erneute Bestätigung -**Status:** offen +**Status:** erledigt **Meilenstein:** v0.1.0 **Labels:** sicherheit -**Geschätzt:** 5 h **Tatsächlich:** – +**Geschätzt:** 5 h **Tatsächlich:** 0 h 45 min ## Ziel Anmeldung per OIDC (authentik, in der Entwicklung Mock-Anbieter) und lokaler Notfall-Admin mit Passwort + TOTP. Rollen Admin/Operator/Leser, Re-Auth für kritische Aktionen. ## Aufgaben -- [ ] Sitzungs-Cookie (`jose`), OIDC mit PKCE (`openid-client`) -- [ ] Rollen aus authentik-Gruppen, bei jeder Anmeldung neu -- [ ] Notfall-Admin: argon2id + TOTP (Pflicht), Einrichtung beim ersten Login -- [ ] Re-Auth: OIDC `prompt=login`/`max_age=0` + `auth_time`, Notfall-Admin Passwort + TOTP; Gültigkeit 5 min -- [ ] Rechtetabelle `darf()`, jede Seite/Route prüft selbst; struktureller Test -- [ ] Rate-Limit für Anmeldung und Re-Auth -- [ ] Mock-OIDC-Anbieter in `docker-compose.dev.yml` -- [ ] Proxy mit CSP-Nonce und Sicherheits-Kopfzeilen +- [x] Sitzungs-Cookie (`jose`), OIDC mit PKCE (`openid-client`) +- [x] Rollen aus authentik-Gruppen, bei jeder Anmeldung neu +- [x] Notfall-Admin: argon2id + TOTP (Pflicht), Einrichtung beim ersten Login +- [x] Re-Auth: OIDC `prompt=login`/`max_age=0` + `auth_time`, Notfall-Admin Passwort + TOTP; Gültigkeit 5 min +- [x] Rechtetabelle `darf()`, jede Seite/Route prüft selbst; struktureller Test +- [x] Rate-Limit für Anmeldung und Re-Auth +- [x] Mock-OIDC-Anbieter in `docker-compose.dev.yml` +- [x] Proxy mit CSP-Nonce und Sicherheits-Kopfzeilen ## Akzeptanzkriterien -- [ ] Ohne Anmeldung keine Seite erreichbar -- [ ] Operator sieht keine Private-Key-Funktionen -- [ ] Re-Auth älter als 5 min wird abgelehnt +- [x] Ohne Anmeldung keine Seite erreichbar +- [x] Operator sieht keine Private-Key-Funktionen +- [x] Re-Auth älter als 5 min wird abgelehnt ## Abhängigkeiten #003 ## Notizen / Entscheidungen +- **Kein Auth.js**, sondern Sitzung (`jose`) und OIDC (`openid-client`) aus Laufzettel übernommen und angepasst. +- **Ohne sshkv-Gruppe kein Zugang** – auch kein Lesezugriff (Abweichung von Laufzettel, das LESER vergibt). +- **TOTP selbst implementiert** (RFC 6238, Testvektoren aus Anhang B); jeder Code gilt einmal (`totpLetzterSchritt`). +- **TOTP-Einrichtung:** Das Geheimnis lebt bis zur Bestätigung nur in einem signierten httpOnly-Cookie (Pfad `/anmelden`, 10 min); gespeichert wird es erst nach passendem Code, verschlüsselt mit `SSHKV_APP_SECRET`. +- **Re-Auth bei OIDC:** `prompt=login`, `max_age=0`, Prüfung von `auth_time` gegen den Startzeitpunkt (30 s Toleranz). Gültigkeit 5 min, gespeichert in `Benutzer.bestaetigtAm` – serverseitig, nicht im Cookie. +- **Sitzungsdauer 8 h** statt 12 h. +- **Mock-OIDC über http** nur mit `SSHKV_OIDC_HTTP_ERLAUBT=1` (openid-client verweigert http zu Recht). +- Struktureller Test `tests/zugang.test.ts`: jede `page.tsx`/`route.ts` prüft selbst oder steht namentlich in den Ausnahmen. +- E2E (`pnpm test:e2e`, gebauter Stand): OIDC-Admin, OIDC ohne Gruppe, Notfall-Admin mit TOTP-Einrichtung und Re-Auth – 4/4 grün. diff --git a/package.json b/package.json index 9750417..eee5f03 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,8 @@ "icons": "node scripts/icons.mjs", "postinstall": "prisma generate", "prepare": "husky", - "build:all": "pnpm build && pnpm build:worker" + "build:all": "pnpm build && pnpm build:worker", + "test:e2e": "playwright test" }, "lint-staged": { "*.{ts,tsx,mts,mjs}": [ diff --git a/playwright.config.ts b/playwright.config.ts new file mode 100644 index 0000000..0a0e6c6 --- /dev/null +++ b/playwright.config.ts @@ -0,0 +1,21 @@ +import { defineConfig, devices } from "@playwright/test"; + +/** + * Ende-zu-Ende-Ablaeufe gegen den **gebauten** Stand (CLAUDE.md): + * pnpm build && pnpm start & + * E2E_APP_URL=http://127.0.0.1:3400 pnpm test:e2e + * Braucht den Mock-OIDC aus docker-compose.test.yml. + */ +export default defineConfig({ + testDir: "tests/e2e", + fullyParallel: false, + workers: 1, + reporter: [["list"]], + use: { + baseURL: process.env["E2E_APP_URL"] ?? "http://127.0.0.1:3400", + locale: "de-DE", + timezoneId: "Europe/Berlin", + trace: "retain-on-failure", + }, + projects: [{ name: "chromium", use: { ...devices["Desktop Chrome"] } }], +}); diff --git a/scripts/screenshots.ts b/scripts/screenshots.ts index f9808b4..f9a0e01 100644 --- a/scripts/screenshots.ts +++ b/scripts/screenshots.ts @@ -19,7 +19,9 @@ import { chromium } from "@playwright/test"; const BASIS = (process.env["SSHKV_URL"] ?? "http://localhost:3400").replace(/\/$/, ""); const ZIEL = process.env["SSHKV_BILDER"] ?? join(process.cwd(), "docs/anleitung/bilder"); -const SEITEN = [ +/** `oeffentlich`: ohne Anmeldung aufnehmen. Alle anderen nach Anmeldung ueber den Mock-OIDC (#004). */ +const SEITEN: { name: string; pfad: string; oeffentlich?: boolean }[] = [ + { name: "anmelden", pfad: "/anmelden", oeffentlich: true }, { name: "uebersicht", pfad: "/" }, { name: "schluessel-detail", pfad: "/schluessel/beispiel" }, ]; @@ -46,7 +48,20 @@ async function main() { colorScheme: "dark", }); const seite = await kontext.newPage(); + let angemeldet = false; for (const s of seiten) { + if (!s.oeffentlich && !angemeldet) { + // Anmeldung ueber den Mock-OIDC aus docker-compose.test.yml, Rolle Admin. + await seite.goto(`${BASIS}/anmelden`); + await seite + .getByRole("link", { name: /anmelden/i }) + .first() + .click(); + await seite.locator('button[data-rolle="admin"]').click(); + await seite.getByRole("button", { name: "Anmelden", exact: true }).click(); + await seite.waitForURL(`${BASIS}/`); + angemeldet = true; + } const antwort = await seite.goto(`${BASIS}${s.pfad}`, { waitUntil: "networkidle" }); if (!antwort?.ok()) { fehler.push(`${s.pfad}: HTTP ${antwort?.status() ?? "keine Antwort"}`); diff --git a/src/app/(app)/einstellungen/page.tsx b/src/app/(app)/einstellungen/page.tsx index 2d7b48c..ba45b29 100644 --- a/src/app/(app)/einstellungen/page.tsx +++ b/src/app/(app)/einstellungen/page.tsx @@ -1,9 +1,12 @@ import type { Metadata } from "next"; import { Platzhalterseite } from "@/components/huelle/Platzhalterseite"; +import { sitzungErforderlich } from "@/server/auth/sitzungspflicht"; export const metadata: Metadata = { title: "Einstellungen" }; -export default function Einstellungen() { +export default async function Einstellungen() { + // Jede Seite prueft selbst; die Huelle ist nur das zweite Netz (CLAUDE.md). + await sitzungErforderlich(); return ( { - return { name: "Florian Wilde", rolle: "ADMIN", herkunft: "authentik" }; + const { benutzer, sitzung } = await sitzungErforderlich(); + return { + name: benutzer.name, + rolle: benutzer.rolle, + herkunft: + sitzung.herkunft === "notfall" ? "Notfallzugang" : (process.env["SSHKV_OIDC_NAME"] ?? "authentik"), + }; } diff --git a/src/app/(app)/page.tsx b/src/app/(app)/page.tsx index 6978a9b..5ffe255 100644 --- a/src/app/(app)/page.tsx +++ b/src/app/(app)/page.tsx @@ -18,6 +18,7 @@ import { Seitenkopf } from "@/components/ui/Seitenkopf"; import { Statuspunkt } from "@/components/ui/Statuspunkt"; import { Tabelle, TabellenZeile, TabellenZelle } from "@/components/ui/Tabelle"; import { datum, datumZeit, relativ, tageBis, uhrzeit } from "@/lib/format"; +import { sitzungErforderlich } from "@/server/auth/sitzungspflicht"; export const metadata: Metadata = { title: "Übersicht" }; @@ -33,7 +34,9 @@ const AKTION: Record = { * Prototyp der Übersicht mit Beispieldaten (#002). Die echte Übersicht mit Lesemodellen * folgt in #026; Aufbau und Komponenten bleiben. */ -export default function Uebersicht() { +export default async function Uebersicht() { + // Jede Seite prueft selbst; die Huelle ist nur das zweite Netz (CLAUDE.md). + await sitzungErforderlich(); return (
); diff --git a/src/app/(app)/protokoll/page.tsx b/src/app/(app)/protokoll/page.tsx index 2f26c4c..13e57a4 100644 --- a/src/app/(app)/protokoll/page.tsx +++ b/src/app/(app)/protokoll/page.tsx @@ -1,9 +1,12 @@ import type { Metadata } from "next"; import { Platzhalterseite } from "@/components/huelle/Platzhalterseite"; +import { sitzungErforderlich } from "@/server/auth/sitzungspflicht"; export const metadata: Metadata = { title: "Audit-Log" }; -export default function Protokoll() { +export default async function Protokoll() { + // Jede Seite prueft selbst; die Huelle ist nur das zweite Netz (CLAUDE.md). + await sitzungErforderlich(); return ( diff --git a/src/app/(app)/schluessel/page.tsx b/src/app/(app)/schluessel/page.tsx index 382e2f7..59a4f34 100644 --- a/src/app/(app)/schluessel/page.tsx +++ b/src/app/(app)/schluessel/page.tsx @@ -1,10 +1,13 @@ import type { Metadata } from "next"; import Link from "next/link"; import { Platzhalterseite } from "@/components/huelle/Platzhalterseite"; +import { sitzungErforderlich } from "@/server/auth/sitzungspflicht"; export const metadata: Metadata = { title: "Schlüssel" }; -export default function Schluessel() { +export default async function Schluessel() { + // Jede Seite prueft selbst; die Huelle ist nur das zweite Netz (CLAUDE.md). + await sitzungErforderlich(); return (
= { + "oidc-aus": "Die Anmeldung über den Identitätsanbieter ist nicht eingerichtet.", + "oidc-start": "Der Identitätsanbieter ist nicht erreichbar. Bitte später erneut versuchen.", + "oidc-rueckruf": "Die Anmeldung beim Identitätsanbieter ist fehlgeschlagen. Bitte erneut versuchen.", + "keine-gruppe": + "Ihr Konto ist keiner SSHKeyVault-Gruppe zugeordnet. Bitte beim Administrator Zugriff beantragen.", + "konto-konflikt": + "Für diese E-Mail-Adresse besteht bereits ein anderes Konto. Bitte den Administrator ansprechen.", + deaktiviert: "Dieses Konto ist deaktiviert.", + "fremdes-konto": "Die Bestätigung kam von einem anderen Konto als dem angemeldeten.", + allgemein: "Die Anmeldung ist fehlgeschlagen.", +}; + +export default async function AnmeldenSeite({ + searchParams, +}: { + searchParams: Promise<{ ziel?: string; fehler?: string; abgemeldet?: string }>; +}) { + const parameter = await searchParams; + const ziel = sicheresZiel(parameter.ziel); + if (await angemeldet()) redirect(ziel); + + const oidc = oidcAktiv(); + const fehler = parameter.fehler ? (FEHLER[parameter.fehler] ?? FEHLER["allgemein"]) : undefined; + + return ( + + + + ); +} diff --git a/src/app/anmelden/totp/page.tsx b/src/app/anmelden/totp/page.tsx new file mode 100644 index 0000000..a191ccc --- /dev/null +++ b/src/app/anmelden/totp/page.tsx @@ -0,0 +1,45 @@ +import type { Metadata } from "next"; +import { redirect } from "next/navigation"; +import QRCode from "qrcode"; +import { AnmeldeRahmen } from "@/components/anmeldung/AnmeldeRahmen"; +import { TotpFormular } from "@/components/anmeldung/TotpFormular"; +import { MonoKopieren } from "@/components/ui"; +import { totpAdresse } from "@/lib/totp"; +import { totpEinrichtungLesen } from "@/server/auth/totp-einrichtung"; + +export const metadata: Metadata = { title: "TOTP einrichten" }; + +/** + * Erste Anmeldung des Notfall-Admins: TOTP ist Pflicht (Freigabe Frage 5). Die Seite ist + * nur mit dem Einrichtungs-Cookie erreichbar, das ein richtiges Passwort ausgestellt hat. + */ +export default async function TotpSeite() { + const einrichtung = await totpEinrichtungLesen(); + if (!einrichtung) redirect("/anmelden"); + + const adresse = totpAdresse(einrichtung.geheimnis, "Notfall-Admin"); + // Als SVG im Server gerendert: kein Bild-Endpunkt, keine Bibliothek im Browser. + const svg = await QRCode.toString(adresse, { + type: "svg", + margin: 1, + color: { dark: "#0D1013", light: "#E8ECEF" }, + }); + + return ( + +
+
+ + +
+ + ); +} diff --git a/src/app/bestaetigen/page.tsx b/src/app/bestaetigen/page.tsx new file mode 100644 index 0000000..2e32282 --- /dev/null +++ b/src/app/bestaetigen/page.tsx @@ -0,0 +1,37 @@ +import type { Metadata } from "next"; +import { AnmeldeRahmen } from "@/components/anmeldung/AnmeldeRahmen"; +import { BestaetigenFormular } from "@/components/anmeldung/BestaetigenFormular"; +import { buttonKlassen } from "@/components/ui"; +import { sicheresZiel } from "@/server/auth/anmeldung"; +import { oidcName } from "@/server/auth/oidc"; +import { sitzungErforderlich } from "@/server/auth/sitzungspflicht"; + +export const metadata: Metadata = { title: "Bestätigen" }; + +/** Erneute Bestaetigung vor kritischen Aktionen (Private Key anzeigen, Massenwiderruf …). */ +export default async function BestaetigenSeite({ + searchParams, +}: { + searchParams: Promise<{ ziel?: string }>; +}) { + const ziel = sicheresZiel((await searchParams).ziel); + const { benutzer } = await sitzungErforderlich("lesen", `/bestaetigen?ziel=${encodeURIComponent(ziel)}`); + + return ( + + {benutzer.istNotfall ? ( + + ) : ( + + Bei {oidcName()} erneut anmelden + + )} + + ); +} diff --git a/src/app/kein-zugriff/page.tsx b/src/app/kein-zugriff/page.tsx new file mode 100644 index 0000000..3c9d904 --- /dev/null +++ b/src/app/kein-zugriff/page.tsx @@ -0,0 +1,17 @@ +import type { Metadata } from "next"; +import { AnmeldeRahmen } from "@/components/anmeldung/AnmeldeRahmen"; +import { Button } from "@/components/ui"; +import { sitzungErforderlich } from "@/server/auth/sitzungspflicht"; + +export const metadata: Metadata = { title: "Kein Zugriff" }; + +export default async function KeinZugriffSeite() { + await sitzungErforderlich("lesen"); + return ( + + + + ); +} diff --git a/src/components/anmeldung/AnmeldeRahmen.tsx b/src/components/anmeldung/AnmeldeRahmen.tsx new file mode 100644 index 0000000..13e5917 --- /dev/null +++ b/src/components/anmeldung/AnmeldeRahmen.tsx @@ -0,0 +1,31 @@ +import type { ReactNode } from "react"; +import { Marke } from "@/components/marke"; + +/** Zentrierte Karte fuer Anmeldung, TOTP und Bestaetigung (#004). */ +export function AnmeldeRahmen({ + titel, + text, + children, +}: { + titel: string; + text?: ReactNode; + children: ReactNode; +}) { + return ( +
+
+
+ +
+
+

{titel}

+ {text &&
{text}
} +
{children}
+
+

+ Nur im internen Netz. Alle Anmeldungen werden protokolliert. +

+
+
+ ); +} diff --git a/src/components/anmeldung/BestaetigenFormular.tsx b/src/components/anmeldung/BestaetigenFormular.tsx new file mode 100644 index 0000000..2b7edf1 --- /dev/null +++ b/src/components/anmeldung/BestaetigenFormular.tsx @@ -0,0 +1,34 @@ +"use client"; + +import { useActionState } from "react"; +import { Button, Feld, Formularfehler } from "@/components/ui"; +import { notfallBestaetigenAktion, type FormularZustand } from "@/server/actions/anmeldung"; + +/** Erneute Bestaetigung des Notfall-Admins vor kritischen Aktionen (#004). */ +export function BestaetigenFormular({ ziel }: { ziel: string }) { + const [zustand, aktion, laeuft] = useActionState(notfallBestaetigenAktion, {}); + return ( +
+ + + + + + + ); +} diff --git a/src/components/anmeldung/NotfallFormular.tsx b/src/components/anmeldung/NotfallFormular.tsx new file mode 100644 index 0000000..a195ce3 --- /dev/null +++ b/src/components/anmeldung/NotfallFormular.tsx @@ -0,0 +1,36 @@ +"use client"; + +import { useActionState } from "react"; +import { Button, Feld, Formularfehler } from "@/components/ui"; +import { notfallAnmeldenAktion, type FormularZustand } from "@/server/actions/anmeldung"; + +/** Notfallzugang: Anmeldename, Passwort und – sobald eingerichtet – TOTP-Code (#004). */ +export function NotfallFormular({ ziel }: { ziel: string }) { + const [zustand, aktion, laeuft] = useActionState(notfallAnmeldenAktion, {}); + return ( +
+ + + + + + + + ); +} diff --git a/src/components/anmeldung/TotpFormular.tsx b/src/components/anmeldung/TotpFormular.tsx new file mode 100644 index 0000000..af1a1c1 --- /dev/null +++ b/src/components/anmeldung/TotpFormular.tsx @@ -0,0 +1,27 @@ +"use client"; + +import { useActionState } from "react"; +import { Button, Feld, Formularfehler } from "@/components/ui"; +import { totpEinrichtenAktion, type FormularZustand } from "@/server/actions/anmeldung"; + +export function TotpFormular() { + const [zustand, aktion, laeuft] = useActionState(totpEinrichtenAktion, {}); + return ( +
+ + + + + ); +} diff --git a/src/components/huelle/Huelle.tsx b/src/components/huelle/Huelle.tsx index f7a5563..28b4577 100644 --- a/src/components/huelle/Huelle.tsx +++ b/src/components/huelle/Huelle.tsx @@ -1,3 +1,4 @@ +import { LogOut } from "lucide-react"; import Link from "next/link"; import type { ReactNode } from "react"; import { Bildmarke, Kurzname, Marke, Wortmarke } from "@/components/marke"; @@ -86,6 +87,17 @@ function BenutzerKasten({ benutzer }: { benutzer: HuellenBenutzer }) { {ROLLEN_TEXT[benutzer.rolle]} · über {benutzer.herkunft}

+ {/* Abmelden nur per POST, damit ein fremder Link niemanden abmelden kann (#004). */} +
+ +
); } diff --git a/src/components/ui/Feld.tsx b/src/components/ui/Feld.tsx new file mode 100644 index 0000000..22b72ea --- /dev/null +++ b/src/components/ui/Feld.tsx @@ -0,0 +1,46 @@ +import type { ComponentProps } from "react"; +import { clsx } from "clsx"; + +/** Eingabefeld mit Beschriftung (#004). Mindesthoehe 44 px wie alle Klickflaechen. */ +export function Feld({ + beschriftung, + hinweis, + mono = false, + className, + id, + name, + ...rest +}: ComponentProps<"input"> & { beschriftung: string; hinweis?: string; mono?: boolean }) { + const feldId = id ?? `feld-${name}`; + return ( +
+ + + {hinweis &&

{hinweis}

} +
+ ); +} + +/** Fehlermeldung eines Formulars – mit role=alert, damit Screenreader sie vorlesen. */ +export function Formularfehler({ text }: { text?: string }) { + if (!text) return null; + return ( +

+ {text} +

+ ); +} diff --git a/src/components/ui/index.ts b/src/components/ui/index.ts index d6c20a9..364ae10 100644 --- a/src/components/ui/index.ts +++ b/src/components/ui/index.ts @@ -9,3 +9,4 @@ export { MonoKopieren } from "./MonoKopieren"; export { Seitenkopf } from "./Seitenkopf"; export { Statuspunkt, type HostStatus } from "./Statuspunkt"; export { Tabelle, TabellenZeile, TabellenZelle, type Spalte } from "./Tabelle"; +export { Feld, Formularfehler } from "./Feld"; diff --git a/src/server/actions/anmeldung.ts b/src/server/actions/anmeldung.ts new file mode 100644 index 0000000..b3db3d5 --- /dev/null +++ b/src/server/actions/anmeldung.ts @@ -0,0 +1,116 @@ +"use server"; + +import { cookies } from "next/headers"; +import { redirect } from "next/navigation"; +import { kurzzeitTokenErzeugen } from "@/lib/kurzzeit-token"; +import { totpGeheimnisErzeugen } from "@/lib/totp"; +import { z } from "@/lib/validierung"; +import { sicheresZiel, sitzungSetzen, ueberHttps } from "@/server/auth/anmeldung"; +import { angemeldet } from "@/server/auth/sitzungspflicht"; +import { + EINRICHTUNG_SEKUNDEN, + EINRICHTUNG_ZWECK, + TOTP_EINRICHTUNG_COOKIE, + totpEinrichtungLesen, +} from "@/server/auth/totp-einrichtung"; +import { + AnmeldeFehler, + notfallAnmelden, + notfallBestaetigen, + totpEinrichtungAbschliessen, +} from "@/server/services/anmeldung"; + +/** + * Formular-Aktionen rund um die Anmeldung (#004). Duenn: Eingaben pruefen, Service rufen, + * Cookie setzen, weiterleiten. Fehler kommen als Text zurueck, nie als Ausnahme – sonst + * zeigte Next eine Fehlerseite statt der Meldung im Formular. + */ +export type FormularZustand = { readonly fehler?: string }; + +const notfallSchema = z.object({ + anmeldename: z.string().trim().min(1).max(64), + passwort: z.string().min(1).max(256), + code: z.string().trim().max(10).default(""), + ziel: z.string().max(512).optional(), +}); + +export async function notfallAnmeldenAktion( + _vorher: FormularZustand, + formular: FormData, +): Promise { + const eingabe = notfallSchema.safeParse(Object.fromEntries(formular)); + if (!eingabe.success) return { fehler: "Bitte Anmeldename und Passwort angeben." }; + const ziel = sicheresZiel(eingabe.data.ziel); + + let ergebnis; + try { + ergebnis = await notfallAnmelden(eingabe.data.anmeldename, eingabe.data.passwort, eingabe.data.code); + } catch (fehler) { + if (fehler instanceof AnmeldeFehler) return { fehler: fehler.message }; + throw fehler; + } + + if (ergebnis.art === "totpEinrichten") { + // Das neue Geheimnis lebt bis zur Bestaetigung nur in einem signierten, kurzlebigen + // httpOnly-Cookie dieses Browsers – gespeichert wird es erst, wenn ein Code passt. + const token = await kurzzeitTokenErzeugen( + EINRICHTUNG_ZWECK, + { benutzerId: ergebnis.benutzer.id, geheimnis: totpGeheimnisErzeugen(), ziel }, + EINRICHTUNG_SEKUNDEN, + ); + (await cookies()).set(TOTP_EINRICHTUNG_COOKIE, token, { + httpOnly: true, + sameSite: "strict", + secure: ueberHttps(), + path: "/anmelden", + maxAge: EINRICHTUNG_SEKUNDEN, + }); + redirect("/anmelden/totp"); + } + + await sitzungSetzen(ergebnis.benutzer, "notfall"); + redirect(ziel); +} + +export async function totpEinrichtenAktion( + _vorher: FormularZustand, + formular: FormData, +): Promise { + const einrichtung = await totpEinrichtungLesen(); + if (!einrichtung) return { fehler: "Die Einrichtung ist abgelaufen. Bitte erneut anmelden." }; + const code = String(formular.get("code") ?? ""); + let benutzer; + try { + benutzer = await totpEinrichtungAbschliessen(einrichtung.benutzerId, einrichtung.geheimnis, code); + } catch (fehler) { + if (fehler instanceof AnmeldeFehler) return { fehler: fehler.message }; + throw fehler; + } + const laden = await cookies(); + laden.delete({ name: TOTP_EINRICHTUNG_COOKIE, path: "/anmelden" }); + await sitzungSetzen(benutzer, "notfall"); + redirect(sicheresZiel(einrichtung.ziel)); +} + +const bestaetigenSchema = z.object({ + passwort: z.string().min(1).max(256), + code: z.string().trim().min(6).max(10), + ziel: z.string().max(512).optional(), +}); + +export async function notfallBestaetigenAktion( + _vorher: FormularZustand, + formular: FormData, +): Promise { + const vorhanden = await angemeldet(); + if (!vorhanden) redirect("/anmelden"); + const eingabe = bestaetigenSchema.safeParse(Object.fromEntries(formular)); + if (!eingabe.success) return { fehler: "Bitte Passwort und Code angeben." }; + try { + await notfallBestaetigen(vorhanden.benutzer, eingabe.data.passwort, eingabe.data.code); + } catch (fehler) { + if (fehler instanceof AnmeldeFehler) return { fehler: fehler.message }; + throw fehler; + } + redirect(sicheresZiel(eingabe.data.ziel)); +} diff --git a/src/server/auth/oidc.ts b/src/server/auth/oidc.ts index 8cb0211..9bd46d9 100644 --- a/src/server/auth/oidc.ts +++ b/src/server/auth/oidc.ts @@ -80,11 +80,21 @@ function konfigurationHolen(): Promise { entdeckt = { aussteller, kundennummer, - konfiguration: oidc.discovery(new URL(aussteller), kundennummer, geheimnis).catch((fehler) => { - // Beim naechsten Versuch erneut holen, statt den Fehler ewig zu behalten. - entdeckt = undefined; - throw new OidcFehler(`Discovery bei ${aussteller} fehlgeschlagen.`, { cause: fehler }); - }), + konfiguration: oidc + .discovery( + new URL(aussteller), + kundennummer, + geheimnis, + undefined, + // Nur fuer den Mock-Anbieter der Entwicklung (#011): openid-client verweigert http zu + // Recht. Im Betrieb bleibt das aus; authentik spricht ohnehin https. + umgebung("SSHKV_OIDC_HTTP_ERLAUBT") === "1" ? { execute: [oidc.allowInsecureRequests] } : undefined, + ) + .catch((fehler) => { + // Beim naechsten Versuch erneut holen, statt den Fehler ewig zu behalten. + entdeckt = undefined; + throw new OidcFehler(`Discovery bei ${aussteller} fehlgeschlagen.`, { cause: fehler }); + }), }; } return entdeckt.konfiguration; diff --git a/src/server/auth/totp-einrichtung.ts b/src/server/auth/totp-einrichtung.ts new file mode 100644 index 0000000..f2067f1 --- /dev/null +++ b/src/server/auth/totp-einrichtung.ts @@ -0,0 +1,20 @@ +import { cookies } from "next/headers"; +import { kurzzeitTokenLesen } from "@/lib/kurzzeit-token"; + +/** + * Laufende TOTP-Einrichtung des Notfall-Admins (#004). Absichtlich kein "use server"-Modul: + * sonst waere das Lesen als Server Action von aussen aufrufbar. + */ +export const TOTP_EINRICHTUNG_COOKIE = "sshkv_totp_einrichtung"; +export const EINRICHTUNG_ZWECK = "totp-einrichtung"; +/** Zehn Minuten fuer QR-Code scannen und ersten Code eintippen. */ +export const EINRICHTUNG_SEKUNDEN = 600; + +export async function totpEinrichtungLesen(): Promise< + { benutzerId: string; geheimnis: string; ziel: string } | undefined +> { + const token = (await cookies()).get(TOTP_EINRICHTUNG_COOKIE)?.value; + const werte = await kurzzeitTokenLesen(EINRICHTUNG_ZWECK, token); + if (!werte?.["benutzerId"] || !werte["geheimnis"]) return undefined; + return { benutzerId: werte["benutzerId"], geheimnis: werte["geheimnis"], ziel: werte["ziel"] ?? "/" }; +} diff --git a/tests/e2e/anmeldung.spec.ts b/tests/e2e/anmeldung.spec.ts new file mode 100644 index 0000000..0f1cffa --- /dev/null +++ b/tests/e2e/anmeldung.spec.ts @@ -0,0 +1,97 @@ +import { expect, test, type Page } from "@playwright/test"; +import pg from "pg"; +import "dotenv/config"; +import { base32Dekodieren, totpCode, totpSchritt } from "../../src/lib/totp"; + +/** + * Anmeldung im gebauten Stand (#004): OIDC ueber den Mock-Anbieter und Notfallzugang mit + * TOTP-Einrichtung. Laeuft gegen die Entwicklungsdatenbank und setzt dort vorher das TOTP + * des Notfall-Admins zurueck – deshalb nie gegen einen Betrieb richten. + */ +const NOTFALL_PASSWORT = process.env["SSHKV_BREAKGLASS_PASSWORD"] ?? ""; + +async function datenbank(arbeit: (client: pg.Client) => Promise): Promise { + const client = new pg.Client({ connectionString: process.env["DATABASE_URL"] }); + await client.connect(); + try { + return await arbeit(client); + } finally { + await client.end(); + } +} + +async function oidcAnmelden(page: Page, rolle: "admin" | "operator" | "reader" | "ohne") { + await page.goto("/"); + await expect(page).toHaveURL(/\/anmelden/); + await page.getByRole("link", { name: /Mit Mock-OIDC anmelden/ }).click(); + await page.locator(`button[data-rolle="${rolle}"]`).click(); + await page.getByRole("button", { name: "Anmelden", exact: true }).click(); +} + +test.beforeAll(async () => { + await datenbank(async (client) => { + await client.query( + `UPDATE "Benutzer" SET "totpGeheimnis" = NULL, "totpEingerichtetAm" = NULL, "totpLetzterSchritt" = NULL WHERE "istNotfall"`, + ); + await client.query(`DELETE FROM "Ratenbegrenzung"`); + }); +}); + +test("ohne Sitzung geht es zur Anmeldung, mit Ziel", async ({ page }) => { + await page.goto("/hosts"); + await expect(page).toHaveURL(/\/anmelden\?ziel=%2Fhosts/); + await expect(page.getByRole("heading", { name: "Anmelden" })).toBeVisible(); +}); + +test("OIDC-Admin landet in der Übersicht und kann sich abmelden", async ({ page }) => { + await oidcAnmelden(page, "admin"); + await expect(page.getByRole("heading", { name: "Übersicht" })).toBeVisible(); + await expect(page.getByText("Admin (Mock)")).toBeVisible(); + await expect(page.getByText("Admin · über Mock-OIDC")).toBeVisible(); + await page.getByRole("button", { name: "Abmelden" }).click(); + await expect(page.getByText("Sie wurden abgemeldet.")).toBeVisible(); + await page.goto("/"); + await expect(page).toHaveURL(/\/anmelden/); +}); + +test("OIDC ohne sshkv-Gruppe wird abgewiesen", async ({ page }) => { + await oidcAnmelden(page, "ohne"); + await expect(page).toHaveURL(/fehler=keine-gruppe/); + await expect(page.getByText(/keiner SSHKeyVault-Gruppe zugeordnet/)).toBeVisible(); +}); + +test("Notfall-Admin richtet TOTP ein und bestätigt sich erneut", async ({ page }) => { + test.skip(NOTFALL_PASSWORT.length < 16, "SSHKV_BREAKGLASS_PASSWORD fehlt in .env"); + await page.goto("/anmelden"); + await page.getByText("Notfallzugang", { exact: true }).click(); + await page.getByLabel("Anmeldename").fill("notfall"); + await page.getByLabel("Passwort").fill(NOTFALL_PASSWORT); + await page.getByRole("button", { name: "Mit Notfallzugang anmelden" }).click(); + + await expect(page).toHaveURL(/\/anmelden\/totp/); + await expect(page.getByRole("img", { name: /QR-Code/ })).toBeVisible(); + const geheimnis = ((await page.locator("code").first().textContent()) ?? "").trim(); + expect(geheimnis).toMatch(/^[A-Z2-7]{32}$/); + const code = () => totpCode(base32Dekodieren(geheimnis), totpSchritt(Date.now())); + + await page.getByLabel("Code zur Bestätigung").fill("000000"); + await page.getByRole("button", { name: /TOTP einrichten/ }).click(); + await expect(page.getByText(/Der Code passt nicht/)).toBeVisible(); + + await page.getByLabel("Code zur Bestätigung").fill(code()); + await page.getByRole("button", { name: /TOTP einrichten/ }).click(); + await expect(page.getByRole("heading", { name: "Übersicht" })).toBeVisible(); + await expect(page.getByText("Admin · über Notfallzugang")).toBeVisible(); + + // Erneute Bestaetigung: derselbe Code gilt nicht noch einmal, also auf den naechsten + // Zeitschritt warten. + await page.goto("/bestaetigen?ziel=%2Fhosts"); + const schritt = totpSchritt(Date.now()); + await expect + .poll(() => totpSchritt(Date.now()), { timeout: 35_000, intervals: [1000] }) + .toBeGreaterThan(schritt); + await page.getByLabel("Passwort").fill(NOTFALL_PASSWORT); + await page.getByLabel("Code aus der Authenticator-App").fill(code()); + await page.getByRole("button", { name: "Bestätigen" }).click(); + await expect(page).toHaveURL(/\/hosts$/); +}); diff --git a/tests/zugang.test.ts b/tests/zugang.test.ts new file mode 100644 index 0000000..2ab1688 --- /dev/null +++ b/tests/zugang.test.ts @@ -0,0 +1,45 @@ +import { readFileSync, readdirSync, statSync } from "node:fs"; +import path from "node:path"; +import { describe, expect, it } from "vitest"; + +/** + * Struktureller Test (#004, Muster aus Laufzettel): jede Seite und jeder Route Handler + * prueft selbst, wer zugreift. Die Ausnahmen stehen hier namentlich mit Begruendung – ein + * neuer ungepruefter Handler soll jemanden zwingen, sie aufzuschreiben. + */ +const AUSNAHMEN: Record = { + "src/app/anmelden/page.tsx": "Anmeldeseite selbst", + "src/app/anmelden/totp/page.tsx": "nur mit Einrichtungs-Cookie aus richtigem Passwort erreichbar", + "src/app/api/auth/abmelden/route.ts": "Abmelden braucht keine Pruefung", + "src/app/api/auth/oidc/start/route.ts": "Beginn der Anmeldung", + "src/app/api/auth/oidc/rueckruf/route.ts": "Ende der Anmeldung; prueft state, nonce und PKCE", + "src/app/api/gesundheit/route.ts": "Healthcheck, verraet nur die Version", +}; + +const PRUEFUNGEN = /sitzungErforderlich\(|rechtErforderlich\(|totpEinrichtungLesen\(/; + +function dateien(verzeichnis: string): string[] { + return readdirSync(verzeichnis).flatMap((name) => { + const pfad = path.join(verzeichnis, name); + if (statSync(pfad).isDirectory()) return dateien(pfad); + return /^(page\.tsx|route\.ts)$/.test(name) ? [pfad] : []; + }); +} + +describe("Zugangspruefung", () => { + const alle = dateien("src/app").map((p) => p.split(path.sep).join("/")); + + it("findet Seiten und Handler", () => { + expect(alle.length).toBeGreaterThan(10); + }); + + it.each(alle)("%s prueft selbst oder steht in den Ausnahmen", (datei) => { + if (AUSNAHMEN[datei]) return; + const inhalt = readFileSync(datei, "utf8"); + expect(PRUEFUNGEN.test(inhalt), `${datei} prueft keine Sitzung`).toBe(true); + }); + + it("listet keine Ausnahme fuer eine Datei, die es nicht mehr gibt", () => { + for (const datei of Object.keys(AUSNAHMEN)) expect(alle).toContain(datei); + }); +}); diff --git a/vitest.config.mts b/vitest.config.mts index 8560c93..af50b63 100644 --- a/vitest.config.mts +++ b/vitest.config.mts @@ -7,7 +7,7 @@ export default defineConfig({ }, test: { include: ["tests/**/*.test.ts", "tests/**/*.test.tsx", "src/**/*.test.ts"], - exclude: ["tests/integration/**", "node_modules/**", ".claude/**"], + exclude: ["tests/integration/**", "tests/e2e/**", "node_modules/**", ".claude/**"], environment: "node", globalSetup: ["tests/global-setup.ts"], setupFiles: ["tests/setup-env.ts"],