FortiGate

【図解】FortiGateのmtuとtcp-mss設定~Ciscoのadjust-mssとの違い~

前提

MTU と MSS の基礎知識は以下で手に入れて下さい。

【図解】MTUとMSS, パケット分割の考え方 ~IPフラグメンテーションとTCPセグメンテーション~
MTU と MSS の違い MTU (Maximum Transmission ...

FortiGate と Cisco の MTU 設定と MSS 調整設定

FortiGate には Cisco と同様にインタフェースに対して MTU や MSS 調整設定をすることができます。

MTU については両機器に差異はありません。出力インタフェースの最大転送ユニットを指定します。以下では、MTU=1480 の設定例を示しています。

[Cisco の MTU 設定]

(config)# interface giga 0/0
(config-if)# ip mtu 1480

[FortiGate の MTU 設定]

# config system interface
# edit wan1
# set mtu-override enable
# set mtu 1480

ですが MSS 調整については細かい挙動が異なります。

Cisco の MSS 調整設定

Cisco の "ip tcp adjust-mss" 設定を入れたインタフェースは、TCP syn および TCP syn/ack のいずれにおいても、TCP のオプション#2 [MSS] を書き換える動作をします。

MSS はネゴシエーションではなく単一方向でそれぞれ通知しあうものなので、クライアントはサーバに自分の MSS(パケット当たりで受信できる TCP ペイロードの大きさ)を伝えますし、その値が何であるかを考慮せず、サーバはクライアントに自分の MSS を伝えます。

"ip tcp adjust-mss 1440" を設定することで、クライアント⇒サーバの TCP syn の MSS も書き換わるし、サーバ⇒クライアントの TCP syn/ack の MSS も書き換わります。

FortiGate の set tcp-mss 設定

FortiGate の場合は set tcp-mss 1440 を設定したインタフェースに入ってくる TCP syn および TCP syn/ack の MSS を書き換えますが、インタフェースから出力されるパケットについては MSS の書き換えを行いません。

なので Cisco と同様の挙動にするには、通過するインタフェース両方に set tcp-mss を設定する必要があります。

ただ、ここにも 1 つ問題があります。現状の FortiOS (5.6 や 6.) では PPPoE 設定をしているインタフェースには set tcp-mss が効かないそうです。

この問題を回避するには、インタフェースレベルでの MSS 調整設定を諦め、ポリシーレベルでの MSS 調整設定を入れる必要があります。

# config firewall policy
# edit 1
# set tcp-mss-sender 1440
# set tcp-mss-receiver 1440

このように両方設定することで Cisco と同様、クライアントにもサーバにも書き換えた MSS を通知することができます。

【厳選 4 冊】ネットワークセキュリティを学ぶための本

サイバー攻撃に対抗せよ。UTMを使った企業LANの構築/管理を徹底解説。ファイアウォールやアンチウイルスなどによる防御。拠点間を安全につなぐインターネットVPN。Office365などのクラウド利用に役立つSD‐WAN。FortiOS6対応。ネットワークエンジニア必読!
本書では、セキュリティエンジニアとして押さえておきたい知識や技術などを、体系的に、わかりやすく解説しています。セキュリティ業務に関わる2~3年目のエンジニアはもちろん、一般社員のセキュリティリテラシー向上にも役立つ1冊です。
【想定する読者層】・セキュリティの初学者・ハッカーにあこがれている人・CTFに興味がある人、または参加している人・WindowsとLinuxの混在環境を構築したい人・コンピュータ愛好家・Linux初心者
Windows(ウィンドウズ)、Linux(リナックス)に始まり、現在主流となっているCloud(クラウド)、Phishing(フィッシング)、そして禁断となっている(マルウェア)に至るまで、具体的な最新情報をそれぞれ選りすぐり解説しています。

コメント

タイトルとURLをコピーしました