🚀 Infrarust V2 is now in alpha! Check out the new documentation. V1 will be archived once V2 is released.
Skip to content

Rate Limiting ​

Le rate limiting est un mécanisme de sécurité essentiel qui permet de contrôler le nombre de connexions par adresse IP dans un intervalle de temps donné.

Configuration ​

Pour activer le rate limiting, ajoutez la configuration suivante dans votre fichier config.yaml :

yaml
security:
  rateLimiter:
    # Nombre maximal de requêtes autorisées par fenêtre de temps
    requestLimit: 10
    
    # Durée de la fenêtre de temps (en secondes)
    windowDuration: 1
    
    # Temps de blocage après dépassement (en secondes)
    blockDuration: 300

Paramètres ​

ParamètreDescriptionValeur par défaut
requestLimitNombre maximum de requĂŞtes10
windowDurationDurée de la fenêtre (secondes)1
blockDurationDurée du blocage (secondes)300

Fonctionnement ​

  1. Une fenĂŞtre glissante est maintenue pour chaque adresse IP
  2. Chaque nouvelle connexion incrémente un compteur
  3. Si le compteur dépasse requestLimit dans la fenêtre :
    • L'IP est bloquĂ©e pendant blockDuration
    • Les nouvelles connexions sont rejetĂ©es
    • Un message d'erreur est envoyĂ© au client

Protection DDoS ​

Le rate limiting fait partie de la stratégie de protection DDoS avec :

  • Filtrage par IP
  • Limitations par sous-rĂ©seau
  • Seuils adaptatifs
  • Liste noire temporaire

Exemples de Configuration ​

Configuration Basique ​

yaml
security:
  rateLimiter:
    requestLimit: 10
    windowDuration: 1

Configuration Stricte ​

yaml
security:
  rateLimiter:
    requestLimit: 5
    windowDuration: 1
    blockDuration: 600

Monitoring - Non implémenté ​

Le rate limiter exposera dans le futur des métriques :

  • Nombre de connexions bloquĂ©es
  • IPs actuellement bloquĂ©es
  • Taux de blocage
  • Pics de connexions

Consultez Monitoring pour plus de détails.

Released under the AGPL-3.0 License.