UFW без отслеживания соединения
Я использую UFW на веб-сервере с высоким трафиком (много трафика http/https) на Ubuntu (12.04 или 14.04).
Я попытался настроить параметры ядра, связанные с отслеживанием соединения, с некоторым успехом.
Однако, думая об этом, я не делаю NAT, поэтому я не думаю, что мне нужно отслеживание соединений, по крайней мере, для соединений через порт 80 или 443.
Я попытался следовать указаниям из этого вопроса с адаптациями, то есть:
sudo iptables -t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK
и моя необработанная таблица выглядит так:
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
Чтобы проверить, что все это работает, я запрашиваю экземпляр nginx на машине, используя wrk, используя 3 потока и 1000 соединений.
wrk -t 3 -c 1000 "http://<server_ip>/"
Так как они не должны отслеживаться, я не должен видеть их на счетчике контратаки.
Тем не менее, я делаю...
sudo sysctl -A | grep net.netfilter.nf_conntrack_count
net.netfilter.nf_conntrack_count = 1035
Я ясно вижу, как это значение увеличивается и уменьшается во время выполнения теста.
Что я делаю неправильно?
1 ответ
Вам также нужно правило OUTPUT.
-t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK
-t raw -A OUTPUT -p tcp --sport 80 -j NOTRACK