Compare commits
2 Commits
a95aa384a2
...
92c3b0dc95
| Author | SHA1 | Date | |
|---|---|---|---|
| 92c3b0dc95 | |||
| 83cd737e81 |
@@ -66,6 +66,16 @@ LISTEN_ADDR=0.0.0.0 # In Docker = 0.0.0.0, in Bare-Metal-Production = 127
|
||||
# (ERR_SSL_PROTOCOL_ERROR auf den Assets).
|
||||
HTTPS_ENABLED=false
|
||||
|
||||
# SSRF-Schutz: private IP-Ranges (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12,
|
||||
# 192.168.0.0/16, ::1, fc00::/7, localhost) bei Provider/SMTP-Test-Connection
|
||||
# blockieren. Default `false` damit On-Prem-Setups Plesk/Dovecot/Postfix auf
|
||||
# 127.0.0.1 oder im internen Netz nutzen können. Für Cloud-Deployments
|
||||
# (öffentlich erreichbares Backend) auf `true` setzen, sonst kann ein
|
||||
# eingeloggter Admin via /email-providers/test-connection interne Services
|
||||
# anpingen. Cloud-Metadata-Endpoints (169.254.169.254 etc.) sind UNABHÄNGIG
|
||||
# vom Flag immer geblockt.
|
||||
SSRF_BLOCK_PRIVATE_IPS=false
|
||||
|
||||
# ============== ADMINER (DB-UI) ==============
|
||||
# Theme-Auswahl. Verfügbare Designs im offiziellen adminer:latest Image:
|
||||
# adminer-dark, brade, bueltge, dracula, esterka, flat, galkaev,
|
||||
|
||||
@@ -210,6 +210,25 @@ LISTEN_ADDR=127.0.0.1
|
||||
CORS_ORIGINS=https://crm.deine-domain.de
|
||||
```
|
||||
|
||||
### Deployment-Modus: On-Prem vs. Cloud
|
||||
|
||||
OpenCRM ist primär als **On-Prem-Anwendung** designed (eigener Server / VM,
|
||||
hinter Reverse-Proxy). Für **Cloud-Deployments** (öffentlich erreichbares
|
||||
Backend, Shared-Infrastructure, Hyperscaler) gibt es einen zusätzlichen
|
||||
SSRF-Schalter:
|
||||
|
||||
```env
|
||||
# Cloud-Deploy: zusätzlich alle privaten IP-Ranges für Provider-/SMTP-
|
||||
# Test-Connection blockieren (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12,
|
||||
# 192.168.0.0/16, ::1, fc00::/7, localhost). Default false, weil
|
||||
# On-Prem-Setups oft Plesk/Dovecot auf 127.0.0.1 brauchen.
|
||||
SSRF_BLOCK_PRIVATE_IPS=true
|
||||
```
|
||||
|
||||
Cloud-Metadata-Endpoints (`169.254.169.254`, `metadata.google.internal` etc.)
|
||||
sind UNABHÄNGIG vom Flag **immer** geblockt – das ist Mindestschutz gegen
|
||||
AWS/GCP/Azure-IMDS-Diebstahl.
|
||||
|
||||
Plus:
|
||||
|
||||
- **Reverse-Proxy** (Nginx/Plesk) so konfigurieren, dass `X-Forwarded-For` hart auf
|
||||
|
||||
@@ -67,6 +67,12 @@ services:
|
||||
LISTEN_ADDR: 0.0.0.0
|
||||
CORS_ORIGINS: ${CORS_ORIGINS:-}
|
||||
HTTPS_ENABLED: ${HTTPS_ENABLED:-false}
|
||||
# SSRF-Schutz: bei Cloud-Deploys auf `true` setzen, sonst kann ein
|
||||
# eingeloggter Admin via Provider-Test-Connection interne Services
|
||||
# anpingen (127/10/172.16/192.168, ::1, localhost). On-Prem-Default
|
||||
# ist `false`, weil Plesk/Dovecot häufig lokal laufen. Cloud-
|
||||
# Metadata-Endpoints sind UNABHÄNGIG vom Flag immer geblockt.
|
||||
SSRF_BLOCK_PRIVATE_IPS: ${SSRF_BLOCK_PRIVATE_IPS:-false}
|
||||
RUN_SEED: ${RUN_SEED:-false}
|
||||
ports:
|
||||
- "${OPENCRM_PORT:-3010}:3001"
|
||||
|
||||
Reference in New Issue
Block a user