Для чего вообще нужно правило ACK allow в iptables?
Я столкнулся с некоторой конфигурацией iptables с входящими правилами, начинающимися с правила, которое разрешает все TCP-пакеты с флагом ACK, за которыми следуют все правила порта обслуживания obvius. Это почему? Сервер по-прежнему отвечает с этим правилом отключено. Есть ли полезный прием ACK для других портов, кроме обслуживаемых?
1 ответ
Человек, который разработал брандмауэр, вероятно, лучший человек, чтобы ответить на why is this here?
вопрос.
Если я попытаюсь найти полезный вариант использования:
Предпосылка: пакеты TCP с флагом ACK являются общими
Предпосылка: сначала остановим оценку при сопоставлении ACCEPT, DROP, REJECT, etc..
правило
Предположение: пакеты ACK в основном безвредны
#Accept any TCP Acknowlegements and let the OS / Service handle any issues
-A INPUT -m tcp -p tcp --tcp-flags ACK -j ACCEPT
-A INPUT -m tcp -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m tcp -p tcp -m state --state NEW --dport 80 -j ACCEPT
...
...
-A INPUT -j DROP
Вывод: операторы ACK могут быть добавлены для повышения производительности брандмауэра.
У меня нет никакого теста, чтобы подтвердить такое предположение.