Проверка синхронизации 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-рукопожатие.