
Ich verwende ufw auf einem Webserver mit hohem Datenverkehr (viel http/https-Datenverkehr) unter Ubuntu (12.04 oder 14.04).
Ich habe versucht, Kernelparameter für die Verbindungsverfolgung mitein gewisser Erfolg.
Wenn ich darüber nachdenke, verwende ich jedoch kein NAT und glaube daher nicht, dass ich zumindest für die Verbindungen über Port 80 oder 443 eine Verbindungsverfolgung benötige.
Ich habe versucht, den Anweisungen zu folgendiese Fragemit Anpassungen, das heißt:
sudo iptables -t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK
und meine Rohtabelle sieht folgendermaßen aus:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
NOTRACK tcp -- anywhere anywhere tcp dpt:http
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Um zu testen, ob alles funktioniert, fordere ich mit wrk eine Nginx-Instanz auf der Maschine mit 3 Threads und 1000 Verbindungen an.
wrk -t 3 -c 1000 "http://<server_ip>/"
Da diese nicht verfolgt werden sollen, sollte ich sie nicht in der Conntrack-Zählung sehen
Ich tue jedoch ...
sudo sysctl -A | grep net.netfilter.nf_conntrack_count
net.netfilter.nf_conntrack_count = 1035
Während ich den Test durchführe, kann ich deutlich sehen, wie dieser Wert steigt und fällt.
Was mache ich falsch?
Antwort1
Sie benötigen außerdem eine OUTPUT-Regel.
-t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK
-t raw -A OUTPUT -p tcp --sport 80 -j NOTRACK