Sicherheit ist sehr wichtig für dieses Projekt. Hier erfährst du, wie wir mit Sicherheitsfragen umgehen.
| Version | Supported |
|---|---|
| 1.x | ✅ Ja |
| < 1.0 | ❌ Nein |
Falls du eine Sicherheitslücke findest:
NICHT öffentlich in Issues posten!
Stattdessen:
-
GitHub Security Advisory öffnen:
- Gehe zu: Repository → Security → Report vulnerability
-
Oder per E-Mail:
- Kontakt: https://bojatschkin.de
- Subject: "Security Vulnerability in quote-generation-automation"
-
Beschreibe:
- Was ist die Schwachstelle?
- Wie kann sie ausgenutzt werden?
- Mögliche Auswirkung
- Reproduktionsschritte (falls möglich)
Wir werden dir schnellstmöglich antworten (innerhalb von 48 Stunden).
❌ Nicht tun:
# Secrets in Code
AWS_ACCESS_KEY_ID=AKIA... # im .env oder git!
docker run -e AWS_ACCESS_KEY_ID=... # in Befehle✅ So besser:
# .env File (in .gitignore!)
AWS_ACCESS_KEY_ID=AKIA...
# Via Environment
export AWS_ACCESS_KEY_ID=AKIA...
docker compose up # liest aus .env
# Via AWS Credentials File
~/.aws/credentials # nicht in Git!- Principle of Least Privilege: Nur nötige Permissions geben
- Resource Restriction: Nicht "*" für alle Services
- Regular Rotation: Access Keys alle 90 Tage wechseln
Siehe: iam/n8n-automation-policy.json
❌ Nicht tun:
# n8n ohne Auth (für Prod)
N8N_BASIC_AUTH_ACTIVE=false✅ Für Production:
# Basic Auth aktivieren
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=SecurePassword123!
# Oder OAuth/SAML integrieren- App-Passwörter verwenden (nicht Main-Password)
- Gmail: Create App Password
- SendGrid: API Key generieren (nicht Full Account)
- Customer Anfragen: Nicht im Code speichern
- Angebots-JSON: In secure S3 mit Encryption
- Logs: Keine PII (Personalien) in CloudWatch
- Retention: Alte Angebote nach X Tagen löschen
- Node Red Authentication: TLS/HTTPS für Production
- Webhook Security: Optional: Secret Token validieren
- Execution Logs: Cleanup nach 30 Tagen (EXECUTIONS_DATA_PRUNE=true)
- Docker Image: n8n 1.76.1 (gepinnt, nicht "latest")
- Regular Updates: Monatlich n8n Version prüfen
- Vulnerability Scanning: Dependabot aktivieren
- IAM Policy Review (kein overbroad access)
- AWS Region restrict (z.B. nur eu-central-1)
- n8n Basic Auth oder OAuth aktiviert
- HTTPS/TLS für Webhooks konfiguriert
- Secrets in AWS Secrets Manager / Parameter Store (nicht .env)
- CloudWatch Logs aktiviert & monitored
- Cost Alarms eingerichtet
- Backup Strategy für n8n_data Volume
- DSGVO Compliance überprüft (Customer Daten)
- Security Scanning (Dependabot, Snyk)
# FALSCH: Secret im Code
echo "AWS_ACCESS_KEY_ID=AKIA123..." > .env
git add .env
git commit -m "setup"
git pushFix:
# .gitignore aktualisieren
echo ".env" >> .gitignore
git rm --cached .env
git commit -m "remove .env from tracking"
# Secret rotieren (new Access Key)
aws iam create-access-key --user-name n8n-quote-automation# FALSCH: "latest" Tag (Breaking Changes möglich)
image: n8nio/n8n:latestFix:
# Gepinnte Version verwenden
image: n8nio/n8n:1.76.1# FALSCH: Ungesicherter Webhook
POST /webhook/quote-generation
# Anyone can send requestsFix: Optional - Secret Token validieren
{
"X-Webhook-Secret": "super-secret-token-from-env"
}# FALSCH: Alle Modelle erlaubt (Kosten!)
bedrock:InvokeModel on *Fix: Nur Claude 3.5 Sonnet
{
"Resource": [
"arn:aws:bedrock:eu-central-1::foundation-model/anthropic.claude-3-5-sonnet*"
]
}Falls ein Security Issue auftritt:
- Identify: Was ist passiert?
- Contain: Betroffene Keys rotieren, Access einschränken
- Eradicate: Ursache beheben
- Recover: System hochfahren
- Review: Post-mortem durchführen
Sicherheitsfragen? 🔐
- Report: Security Advisory
- Website: https://bojatschkin.de
Last Updated: 2026-03-05