FortiGate FAQ - ファイアウォール / UTM

セッションのタイムアウト値は何秒ですか
ID
 : 
FG-21-0054
公開日
 : 
2019/04/01
更新日
 : 
2023/02/07
OS Ver
 : 
5.6, 6.0, 6.2, 6.4, 7.0, 7.2
FortiGateのセッションのタイムアウトのデフォルト値は、以下の通りです。
セッション生成後、以下の時間、当該セッションが無通信の場合はセッションを閉じます。

  1. TCP  :3,600秒
  2. UDP  :  180秒
  3. ICMP :   60秒

尚、TCP及びUDPは、このタイムアウト時間を変更することができます。変更時は、以下の優先順位で適用されます。
※タイムアウト値の変更は、CLIでのみ行うことが出来ます。

  1. アプリケーションリスト(config application list)のTTL
  2. F/Wサービス(firewall service custom)のTTL
  3. FWポリシー(config firewall policy)のTTL
  4. 個別ポート(config system session-ttl)のTTL
  5. グローバルデフォルト設定のTTL

TTLは、個々のF/Wポリシーで処理するセッションごとに割り当てられます。以下は、あるF/Wポリシーの表示例です。尚、セッションタイムアウトに関連しない項目は一部割愛しています。
該当のセッションを処理するF/Wポリシーで、どの アプリケーション、F/Wサービス が設定されているかは、以下F/Wポリシーを確認する事で判断できます。
下例では、app-sample という名前のアプリケーションリストと、"HTTP" という F/Wサービスが割り当たっていることを示します。尚、application-list 項を設定する場合は、set utm-status enable で事前にUTM機能を有効にしておく必要があります。
FGT60EXXXXXXXXXX # show full-configuration firewall policy 2 config firewall policy edit 2 set name "Sample Policy" set uuid 83ca38c4-3a67-51e9-6b3e-9437f3c23e08 set srcintf "lan" set dstintf "wan1" set srcaddr "all" set dstaddr "all" set action accept set utm-status enable set status enable set schedule "always" set service "HTTP" <- 2.F/Wサービス set session-ttl 600 set application-list "app-sample" <- 1.アプリケーションリスト set ssl-ssh-profile "deep-inspection" set nat enable next :

1.アプリケーションリスト(config application list)のTTL
アプリケーションリストのTTLは、以下のコマンドで確認することができます。
FGT60EXXXXXXXXXX # show application list <アプリケーションリスト名>

以下は、app-sample というアプリケーションリストの表示例です。この例では、2つのアプリケーション(ID:27210 と ID:15832)が定義されており、ID:27210 では、900秒のTTLが設定されています。 一方、ID:15832 には、TTLは設定されていません(デフォルト)。このように設定されていない、または session-ttl が 0 となっている場合は、特別にTTLは設定されておらず、当該セッションには、2.F/Wサービス以降で設定されているTTLが割り当たります。
FGT60EXXXXXXXXXX # show application list app-sample config application list edit "app-sample" config entries edit 1 set application 27210 set session-ttl 900 <- セッションタイムアウト値(TTL) next edit 2 set application 15832 next end next end

セッションタイムアウト値は、以下 set session-ttl コマンドで設定することができます。
FGT60EXXXXXXXXXX (1) # set session-ttl <TTL値>

また、TTLの設定範囲は、set session-ttl コマンドの後に ? を付与することで確認することができます。
FGT60EXXXXXXXXXX (1) # set session-ttl session-ttl Enter an integer value from <0> to <4294967295>.

2.F/Wサービス(firewall service custom)のTTL
F/WサービスのTTLは、以下のコマンドで確認することができます。
FGT60EXXXXXXXXXX # show firewall service custom <サービス名>

以下は、HTTP サービスの表示例です。この例では、300秒が設定されていることが判ります。
尚、set session-ttl コマンドが表示されない、もしくは 0 が設定されている(デフォルト)場合は、特別にTTLは設定されていないことを示します。
FGT60EXXXXXXXXXX # show firewall service custom HTTP edit "HTTP" set category "Web Access" set tcp-portrange 80 set session-ttl 300 <- セッションタイムアウト値(TTL) next end

セッションタイムアウト値の設定、また設定範囲の確認は、前項 1.アプリケーションリスト(config application list)のTTL と同様に set session-ttl コマンドで行います。

3.FWポリシー(config firewall policy)のTTL
FWポリシーのTTLは、F/Wポリシーの表示例にもある、以下のコマンドで確認することができます。
FGT60EXXXXXXXXXX # show full-configuration firewall policy <ID>

2.F/Wサービス(firewall service custom)のTTL と同様に、set session-ttl コマンドが表示されない、もしくは 0 が設定されている(デフォルト)場合は、特別にTTLは設定されていないことを示します。
セッションタイムアウト値の設定、また設定範囲の確認も同様で、set session-ttl コマンドで行います。

4.個別ポート(config system session-ttl)のTTL
個別ポートにTTLが設定されているかは、以下コマンドで確認します。
FGT60EXXXXXXXXXX # show full-configuration system session-ttl

以下は、コマンド実行例です。
以例のように、config port 配下に設定がある場合は、個別ポートにTTLが割り当てられています。config port以下に設定が無い場合は、個別ポートへの設定はありません。
以下では、80/tcp に、7200秒が、ICMPに 10秒がそれぞれ割り当てられています。
※set protocol 項は、IANAで定義されている番号です。(1=ICMP, 6=TCP, 17=UDP 等)。
FGT60EXXXXXXXXXX # show full-configuration system session-ttl config system session-ttl set default 3600 config port edit 1 set protocol 6 set timeout 7200 <- セッションタイムアウト値(TTL) set start-port 80 set end-port 80 next edit 2 set protocol 1 set timeout 10 <- セッションタイムアウト値(TTL) next end end

5.グローバルデフォルト設定のTTL
グローバル設定は、TCPとUDPで定義場所が異なります。以下それぞれのコマンドで確認することができます。
※ICMPはグローバルとして設定変更することはできません。
FGT60EXXXXXXXXXX # show full-configuration system global | grep udp-idle-timer set udp-idle-timer 180
FGT60EXXXXXXXXXX # show full-configuration system session-ttl | grep default set default 3600