Qual è il modo migliore per difendere il tuo sito web dagli attacchi POST / GET HTTP flood?
a seconda dell'implementazione, può essere fatto in tre (3) modi:
questo è molto più pratico considerando che stai decidendo per il destino del pacchetto giusto prima che raggiunga l'altra estremità o anche se avesse già completato l'handshake a 3 vie. considera questi esempi:
a. limitare il numero di connessioni simultanee per IP sul firewall. questo ti darà la possibilità di definire quante connessioni un cliente può richiedere simultaneamente.
in iptables, puoi farlo da:
# iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j DROP
in openbsd, puoi farlo in pf.conf:
pass in on $ext_if proto tcp to $web_server \
port www keep state \
(max 200, source-track rule, max-src-nodes 100, max-src-states 3)
dove significa:
Limit the absolute maximum number of states that this rule can create to 200
Enable source tracking; limit state creation based on states created by this rule only
Limit the maximum number of nodes that can simultaneously create state to 100
Limit the maximum number of simultaneous states per source IP to 3
b. per pf, puoi filtrare il traffico facendo corrispondere i pacchetti TCP basati su flag e decidere la tua prossima regola.
Sebbene non esista una soluzione in grado di fornire una protezione completa contro gli attacchi DoS come le inondazioni. La mitigazione contro gli attacchi DoS potrebbe richiedere l'aiuto dell'ISP upstream. Ma ciò che possiamo fare per difendere il nostro sito Web è la scalabilità del nostro sito web con load balancer e caching. Raccomando una lettura su questo documento "Utilizzo del Load Balancer per combattere gli attacchi DDoS" .
Leggi altre domande sui tag http attacks denial-of-service flooding