FortiGateの運用において、正確な時刻設定は見落とされがちですが、ログ解析やHA構成の安定性に直結する重要な要素です。本記事では、NTPサーバー設定の基本から、時刻同期がうまくいかない場合のトラブルシューティングまで、実機での経験をもとに解説します。
セキュリティインシデント発生時、FortiGateのログ時刻が5時間ずれていたため、他システムとの時系列照合に苦労したことがあります。タイムゾーン設定とNTP同期の両方が正しく設定されていなかったことが原因でした。
また、HA構成のペア機で時刻が30秒以上ずれていたため、フェイルオーバー時に予期しない動作が発生したケースもありました。NTP設定は初期構築時に必ず確認すべき項目です。
FortiGateにおける正確な時刻設定は、単なる表示上の問題ではありません。以下のような重要な機能に直接影響します。
表1: 時刻設定が影響する主要機能
| 影響範囲 | 問題の内容 | 重要度 |
|---|---|---|
| ログ管理 | インシデント対応時の時系列分析が困難になる | 高 |
| SSL証明書 | 証明書の有効期限判定エラーが発生 | 高 |
| HA構成 | 時刻ずれによる同期障害・切り替え失敗 | 高 |
| スケジュール機能 | ポリシーの時間帯制限が正しく動作しない | 中 |
図1: NTP設定が必須となるケース
FortiGateのGUIから設定する場合、以下の手順で実施します。
System > Settings へ移動し、System Time セクションを開きます
Timezone で「(GMT+9:00) Tokyo」を選択(日本の場合)
Enable NTP にチェックを入れ、NTP Server欄に「ntp.nict.jp」などを入力
CLIでは、より柔軟な設定が可能です。複数のNTPサーバーを指定し、優先順位を設定できます。
config system ntp
set ntpsync enable
set type fortiguard
set syncinterval 60
config ntpserver
edit 1
set server "ntp.nict.jp"
set ntpv3 enable
next
edit 2
set server "ntp1.jst.mfeed.ad.jp"
set ntpv3 enable
next
end
end
config system global
set timezone 26
endタイムゾーン番号はFortiOSバージョンによって異なる場合があります。「get system global」コマンドで現在の設定を確認してから変更してください。
NTP設定後、正しく動作しているかを確認するコマンドをいくつか紹介します。
# 現在の時刻とNTP同期状態を確認
get system status | grep -i time
# NTP設定を表示
show system ntp
# NTPサーバーとの同期状態を確認
diagnose sys ntp status
# 詳細な同期情報を表示
execute date正常に同期している場合の出力例:
# diagnose sys ntp status
synchronized: yes
server: ntp.nict.jp
stratum: 2
reference time: Thu Jan 16 15:30:45 2025
system time: Thu Jan 16 15:31:12 2025
offset: 0.002 sec
round trip delay: 0.015 sec表2: NTP同期状態の判定基準
| 項目 | 正常値 | 異常の兆候 |
|---|---|---|
| synchronized | yes と表示される | no または表示なし |
| stratum | 1〜4程度(小さいほど正確) | 16(未同期状態) |
| offset | ±0.1秒以内 | 1秒以上のずれ |
| round trip delay | 0.1秒以内(LAN内はさらに小) | 1秒以上 |
図2: NTP同期トラブルの発生頻度
最も多いのがネットワーク経路の問題です。FortiGateからNTPサーバー(UDP 123番ポート)への通信が許可されていない場合に発生します。
# NTPサーバーへの疎通確認
execute ping ntp.nict.jp
# NTPポートへの到達確認(別の方法)
diagnose sniffer packet any "host ntp.nict.jp and port 123" 4 0 a対処法:管理用インターフェースまたはWAN側インターフェースから、NTPサーバーへのアウトバウンド通信を許可するポリシーを作成します。特にLocal-outポリシーの確認が重要です。
初期設定時や長期間電源を切っていた場合、時刻が大幅にずれていることがあります。NTPは通常、徐々に時刻を調整するため、大きなずれがあると同期に時間がかかります。
# 手動で時刻を設定(yyyy-mm-dd hh:mm:ss形式)
execute date 2025-01-16 15:30:00
# その後NTP同期を有効化
config system ntp
set ntpsync enable
end
# 即座に同期を試行
execute ntp syncNTPで正しい時刻を取得していても、タイムゾーン設定が間違っているとログの時刻表示がずれます。日本の場合はGMT+9:00を設定する必要があります。
# 現在のタイムゾーン確認
get system global | grep timezone
# タイムゾーンを日本時間に設定
config system global
set timezone 26
end企業環境では、セキュリティポリシー上、インターネット上の公開NTPサーバーへの直接アクセスが制限されている場合があります。その場合は社内NTPサーバーを経由する設定が必要です。
config system ntp
set ntpsync enable
set type custom
set syncinterval 60
config ntpserver
edit 1
set server "192.168.1.10"
set ntpv3 enable
set interface "internal"
next
edit 2
set server "192.168.1.11"
set ntpv3 enable
set interface "internal"
next
end
end社内NTPサーバーへの通信を許可するポリシーが必要です。特にLocal-outポリシーの設定が重要になります。
config firewall local-in-policy
edit 1
set intf "internal"
set srcaddr "all"
set dstaddr "all"
set service "NTP"
set schedule "always"
next
end社内NTPサーバーを使用する場合、そのサーバー自体が正確な時刻源(上位NTPサーバーやGPS)と同期していることを確認してください。階層構造が深くなるほど精度が低下します。
FortiGateのNTP設定は、ログ管理やHA構成の安定運用に不可欠です。初期構築時に正しく設定し、定期的に同期状態を確認することで、トラブルを未然に防げます。特にHA構成では両機器の時刻同期が重要なため、初期設定時の確認を忘れないようにしましょう。
- タイムゾーンとNTPサーバーの両方を正しく設定する
- 「diagnose sys ntp status」で同期状態を定期確認
- 社内NTPサーバー利用時はLocal-outポリシーの設定が必須


