Aurora Nexus
Aurora NexusSécurité

Sécurité — principes de base

secrets, JWT, Gateway, exposition des ports

Secrets & configuration

  • Ne jamais committer de secrets : utiliser .env généré par le wizard, stocké hors repo (ex. /etc/aurora/prod.env, chmod 600) ou un vault.
  • Clés critiques : JWT_SECRET, GATEWAY_INTERNAL_SECRET, LLM_CREDENTIALS_ENC_KEY, POSTGRES_PASSWORD, MINIO_ROOT_PASSWORD, clés LLM.
    • ALLOW_ADMIN_ENV_WRITE=false en prod (empêche l’UI d’écrire dans .env).
    • Ne changez pas LLM_CREDENTIALS_ENC_KEY sans migration des credentials BYOK.
  • Alignement .env.env.example : même liste de variables, valeurs réelles hors Git.

Exposition réseau

  • Bind par défaut en 127.0.0.1; exposer uniquement via reverse-proxy TLS (UI/API/Gateway).
  • Ne pas exposer Postgres, Qdrant, Redis, MinIO. Si contrainte : IP allowlist + authentification forte.
  • Gateway : appels internes signés via X-Internal-Secret; changer le secret par défaut et le protéger.

Authentification / sessions

  • JWT HMAC : JWT_SECRET long/entropique.
  • UI : cookie HttpOnly + AUTH_COOKIE_SECURE=true, AUTH_COOKIE_SAMESITE=lax/strict, RETURN_JWT_IN_BODY=false en prod.
  • OAuth Google optionnel : vérifier GOOGLE_CLIENT_ID/SECRET/REDIRECT_URI.
  • Rate-limit : RATE_LIMIT_* activé (best effort en mémoire, prévoir Redis distribué si besoin).

CORS / uploads / SSRF

  • CORS_ALLOW_ORIGINS : restreindre aux domaines UI.
  • Uploads : limiter tailles (MAX_UPLOAD_SIZE_MB), extensions contrôlées côté UI, AV recommandé.
  • ENABLE_INGEST_URL=false par défaut pour éviter SSRF; si activé, mettre une allowlist et timeouts courts.

Logs, rétention, PII

  • Masquer/éviter le contenu sensible : paramètres QUERIES_LOG_*, RETENTION_*, *_RETENTION_DAYS.
  • Pas de secrets dans les logs (ne jamais logguer clés LLM / tokens).
  • Activer purge périodique (RETENTION_PURGE_ENABLED + intervalle) selon vos exigences légales.

Mises à jour et durcissement conteneurs

  • Images à jour : docker compose pull + rebuild après maj dépendances (Starlette, Next, etc.).
  • Conteneurs non-root + cap_drop, read_only et tmpfs /tmp recommandés (à tester avant prod).
  • redis : ajouter un mot de passe si réseau partagé ou restreindre le réseau.

Vérifications rapides avant mise en ligne

  • docker compose ps : tous les services up/healthy.
  • curl http://127.0.0.1:${HOST_API_PORT}/api/health OK.
  • CORS et cookies testés depuis le domaine public.
  • Ports sensibles non exposés (netstat/ss), secrets présents uniquement dans le .env serveur ou vault.

On this page