Ich benutze HAP jetzt eine Weile und versuche jetzt, den DDoS-Schutz pro Frontend so zu konfigurieren, dass eine Verbindung für 5 Minuten blockiert wird, wenn sie mehr als 200 Anfragen pro Sekunde von derselben Quell-IP empfängt, wobei ich berücksichtige, dassmehrere Quell-IPskann/wird verwendet, um den Angriff zu starten. Ich habe mir verschiedene Blogbeiträge und Beiträge im Internet angesehen und je mehr ich sehe, desto verwirrter werde ich hinsichtlich der richtigen Konfiguration, die ich für meinen Zweck benötige.
Nachfolgend sind alle Konfigurationen aufgeführt, die ich bisher gesammelt habe:
backend ip_rates_abuse
stick-table type ip size 200k expire 5m store gpc0,conn_cur,conn_rate(10s),http_req_rate(10s),http_err_rate(10s)
frontend fe_dev_mydomain_com
.....
## ----- TCP Layer DDoS protection ------------ ##
timeout tarpit 15s
tcp-request inspect-delay 5s
#
tcp-request content reject if { src_conn_rate(ip_rates_abuse) ge 200 }
tcp-request content reject if { src_conn_cur(ip_rates_abuse) ge 500 }
tcp-request content reject if { src_get_gpc0(ip_rates_abuse) gt 0 }
tcp-request session track-sc0 src table ip_rates_abuse
#
## ----- Application Layer DDoS protection ------------ ##
acl too_many_reqs sc_http_req_rate(0) gt 200
http-request track-sc1 src table ip_rates_abuse
http-request set-var(txn.ratelimited) str(RATE-LIMITED) if too_many_reqs
http-request capture var(txn.ratelimited) len 12
http-request deny deny_status 429 if too_many_reqs
.....
use_backend be_waf if no_tarpit || tarpit_max_capacity
und dann im Backend:
backend be_waf
acl too_many_clicks sc1_http_req_rate gt 200
acl mark_as_abuser sc0_inc_gpc0(ip_rates_abuse) gt 0
tcp-request content track-sc1 src table ip_rates_abuse
tcp-request content reject if too_many_clicks mark_as_abuser
.....
Ich bin mir ziemlich sicher, dass ich einige Dinge nicht verstanden habe, aber habe ich es richtig gemacht? Sieht für mich ein bisschen übertrieben aus und scheint auch nicht zu funktionieren. Kann mir bitte jemand die Mindestkonfiguration vorschlagen, die ich haben sollte, um mein Ziel zu erreichen?
-S