soapbox/.env.example
Ole-Morten Duesund d47558c6c1 Sikkerhet: tett path traversal i post-id og herd innlogging/upload
Funn fra sikkerhetsgjennomgang:
- HØY: post_id ble ikke validert, så en gjest kunne nå andres innlegg
  via gjest/../../posts/<slug> (lese utkast, laste opp/slette bilder,
  publisere eierens utkast). Slug og gjestenavn valideres nå mot samme
  alfabet de lages med, og stien sjekkes etter oppslag.
- Bilder: pikselantall sjekkes før dekoding (maks 40 MP), og
  DecompressionBombError håndteres.
- Innlogging: CSRF-token kreves også på login (login-CSRF), og
  innloggingsbrems etter 5 feil per brukernavn.
- Passordbytte ugyldiggjør alle andre sesjoner (stempel i cookien).
- Content-Security-Policy og X-Frame-Options på alle sider; admin har
  ingen inline script lenger (admin.js).
- Gjestenavn og eier-slugs kan ikke lenger kollidere på /navn/.
- Healthcheck respekterer SOAPBOX_BASE_PATH; login-redirect beholder
  base path; run.sh dropper capabilities og setter minnegrense; uv
  pinnet til 0.11.

Rettet også en reell feil: existing_slugs() listet feil katalog
(Path /  er identitet), så slug-unikhet virket ikke.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JcEy43fNYpwg6K6oTKakWR
2026-08-26 14:07:14 +02:00

33 lines
1.3 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Kopier til .env og juster. Alle verdier har fornuftige standarder;
# du trenger strengt tatt bare SOAPBOX_SITE_URL og hovedbrukeren.
# .env leses av run.sh (podman --env-file) og compose.yaml.
# Absolutt URL til bloggens rot. Brukes bare i feed.xml og for Secure-cookie
# (https → Secure). Ta med sub-path hvis du har en.
SOAPBOX_SITE_URL=https://blog.domene.no
# Sub-path bloggen ligger under bak Caddy, f.eks. /blog. Tom = rot.
SOAPBOX_BASE_PATH=
# Standardtema før noe er valgt i admin. Valget lagres i content/site.toml.
# Egne temaer: /data/content/themes/<navn>/ (følger med i git og backup).
SOAPBOX_THEME=green
# Lengste side på opplastede bilder (px). EXIF fjernes alltid.
SOAPBOX_MAX_IMAGE_PX=2000
# Hovedbruker opprettes ved første start, ignoreres når en eier finnes.
# Bytt passord i admin etterpå og fjern gjerne linjene her.
SOAPBOX_OWNER_USER=olemd
SOAPBOX_OWNER_PASSWORD=bytt-meg-naa
# Valgfritt: overstyr cookie-nøkkelen. Standard: autogenerert i /data/secret_key.
#SOAPBOX_SECRET_KEY=
# --- Bare for run.sh / compose (ikke lest av appen) ---
# Lokal port Caddy proxyer til. Bindes kun til 127.0.0.1.
SOAPBOX_PORT=8080
# Podman-volum (navn) eller katalog (absolutt sti) for /data
SOAPBOX_VOLUME=soapbox-data
# Minnegrense for containeren (bildebehandling er det som bruker mest)
SOAPBOX_MEMORY=512m