Проверка синхронизации tcp

У меня есть WatchGuard Firebox, который я недавно настроил. Все политики выглядят хорошо, и все соответствующие службы работают правильно.

Однако один или два (казалось бы) случайных узла продолжают блокироваться от выполнения HTTP-запросов к узлу 1:1 с NAT, который все остальные делают просто отлично.

Журнал брандмауэра говорит мне, что tcp syn checking failed и эти запросы используют порт назначения 64 для клиентов позади устройства и порт 50 для клиентов снаружи. Я наконец-то нашел эту опцию и отключил ее в разделе "Глобальные настройки" (которая оставляет неприятный вкус во рту), и это, похоже, сработало.

Тем не менее, документация очень тонкая. Может ли кто-нибудь объяснить мне, что именно выполняет / проверяет tcp syn, и как я могу сделать для нее соответствующую поправку в своей политике, а не отключать ее глобально (при условии, конечно, что существует более изящное решение, чем глобальное правило)?

2 ответа

Решение

От Сторожевой стражи:

Проверка TCP SYN

Глобальная настройка проверки TCP SYN: Включить проверку SYN TCP. Эта функция гарантирует, что трехстороннее рукопожатие TCP выполнено до того, как Firebox разрешит соединение для передачи данных.

Так что я думаю, что сторож не видит, как по какой-либо причине происходит обычное syn / syn ack / ack, и разрывает соединение.

Я работаю на WatchGuard. Проверка SYN предназначена только для того, чтобы убедиться, что TCP-квитирование было выполнено перед разрешением другого трафика. Даже если это отключено, мы все равно гарантируем, что TCP-квитирование выполнено правильно, и не влияет на нашу защиту TCP SYN Flood. Это безопасно выключить.

Он часто срабатывает из-за того, что тайм-ауты TCP на WatchGuard короче, чем тайм-ауты соединения сервер / клиент. Когда сервер / клиент снова общаются, WatchGuard предполагает, что соединение закрыто, и ему нравится снова видеть TCP-рукопожатие.

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