Networking
tcp 同步檢查
我有一個最近配置的 WatchGuard Firebox。所有策略看起來都很好,所有適當的服務似乎都在正常工作。
但是,一兩個(看似)隨機節點不斷被阻止向 1:1 NATed 主機發出 HTTP 請求,而其他人都做得很好。
防火牆日誌告訴我
tcp syn checking failed
,這些請求對設備後面的客戶端使用目標埠 64,對外部客戶端使用埠 50。我終於找到了這個選項並在全域設置下禁用了它(這在我的嘴裡留下了不好的味道),這似乎已經成功了。不過,該主題的文件非常薄。誰能向我準確解釋 tcp syn 檢查的作用/是什麼,以及我如何在我的策略中適當地考慮它而不是全域禁用它(當然,假設有一個比全域規則更優雅的解決方案)?
來自守望者:
TCP SYN 檢查
全域 TCP SYN 檢查設置為: 啟用 TCP SYN 檢查 此功能確保在 Firebox 允許數據連接之前完成 TCP 三向握手。
所以我想看守人員沒有看到通常的 syn/syn ack/ack 由於任何原因而發生並終止連接。
我為 WatchGuard 工作。SYN 檢查只是為了確保在允許其他流量之前已經發生了 TCP 握手。即使關閉此功能,我們仍然可以確保我們觀察到的 TCP 握手正確完成,並且不會影響我們的 TCP SYN 洪水保護。關閉是安全的。
它通常會由於 WatchGuard 上的 TCP 超時時間短於伺服器/客戶端連接上的超時時間而觸發。當伺服器/客戶端再次交談時,WatchGuard 假定連接已關閉,並希望再次看到 TCP 握手。