← retour aux snippets

nft: rate limiter les nouvelles connexions

Limiter le taux de SYN entrants sur un port pour se protéger des bursts sans bloquer le trafic établi.

bash security #nft#rate-limit#syn

objectif

Éviter les surcharges en plafonnant le débit de nouvelles connexions sur un port.

code minimal

sudo nft add table inet filter 2>/dev/null || true
sudo nft 'add chain inet filter input { type filter hook input priority 0; policy accept; }' 2>/dev/null || true

# limiter 50 nouvelles connexions/s sur 443 avec burst de 100
sudo nft 'add rule inet filter input tcp dport 443 ct state new limit rate 50/second burst 100 packets accept'

utilisation

# visualiser la règle et ses compteurs
sudo nft -a list chain inet filter input | awk '/dport 443/ {print}'

variante(s) utile(s)

# limiter par IP source (hashlimit-like)
sudo nft 'add rule inet filter input tcp dport 22 ct state new limit rate over 5/minute drop'

notes

  • limit contrôle le débit global; pour par-IP, utilisez maps/sets et quotas avancés.
  • surveillez les compteurs pour ajuster les seuils.