Для чего вообще нужно правило 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 могут быть добавлены для повышения производительности брандмауэра.

У меня нет никакого теста, чтобы подтвердить такое предположение.

Другие вопросы по тегам