J'utilise iptables sur Ubuntu Server. C'est un serveur Web sur un VPS.
Je voudrais savoir si je devrais limiter les paquets. Si oui, que dois-je limiter? Et dois-je le faire globalement ou par adresse IP?
Référence
J'ai vu des gens suggérer ceci:
# Limit packet traffic on a TCP or UDP port:
iptables -A INPUT -p $proto --destination-port $port --syn -m state --state NEW -m limit --limit $lim/s --limit-burst $lb -j ACCEPT
# Limit established/related packet traffic:
iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit $lim/s --limit-burst $lb -j ACCEPT
Ce qui précède, une limite de taux globale ne semble pas très utile, du moins pour les cas que je peux imaginer. Y a-t-il un cas où je devrais limiter le taux globalement?
Je pense qu'une limite de débit par IP est généralement meilleure:
# Add the IP to the list:
iptables -A INPUT -p $proto --destination-port $port --syn -m state --state NEW -m recent --set --name RATELIMITED
# Drop if exceeded limit:
iptables -A INPUT -p $proto --destination-port $port --syn -m state --state NEW -m recent --update --seconds $sec --hitcount $hc --rttl --name RATELIMITED -j DROP
# Accept if inside limit:
iptables -A INPUT -p $proto --destination-port $port --syn -m state --state NEW -j ACCEPT
Question supplémentaire: les adresses IP distantes peuvent être usurpées. Comment les limiter correctement?
Ajout d'une autre question pour cela:
/server/340258/how-to-rate-limit-spoofed-ips-with-iptables
L'objectif
que j'essaie d'atténuer le risque de certaines attaques D / DoS et d'abus général.
Connexes
Comment puis - je limitons les connexions SSH avec iptables?
PS : Je viens d'ouvrir une question connexe juste pour ICMP et elle inclut la limitation de débit pour ce protocole: iptables | Types d'ICMP: lesquels sont (potentiellement) nuisibles?