Security: Secrets aus docker-compose.yml entfernt, JWT_SECRET rotiert
docker-compose.yml lag mit allen Produktions-Secrets im Klartext im Repo (JWT_SECRET, Anthropic-API-Key, Azure-Client-Secret, SMTP/IMAP-Passwort, Proxmox-/GitHub-Token, Teams-Bot-Secret) — bereits vor diesem Repo in der GitHub-History vorhanden, jetzt auf ENV-Variablen umgestellt. Echte Werte liegen jetzt nur noch in einer .env auf dem Server (gitignored). JWT_SECRET wurde rotiert (rein intern, erzwingt einmaliges Neu-Login). AGENT_API_KEY und SCANNER_API_KEY bewusst NICHT rotiert, da das sofort die gesamte Agent-/Scanner-Fleet brechen würde — wird zusammen mit der geplanten Umstellung auf pro-Geräte-Keys gemacht. Externe Secrets (Anthropic, Azure, Proxmox, GitHub, M365-Mailbox) müssen von Simon manuell in den jeweiligen Portalen rotiert werden, da kein Tool-Zugriff von hier aus möglich ist. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
26
.env.example
Normal file
26
.env.example
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Kopieren nach .env und mit echten Werten befüllen — .env ist in .gitignore, NIEMALS committen!
|
||||||
|
|
||||||
|
JWT_SECRET=
|
||||||
|
AGENT_API_KEY=
|
||||||
|
SCANNER_API_KEY=
|
||||||
|
ENCRYPTION_KEY=
|
||||||
|
TV_DASHBOARD_KEY=
|
||||||
|
|
||||||
|
# Microsoft 365 Mailbox (it-tool@cereda-systems.de)
|
||||||
|
SMTP_PASSWORD=
|
||||||
|
IMAP_PASSWORD=
|
||||||
|
|
||||||
|
# Microsoft Azure AD App-Registrierung
|
||||||
|
AZURE_CLIENT_SECRET=
|
||||||
|
|
||||||
|
# Anthropic Claude API
|
||||||
|
ANTHROPIC_API_KEY=
|
||||||
|
|
||||||
|
# Teams Bot
|
||||||
|
TEAMS_BOT_APP_SECRET=
|
||||||
|
|
||||||
|
# Proxmox API-Token
|
||||||
|
PROXMOX_TOKEN=
|
||||||
|
|
||||||
|
# GitHub PAT (Feedback-System)
|
||||||
|
GITHUB_TOKEN=
|
||||||
@@ -13,9 +13,11 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
- PORT=5000
|
- PORT=5000
|
||||||
- JWT_SECRET=jwt-jItWbLMHTIDElss0C3tMN6NV3hq3GjEIPXp79-X8ljiMS6OMX541Xg
|
- JWT_SECRET=${JWT_SECRET}
|
||||||
- AGENT_API_KEY=itx-4CPJPTHmCfdrL9D62WacCATEvuvULXcp7ECMpSaNUjsS344F6_L4Ug
|
- AGENT_API_KEY=${AGENT_API_KEY}
|
||||||
- SCANNER_API_KEY=nsx-aa0193d719c2be765441e1dd24bf7480
|
- SCANNER_API_KEY=${SCANNER_API_KEY}
|
||||||
|
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
|
||||||
|
- TV_DASHBOARD_KEY=${TV_DASHBOARD_KEY}
|
||||||
- JWT_EXPIRATION=8h
|
- JWT_EXPIRATION=8h
|
||||||
- DATABASE_PATH=/app/data/database.sqlite
|
- DATABASE_PATH=/app/data/database.sqlite
|
||||||
- FRONTEND_URL=https://it-nexus.cereda-systems.de
|
- FRONTEND_URL=https://it-nexus.cereda-systems.de
|
||||||
@@ -25,13 +27,13 @@ services:
|
|||||||
- SMTP_PORT=587
|
- SMTP_PORT=587
|
||||||
- SMTP_SECURE=false
|
- SMTP_SECURE=false
|
||||||
- SMTP_USER=it-tool@cereda-systems.de
|
- SMTP_USER=it-tool@cereda-systems.de
|
||||||
- SMTP_PASSWORD=Cereda2025!
|
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
||||||
- SMTP_FROM=IT Support Cereda <it-tool@cereda-systems.de>
|
- SMTP_FROM=IT Support Cereda <it-tool@cereda-systems.de>
|
||||||
# IMAP (eingehende E-Mails → Tickets)
|
# IMAP (eingehende E-Mails → Tickets)
|
||||||
- IMAP_HOST=outlook.office365.com
|
- IMAP_HOST=outlook.office365.com
|
||||||
- IMAP_PORT=993
|
- IMAP_PORT=993
|
||||||
- IMAP_USER=it-tool@cereda-systems.de
|
- IMAP_USER=it-tool@cereda-systems.de
|
||||||
- IMAP_PASSWORD=Cereda2025!
|
- IMAP_PASSWORD=${IMAP_PASSWORD}
|
||||||
- IMAP_MAILBOX=INBOX
|
- IMAP_MAILBOX=INBOX
|
||||||
# Ticket-Links in E-Mails
|
# Ticket-Links in E-Mails
|
||||||
- TICKET_BASE_URL=https://it-nexus.cereda-systems.de
|
- TICKET_BASE_URL=https://it-nexus.cereda-systems.de
|
||||||
@@ -40,21 +42,21 @@ services:
|
|||||||
# Microsoft Azure AD (OAuth2 + Graph API)
|
# Microsoft Azure AD (OAuth2 + Graph API)
|
||||||
- AZURE_TENANT_ID=6a9a4382-ea6c-4e64-a09f-0905f83b3d64
|
- AZURE_TENANT_ID=6a9a4382-ea6c-4e64-a09f-0905f83b3d64
|
||||||
- AZURE_CLIENT_ID=de5c4a83-d24d-4323-9f3b-9c3a2f6c709f
|
- AZURE_CLIENT_ID=de5c4a83-d24d-4323-9f3b-9c3a2f6c709f
|
||||||
- AZURE_CLIENT_SECRET=55f8Q~BAYuFl5-zsX4Aob397PKLZssNTVc9rFb9n
|
- AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET}
|
||||||
- AZURE_REDIRECT_URI=https://it-nexus.cereda-systems.de/api/auth/microsoft/callback
|
- AZURE_REDIRECT_URI=https://it-nexus.cereda-systems.de/api/auth/microsoft/callback
|
||||||
# Anthropic Claude API (KI-Integration)
|
# Anthropic Claude API (KI-Integration)
|
||||||
- ANTHROPIC_API_KEY=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
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
||||||
# Teams Bot
|
# Teams Bot
|
||||||
- TEAMS_BOT_APP_ID=bd39de7e-1b85-4e0c-9301-a68cd5122523
|
- TEAMS_BOT_APP_ID=bd39de7e-1b85-4e0c-9301-a68cd5122523
|
||||||
- TEAMS_BOT_APP_SECRET=jos8Q~UjN.Z65.3e9JeXpeKJdX6li58I2EnhfbZQ
|
- TEAMS_BOT_APP_SECRET=${TEAMS_BOT_APP_SECRET}
|
||||||
# Microsoft Planner Sync
|
# Microsoft Planner Sync
|
||||||
- PLANNER_PLAN_ID=CFyoAifRzUi2ONlk01smWpcAHtm3
|
- PLANNER_PLAN_ID=CFyoAifRzUi2ONlk01smWpcAHtm3
|
||||||
# Proxmox Monitoring
|
# Proxmox Monitoring
|
||||||
- PROXMOX_HOST=https://192.168.0.184:8006
|
- PROXMOX_HOST=https://192.168.0.184:8006
|
||||||
- PROXMOX_TOKEN=root@pam!monitoring=ca287965-3d33-49ec-a069-1bb80fd2e95d
|
- PROXMOX_TOKEN=${PROXMOX_TOKEN}
|
||||||
- PROXMOX_NODE=hve-01
|
- PROXMOX_NODE=hve-01
|
||||||
# GitHub API (Feedback-System)
|
# GitHub API (Feedback-System)
|
||||||
- GITHUB_TOKEN=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
|
- GITHUB_TOKEN=${GITHUB_TOKEN}
|
||||||
volumes:
|
volumes:
|
||||||
# Persistente Datenbank - bleibt auch nach Container-Neustart erhalten
|
# Persistente Datenbank - bleibt auch nach Container-Neustart erhalten
|
||||||
- fido-data:/app/data
|
- fido-data:/app/data
|
||||||
|
|||||||
Reference in New Issue
Block a user