Kanbanize Kartenerstellung dokumentiert: Arrival-Rule-Workaround, Board-Struktur

- Neuer Abschnitt "Karten erstellen (Aufgaben-Workflow)" mit Workflow A/B
- Bekannte Struktur erweitert: Workflows, Columns, Lanes für Board 1
- Pitfalls ergänzt: Arrival Rule, Parent-Link API, linkedCards read-only
- Settings und Plans aktualisiert

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
root
2026-02-05 13:09:09 +01:00
parent f0dae88639
commit 4277b10f55
21 changed files with 2636 additions and 159 deletions

View File

@@ -0,0 +1,315 @@
# n8n Security Update: 1.123.5 → 2.3.4
## Executive Summary
**Kritikalität:** Hoch - CVE-2025-68668 (CVSS 9.9) ist nur in 2.0.0+ gefixt
**Downtime:** ~5-10 Minuten (PostgreSQL Auto-Migration + Container Rebuild)
**Risiko:** Niedrig - keine Breaking Changes in Workflows gefunden
**Ziel-Version:** 2.3.4 (aktuelle Stable, nicht 2.0.0 wegen Bug-Fixes)
---
## Sicherheitsrisiko-Bewertung
### Status der 4 CVEs in aktueller Version 1.123.5
| CVE | CVSS | Status in 1.123.5 | Risiko |
|-----|------|-------------------|--------|
| **CVE-2026-21858** "Ni8mare" | 10.0 | ✅ GEFIXT (1.121.0) | Unauthenticated RCE über Webhooks |
| **CVE-2026-21877** | 10.0 | ✅ GEFIXT (1.121.3) | Authenticated RCE via Git Node |
| **CVE-2025-68613** | 10.0 | ✅ GEFIXT (1.122.0) | Authenticated Expression Injection |
| **CVE-2025-68668** | 9.9 | ❌ **NICHT GEFIXT** | Python Sandbox Bypass → RCE |
**Fazit:** CVE-2025-68668 erfordert zwingend Update auf 2.0.0+
---
## Breaking Changes Analyse
### ✅ Keine kritischen Breaking Changes
- **Start Nodes:** Nicht verwendet (alle Workflows nutzen manualTrigger/cron/emailReadImap)
- **Code Nodes:** Kein `process.env` Zugriff (N8N_BLOCK_ENV_ACCESS_IN_NODE=true ist ab 2.0 default)
- **Python Code Nodes:** Nicht verwendet (nur JavaScript Code Nodes)
- **Binary Data Mode:** Keine deprecated Configs
### ⚠️ Funktionstest erforderlich
**3 Workflows mit LangChain/OpenAI Integration:**
- `gebuehrenfrei_live.json`
- `instabank_current.json`
- `tfbank_current.json`
**Verwendung:** AI-gestützte Extraktion von Zahlungsinformationen (Fälligkeitsdatum, IBAN, BIC, Betrag)
**Nodes:**
- `@n8n/n8n-nodes-langchain.agent` (v1.1)
- `@n8n/n8n-nodes-langchain.lmChatOpenAi` (v1)
- `@n8n/n8n-nodes-langchain.memoryBufferWindow` (v1)
**Aktion:** Nach Update AI-Extraktion manuell testen
---
## Update-Plan
### Phase 1: Pre-Update Backup
**Kritisch:** PostgreSQL-Datenbank enthält alle Workflows, Credentials, Execution History
```bash
# 1. Auf srvdocker02 per SSH
ssh root@10.0.0.48
# 2. PostgreSQL Backup erstellen
cd /home/icke/n8n
docker exec postgres-n8n pg_dump -U n8n n8n > "backup-$(date +%Y%m%d-%H%M%S).sql"
# 3. Backup komprimieren und sichern
gzip backup-*.sql
ls -lh backup-*.sql.gz
# 4. Optional: Volume-Backup (enthält auch n8n-Files)
tar -czf "n8n-volumes-$(date +%Y%m%d-%H%M%S).tar.gz" /home/icke/n8n_pg/
```
**Backup-Dateien auf Laptop kopieren (Sicherheitskopie):**
```bash
# Von Laptop aus
scp root@10.0.0.48:/home/icke/n8n/backup-*.sql.gz ~/Nextcloud/egonetix/n8n/backups/
```
---
### Phase 2: Update durchführen
**Datei:** `/home/rwiegand/Nextcloud/egonetix/n8n/Dockerfile.n8n-curl`
**Änderung:**
```dockerfile
# Alt:
FROM n8nio/n8n:1.123.5
# Neu:
FROM n8nio/n8n:2.3.4
```
**Rebuild + Restart:**
```bash
# Auf srvdocker02
cd /home/icke/n8n
# Container stoppen
docker compose down
# Rebuild mit neuer Version (dauert ~2-3 Minuten)
docker compose up -d --build
# Logs überwachen (PostgreSQL Auto-Migration)
docker compose logs -f n8n-new
```
**Erwartete Log-Ausgaben:**
- `Running migrations...` (PostgreSQL Schema-Migration)
- `Migration XYZ successful`
- `n8n ready on 0.0.0.0:5678`
**Abbruchkriterium:** Wenn Fehler in Logs → sofort `docker compose down` und Rollback
---
### Phase 3: Verifikation
#### 3.1 Web-UI Zugriff prüfen
```bash
# Von Laptop
curl -I https://flow.egonetix.de/
# Erwartung: HTTP 200 oder 302 (Redirect zu Login)
```
**Browser-Test:**
- https://flow.egonetix.de/ öffnen
- Login mit Owner-Account
- Dashboard sollte laden
#### 3.2 Workflows prüfen
**In Web-UI:**
1. Workflows-Liste öffnen
2. Status der aktiven Workflows prüfen:
- `gebuehrenfrei_live` → aktiv?
- `instabank_current` → aktiv?
- `tfbank_current` → aktiv?
#### 3.3 LangChain/OpenAI Integration testen
**Pro Workflow (gebuehrenfrei_live, instabank_current, tfbank_current):**
1. Workflow öffnen in Editor
2. "Execute Workflow" klicken (manueller Trigger)
3. **Input:** Test-E-Mail mit Kreditkarten-Rechnung
4. **Erwartete Ausgabe:**
- AI Agent extrahiert: Fälligkeitsdatum, IBAN, BIC, Betrag
- Nextcloud Deck Karte wird erstellt (`/home/node/create_card_from_ai.sh`)
5. **Logs prüfen:**
```bash
docker compose logs n8n-new | grep -i "openai\|langchain\|error"
```
**Falls AI-Extraktion fehlschlägt:**
- Workflow-Logs in Web-UI prüfen
- OpenAI API-Key noch gültig? (in Workflow Credentials)
- Rate Limits überschritten?
#### 3.4 IMAP-Trigger testen
**Workflows mit Email-Trigger:**
- Warten auf nächste eingehende Kreditkarten-E-Mail
- Oder: Manuell Test-E-Mail an IMAP-Account senden
- Prüfen ob Workflow automatisch triggert
#### 3.5 Version bestätigen
```bash
# In Container
docker exec n8n-new n8n --version
# Erwartung: 2.3.4
```
**In Web-UI:**
- Settings → About → Version sollte "2.3.4" zeigen
---
### Phase 4: Rollback (falls nötig)
**Nur wenn kritische Fehler auftreten:**
```bash
# 1. Container stoppen
cd /home/icke/n8n
docker compose down
# 2. Dockerfile zurücksetzen
# In /home/rwiegand/Nextcloud/egonetix/n8n/Dockerfile.n8n-curl:
FROM n8nio/n8n:1.123.5
# 3. Rebuild mit alter Version
docker compose up -d --build
# 4. Falls DB korrupt: Backup einspielen
docker exec -i postgres-n8n psql -U n8n n8n < backup-TIMESTAMP.sql
```
**Wichtig:** Rollback nur bis max. 1 Stunde nach Update - danach könnten neue Workflows/Executions verloren gehen!
---
## Post-Update Maßnahmen
### Dokumentation aktualisieren
**Datei:** `/home/rwiegand/Nextcloud/egonetix/n8n/README.md`
**Abschnitt "Upgrade n8n" aktualisieren:**
```markdown
### Upgrade n8n
Edit `Dockerfile.n8n-curl` and change version:
```dockerfile
FROM n8nio/n8n:2.3.4 # Change version here (aktuell: 2.3.4, Stand: 2026-02-04)
```
Then rebuild:
```bash
docker compose up -d --build
```
**Hinweis:** Breaking Changes zwischen 1.x und 2.x beachten:
- Start Nodes entfernt (verwende manualTrigger stattdessen)
- Python Sandbox sicherer (CVE-2025-68668 gefixt)
- PostgreSQL Schema-Migration läuft automatisch (Backup vorher!)
```
### Infrastructure-Dokumentation
**Datei:** `~/Nextcloud/egonetix/infrastructure/hosts/srvdocker02.md`
**Neuer Abschnitt unter "Docker Containers":**
```markdown
## Wichtige Updates
### n8n Security Update (2026-02-04)
- **Version:** 1.123.5 → 2.3.4
- **Grund:** CVE-2025-68668 (Python Sandbox RCE, CVSS 9.9)
- **Downtime:** ~8 Minuten
- **Migration:** PostgreSQL Schema automatisch migriert
- **Tests:** LangChain/OpenAI Integration erfolgreich getestet
- **Commit:** [commit-hash]
```
### Git Commit
```bash
cd ~/Nextcloud/egonetix/n8n
git add Dockerfile.n8n-curl README.md
git commit -m "Security Update: n8n 1.123.5 → 2.3.4 (CVE-2025-68668)
- Update Dockerfile.n8n-curl auf n8n:2.3.4
- Behebt CVE-2025-68668 (Python Sandbox Bypass, CVSS 9.9)
- PostgreSQL Schema-Migration erfolgreich
- LangChain/OpenAI Workflows getestet und funktional
- Breaking Changes: keine in unserer Konfiguration
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>"
git push origin main
```
---
## Kritische Dateien
| Datei | Änderung |
|-------|----------|
| `Dockerfile.n8n-curl` | Zeile 1: `FROM n8nio/n8n:1.123.5` → `FROM n8nio/n8n:2.3.4` |
| `README.md` | Abschnitt "Upgrade n8n" erweitern mit Breaking Changes Hinweis |
**Keine Änderungen nötig:**
- `docker-compose.yml` (Environment-Variablen bleiben unverändert)
- `scripts/*.sh` (Custom Scripts kompatibel)
- Workflow-Files (keine Start Nodes, kein process.env)
---
## Verification Checklist
Nach Abschluss des Updates:
- [ ] PostgreSQL Backup erstellt und gesichert
- [ ] `docker compose logs` zeigt keine Errors
- [ ] Web-UI unter https://flow.egonetix.de/ erreichbar
- [ ] Login funktioniert
- [ ] Workflows-Liste zeigt alle Workflows
- [ ] 3 LangChain Workflows manuell getestet:
- [ ] `gebuehrenfrei_live` - AI-Extraktion funktioniert
- [ ] `instabank_current` - AI-Extraktion funktioniert
- [ ] `tfbank_current` - AI-Extraktion funktioniert
- [ ] IMAP-Trigger aktiv (bei nächster E-Mail testen)
- [ ] `n8n --version` zeigt 2.3.4
- [ ] README.md aktualisiert
- [ ] `infrastructure/hosts/srvdocker02.md` aktualisiert
- [ ] Git Commit erstellt und gepusht
- [ ] Backup-Files können gelöscht werden (nach 1 Woche Betrieb)
---
## Geschätzte Zeiten
| Phase | Dauer |
|-------|-------|
| Backup | 2-3 Minuten |
| Update (Dockerfile Edit + Rebuild) | 3-5 Minuten |
| Verifikation (Web-UI + Workflows) | 5-10 Minuten |
| Dokumentation | 3-5 Minuten |
| **Gesamt** | **15-25 Minuten** |
**Downtime:** Nur während Container-Restart (~5 Minuten)