security: Zugangsdaten aus dem Arbeitsverzeichnis entfernen
.env.production.save und .env.local geloescht (per shred ueberschrieben) -- beide waren identische Kopien derselben Zugangsdaten. In deployment-notes.md und INFRASTRUCTURE_REQUIREMENTS.md sind die Klartext-Werte durch Platzhalter ersetzt, die Dateien bleiben als Dokumentation lesbar. Ausserhalb der Git-Historie liegt damit kein Zugangsdatum mehr im Projekt. Das alte NEXTAUTH_SECRET und SMTP_PASSWORD sind laut Nutzer rotiert und ausser Betrieb; offen bleibt allein der Status des Datenbank-Passworts (Pruefbefehl in TODO.md Block F). v1.117.3 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
b4e45aca9c
commit
391134f36d
11
CHANGELOG.md
11
CHANGELOG.md
@ -2,6 +2,17 @@
|
|||||||
|
|
||||||
All notable changes to this project are documented in this file.
|
All notable changes to this project are documented in this file.
|
||||||
|
|
||||||
|
## [1.117.3] - 2026-09-06
|
||||||
|
|
||||||
|
### Security
|
||||||
|
- `.env.production.save` und `.env.local` aus dem Arbeitsverzeichnis gelöscht — mit `shred`
|
||||||
|
überschrieben, damit die Werte nicht aus freiem Speicher rekonstruierbar bleiben. Beide
|
||||||
|
waren identische Kopien derselben Zugangsdaten.
|
||||||
|
- Klartext-Werte in `deployment-notes.md` und `INFRASTRUCTURE_REQUIREMENTS.md` durch
|
||||||
|
Platzhalter ersetzt (je drei Vorkommen: DB-Passwort, `NEXTAUTH_SECRET`, SMTP-Passwort).
|
||||||
|
Die Dateien bleiben als Dokumentation lesbar.
|
||||||
|
- Damit liegt außerhalb der Git-Historie kein Zugangsdatum mehr im Projekt.
|
||||||
|
|
||||||
## [1.117.2] - 2026-09-06
|
## [1.117.2] - 2026-09-06
|
||||||
|
|
||||||
### Security
|
### Security
|
||||||
|
|||||||
13
TODO.md
13
TODO.md
@ -71,11 +71,12 @@ Verification-Mails sind unbegrenzt aufrufbar — Einladung zum Missbrauch deines
|
|||||||
Der Token selbst kommt aus `crypto.randomUUID()` — das ist in Ordnung, nur die Ablage nicht.
|
Der Token selbst kommt aus `crypto.randomUUID()` — das ist in Ordnung, nur die Ablage nicht.
|
||||||
|
|
||||||
### B3. Secrets aus dem Git entfernen und rotieren (Audit 2)
|
### B3. Secrets aus dem Git entfernen und rotieren (Audit 2)
|
||||||
- [x] `.env.production.save` aus dem Git-Index entfernt (Datei bleibt lokal)
|
- [x] `.env.production.save` und `.env.local` gelöscht (mit `shred` überschrieben)
|
||||||
- [x] `.gitignore` auf `.env*` erweitert (Ausnahme `.env.example`)
|
- [x] `.gitignore` auf `.env*` erweitert (Ausnahme `.env.example`)
|
||||||
- [x] `NEXTAUTH_SECRET` neu erzeugt — 44 Zeichen, geprüft
|
- [x] `NEXTAUTH_SECRET` neu erzeugt — 44 Zeichen, geprüft
|
||||||
- [x] `SMTP_PASSWORD` neu gesetzt
|
- [x] `SMTP_PASSWORD` neu gesetzt
|
||||||
- [x] `deployment-notes.md` und `INFRASTRUCTURE_REQUIREMENTS.md` aus dem Index entfernt
|
- [x] `deployment-notes.md` und `INFRASTRUCTURE_REQUIREMENTS.md` aus dem Index entfernt
|
||||||
|
- [x] Klartext-Werte in beiden Dateien durch Platzhalter ersetzt
|
||||||
- [x] Passwort aus `tests/debug/db-connection-test.spec.ts` entfernt
|
- [x] Passwort aus `tests/debug/db-connection-test.spec.ts` entfernt
|
||||||
- [x] Nach dem Wechsel neu eingeloggt
|
- [x] Nach dem Wechsel neu eingeloggt
|
||||||
- [ ] Entscheiden: Historie umschreiben oder belassen (Empfehlung: belassen)
|
- [ ] Entscheiden: Historie umschreiben oder belassen (Empfehlung: belassen)
|
||||||
@ -207,10 +208,14 @@ Datenbank und damit die App lahm. Das gehört an einen ruhigen Abend, nicht nebe
|
|||||||
|
|
||||||
**Zwei verschiedene Passwörter liegen im Git** (Fingerabdrücke, keine Klartexte):
|
**Zwei verschiedene Passwörter liegen im Git** (Fingerabdrücke, keine Klartexte):
|
||||||
|
|
||||||
| Fingerabdruck | Wo | Vermutung |
|
| Fingerabdruck | Wo | Stand |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `59fb583eaae9` | `deployment-notes.md`, `INFRASTRUCTURE_REQUIREMENTS.md` | altes Docker-Compose-Setup (`@db:5432`), vermutlich tot |
|
| `59fb583eaae9` | ehem. `deployment-notes.md`, `INFRASTRUCTURE_REQUIREMENTS.md` | altes Docker-Compose-Setup (`@db:5432`); Dateien bereinigt |
|
||||||
| `9dbb40b14c4d` | `.env.production.save` | Supabase-Zugang, **möglicherweise noch aktiv** |
|
| `9dbb40b14c4d` | ehem. `.env.production.save` | Supabase-Zugang, **Status offen** — Datei gelöscht, Wert steht noch in der Historie |
|
||||||
|
|
||||||
|
Vom Nutzer bestätigt: das alte `NEXTAUTH_SECRET` (20 Zeichen) und das alte `SMTP_PASSWORD`
|
||||||
|
sind **nicht mehr in Verwendung**, beide wurden rotiert. Offen ist allein das
|
||||||
|
Datenbank-Passwort.
|
||||||
|
|
||||||
Prüfen lässt sich das auf dem Container, ohne einen Wert auszugeben:
|
Prüfen lässt sich das auf dem Container, ohne einen Wert auszugeben:
|
||||||
|
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "my-weekly-todo-list",
|
"name": "my-weekly-todo-list",
|
||||||
"version": "1.117.2",
|
"version": "1.117.3",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "my-weekly-todo-list",
|
"name": "my-weekly-todo-list",
|
||||||
"version": "1.117.2",
|
"version": "1.117.3",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@auth/prisma-adapter": "^2.11.1",
|
"@auth/prisma-adapter": "^2.11.1",
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "my-weekly-todo-list",
|
"name": "my-weekly-todo-list",
|
||||||
"version": "1.117.2",
|
"version": "1.117.3",
|
||||||
"description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view",
|
"description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user