Aurora NexusSécurité
Sécurité — principes de base
secrets, JWT, Gateway, exposition des ports
Secrets & configuration
- Ne jamais committer de secrets : utiliser
.envgé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=falseen prod (empêche l’UI d’écrire dans.env).- Ne changez pas
LLM_CREDENTIALS_ENC_KEYsans 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_SECRETlong/entropique. - UI : cookie HttpOnly +
AUTH_COOKIE_SECURE=true,AUTH_COOKIE_SAMESITE=lax/strict,RETURN_JWT_IN_BODY=falseen 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=falsepar 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_onlyettmpfs /tmprecommandé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/healthOK.- CORS et cookies testés depuis le domaine public.
- Ports sensibles non exposés (netstat/ss), secrets présents uniquement dans le
.envserveur ou vault.