Skip to content

Configuration des alertes de sécurité Better Auth Infrastructure

Configuration des alertes de sécurité Better Auth Infrastructure

Configuration des IP headers et secure cookies pour corriger les alertes du dashboard

Problème

Le dashboard Better Auth Infrastructure affichait deux alertes de sécurité :

  1. IP Address Headers Not Configured : Les headers IP ne sont pas configurés pour le rate limiting
  2. Insecure Cookies Configuration : Les cookies sécurisés ne sont pas activés

Diagnostic

Ces fonctionnalités ne sont pas laissées entièrement à la charge de Better Auth Infrastructure. Elles peuvent être configurées directement dans le code Better Auth :

  • Secure Cookies : Configurable via advanced.useSecureCookies
  • IP Headers : Configurable via advanced.ipAddress.ipAddressHeaders
  • Rate Limiting : Configurable via rateLimit avec KV comme storage

Solution

1. Import de createKVStorage

Ajout de l’import pour créer le secondary storage KV :

import { createKVStorage } from "better-auth-cloudflare";

2. Configuration de secondaryStorage

Ajout de KV comme secondary storage pour le rate limiting :

secondaryStorage: env.AUTH_KV ? createKVStorage(env.AUTH_KV) : undefined

3. Configuration des IP Headers

Ajout de la configuration des headers IP pour Cloudflare :

advanced: {
ipAddress: {
ipAddressHeaders: ["cf-connecting-ip"] // Header Cloudflare spécifique
}
}

4. Configuration du Rate Limiting

Ajout de la configuration du rate limiting avec KV comme storage :

rateLimit: {
enabled: isProd, // Activé en production
window: 60, // 60 secondes (minimum KV TTL)
max: 100, // 100 requêtes max par fenêtre
storage: "secondary-storage" // Utiliser KV pour le stockage
}

Fichier modifié

apps/web/src/auth/index.ts - Ajout de la configuration complète pour corriger les alertes

Important : Limitation KV TTL

Cloudflare KV a une limitation TTL minimum de 60 secondes. C’est pourquoi la fenêtre du rate limiting est configurée à 60 secondes minimum.

Test

Après déploiement, les alertes devraient disparaître du dashboard Better Auth Infrastructure.

Note

Le plugin dash() ne configure pas automatiquement KV comme secondary storage. Il faut le configurer manuellement avec createKVStorage().

Switch to normal mode

Contents