UTM/NGFWのSYNチェックって何?
ファイアウォールのステートフルインスペクション機能にまつわるお話。
ステートフルの場合、通信の行きと戻りをセッションという単位で管理します。
# 5タプルとか6タプルは他で調べてね。
セッションは以下のような流れでオープンしたりクローズします。
1. SYNを受信
2. ポリシーチェックで許可ならTCPハーフオープンセッションになる
3. SYN/ACKおよびACK受信で3WAYハンドウェイシェイク完了
4. セッションがオープン状態に移行する
5. RST受信または4WAYクローズ、機器に設定されているセッションタイムアウト時間をむかえるとクローズ状態に移行する
で、タイトルのお話ですがセッションに該当する通信はACKまたはPSH/ACKを許可する設定がだいたいデフォルト設定です。SYNフラグのビットが立っているかどうかパケットをチェックして、フラグが立っていたらドロップします。
アプリケーションの実装によっては同一セッションなのにSYNを送る可能性があります。(少ないポート番号数で順繰り使うような場合など)
設定で許可されていないとドロップされるので、機器をテストしていたり導入して問題がある時はまず疑ってかかるポイントになりますね。
SYNチェックOFFしていてもポリシーで通信の許可/拒否が判定されるので、IPアドレスやポート番号を絞り込んだ設計することで影響範囲を縮小できます。