Quelles techniques et / ou quels modules sont disponibles pour implémenter une limitation de débit robuste (requêtes | octets / ip / unité de temps) dans apache?
Réponses
Trop de publicités?Le meilleur
- mod_evasive (plus Axé sur la réduction de DoS de l'exposition)
- mod_cband (Meilleure vedette de "normal" contrôle de la bande passante)
et le reste
Diego F. Durán
Points
893
Comme indiqué dans ce billet de blog, il semble possible d'utiliser mod_security d'Apache pour implémenter une limite de débit par seconde.
La configuration ressemble à ceci:
SecRuleEngine On
<LocationMatch "^/somepath">
SecAction initcol:ip=%{REMOTE_ADDR},pass,nolog
SecAction "phase:5,deprecatevar:ip.somepathcounter=1/1,pass,nolog"
SecRule IP:SOMEPATHCOUNTER "@gt 60" "phase:2,pause:300,deny,status:509,setenv:RATELIMITED,skip:1,nolog"
SecAction "phase:2,pass,setvar:ip.somepathcounter=+1,nolog"
Header always set Retry-After "10" env=RATELIMITED
</LocationMatch>
ErrorDocument 509 "Rate Limit Exceeded"
Janus Troelsen
Points
5121
Dans Apache 2.4, il y a un nouveau module de stock appelé mod_ratelimit . Pour émuler les vitesses de modem, vous pouvez utiliser mod_dialup . Bien que je ne vois pas pourquoi vous ne pouviez pas utiliser mod_ratelimit pour tout.
wuzer
Points
31
mrT
Points
48