NTP時刻同期の基礎と重要性 ― ログ調査・認証で時刻ズレが致命傷になる理由
「時計のズレなんて誤差レベルでしょ」と侮っていると、ある日突然全社員がADにログインできなくなる――これがNTP(Network Time Protocol)を軽視した結果起きる典型的な事故です。
時刻同期は、ITインフラの中で最も地味で、最もインフラ全体に致命的影響を与える領域です。ログ調査・認証・証明書・トランザクション・セキュリティイベントなど、ほぼあらゆるシステムが「正しい時刻が前提」で動いています。
本記事では、中小企業の情シスがNTPの基礎と運用上の押さえどころを理解し、時刻ズレ事故を防げるようになる知識を整理します。
NTPとは
NTP(Network Time Protocol)は、ネットワーク経由で正確な時刻を配信・同期するプロトコルです。1985年に登場した古い規格ですが、現在もインターネット・社内ネットワークの基盤として動き続けています。
NTPはUDP 123番ポートで通信し、ms(ミリ秒)レベルの時刻精度を実現します。
NTPの階層構造(Stratum)
NTPサーバには**Stratum(階層)**という概念があり、原子時計やGPSなどの一次時刻源からの距離を表します。
| Stratum | 概要 |
|---|---|
| Stratum 0 | 原子時計、GPS時刻源(時刻配信は行わない) |
| Stratum 1 | Stratum 0を参照する一次NTPサーバ |
| Stratum 2 | Stratum 1を参照(インターネット上の多くのNTPサーバ) |
| Stratum 3 | Stratum 2を参照(社内NTPサーバの一般的な階層) |
| Stratum 16 | 同期失敗状態(時刻配信不可) |
Stratum 16 になっているNTPサーバはクライアントから無視されます。トラブル時に「NTPサーバはあるのに同期できない」場合、Stratumが16になっていないか確認してください。
なぜ時刻同期が重要か ― 5つの致命的影響
① Kerberos認証の5分ルール
Active Directory、Microsoft 365のEntra ID Connect、UNIX系のKerberos環境では、クライアントとサーバの時刻差が5分以内でないと認証が成立しません。
時刻差が5分を超えると:
- ADにログインできなくなる
- 共有ファイルにアクセスできなくなる
- 業務サーバ・SaaSへのSSO認証が通らない
中小企業で発生する「朝突然全社員がログインできない」事故の多くは、ドメインコントローラーまたはクライアントの時刻ズレが原因です。
② TLS/SSL証明書の有効性検証
サーバ証明書には「有効開始日時」と「有効終了日時」が含まれています。クライアント側の時計が大きくズレていると、
- 「証明書がまだ有効ではありません」エラー
- 「証明書の有効期限が切れています」エラー
が発生し、Webサイト・社内アプリ・SaaSにアクセスできなくなります。
③ ログ調査が成立しない
セキュリティ事故対応・トラブル調査では、複数のサーバ・機器のログを時系列で並べて関連付けます。各機器の時刻がバラバラだと、
- どの順番で何が起きたかわからない
- 攻撃の痕跡を追いきれない
- 法的証拠としての価値が下がる
事故対応の現場で「ログを集めたが時刻がバラバラで時系列が再構成できない」のは最悪のシナリオです。
④ トランザクション処理・分散システム
データベースのトランザクションログ、分散ファイルシステム、レプリケーション、メッセージキュー等は、時刻情報をもとに整合性を保ちます。時刻がズレた状態で書き込みが続くと、
- レプリケーションが破綻
- ロックが解けないデッドロック発生
- 重複処理・処理漏れ
といった整合性問題に発展します。
⑤ 法令・監査要件
財務・金融・医療系の業務システムでは、時刻の正確性が法令・監査要件で求められるケースがあります。電子帳簿保存法、PCI DSS、ISMS監査などでは「時刻同期が機能していること」が評価項目に含まれます。
NTPサーバの選び方
公開NTPサーバ
| 提供元 | サーバ | 用途 |
|---|---|---|
| 国立研究開発法人NICT | ntp.nict.jp | 国内最高精度。中小企業の標準的選択 |
| Internet Multifeed (Interlink) | ntp.jst.mfeed.ad.jp | 国内安定運用 |
| Cloudflare | time.cloudflare.com | グローバル分散 |
| time.google.com | NTP + uniformly-distributed leap seconds | |
| Microsoft | time.windows.com | Windows標準 |
| プール型 | pool.ntp.org / jp.pool.ntp.org | ボランティアプール |
NICT(ntp.nict.jp)が中小企業の標準的な選択肢です。stratum 1で精度が高く、無料、IPv4/IPv6両対応。
社内NTPサーバを置くか
社員30名以下の規模なら、Active DirectoryのドメインコントローラーがNTPサーバ役を兼ねるだけで十分です。社員50名超やWindows以外の機器(Linux、IoT機器、ネットワーク機器)が多い場合は、専用の社内NTPサーバを置くと運用が安定します。
社内NTPサーバの選択肢:
- Windows Server(時刻サービス)
- Linux + chronyd / ntpd
- YAMAHAルーター(NTPサーバ機能搭載)
- 専用機(Microsemi、SyncServer等)
社内NTPサーバは外部のNICT等を上位参照し、社内クライアントは社内NTPサーバを参照する構成が標準です。
Active Directoryの時刻同期
Active Directory環境では、PDCエミュレータ役のドメインコントローラーが外部NTPと同期し、他のDC・クライアントはADの階層構造で時刻を引き継ぎます。
[NICT等の外部NTP]
│
[PDCエミュレータDC] ← 唯一外部参照
│
[他のDC]
│
[ドメイン参加クライアントPC]
設定例(PDCエミュレータDC上で実行):
w32tm /config /manualpeerlist:"ntp.nict.jp,0x9" /syncfromflags:manual /reliable:yes /update
Restart-Service w32time
w32tm /resync
クライアントPCはドメイン参加していれば自動的にDCを参照するため、個別設定は不要です。
時刻同期の確認コマンド
| コマンド | 用途 |
|---|---|
w32tm /query /status | 現在の時刻同期状態 |
w32tm /query /peers | 参照しているNTPピア一覧 |
w32tm /resync | 即時時刻同期 |
w32tm /stripchart /computer:ntp.nict.jp | 外部NTPとの時刻差を継続表示 |
Linux/ネットワーク機器の時刻同期
Linux
最近のディストリビューション(Ubuntu 22.04+, RHEL 9+ 等)は chronyd が標準。/etc/chrony.conf に NTPサーバを記述します。
server ntp.nict.jp iburst
server ntp.jst.mfeed.ad.jp iburst
確認:chronyc tracking、chronyc sources
ネットワーク機器(YAMAHA、Cisco、FortiGate等)
各機器の管理画面でNTPサーバアドレスを設定します。設定漏れの機器があると、その機器のログだけ時刻ズレを起こすため、社内全機器の棚卸しと一括設定を実施してください。
IoT機器・複合機
複合機、監視カメラ、入退室システム、IoTセンサーなどは、初期設定でNTP未設定のまま運用されているケースが多発しています。導入時のチェックリストに「NTP設定」を必ず含めてください。
時刻同期で陥りやすい失敗
① ファイアウォールで123/UDPがブロックされている。 内部から外部NTPへの通信が遮断されると、社内が一斉に時刻ズレを起こします。アウトバウンドUDP 123を許可してください。
② Hyper-V/VMwareの仮想マシンで二重同期。 ホストのHyper-V時刻同期サービスとゲストOSのNTPが両方有効だと、競合して時刻が振動することがあります。仮想マシン側はホスト連携を無効化し、NTPのみで同期するのが推奨です。
③ ドメインコントローラーが複数あるが、PDCエミュレータが分かっていない。 PDCエミュレータがどのDCか把握せずに設定変更すると、AD全体の時刻同期が破綻します。
④ 海外サービスのNTPサーバを参照してレイテンシ大。 距離の遠いNTPサーバを参照すると精度が下がります。日本国内のNTPサーバを優先してください。
⑤ 1台だけ時刻同期から外れている機器を放置。 古い複合機・IoT機器・隔離環境のサーバ等。「全社全機器の時刻が同じである」は当たり前ではないので、年1回の棚卸しが必要です。
トラブル切り分けチェックリスト
時刻ズレが疑われたとき、以下の順で確認してください。
- 各クライアントの
w32tm /query /statusで同期先と最終同期時刻を確認 - PDCエミュレータDCで外部NTPとの時刻差を
w32tm /stripchartで確認 - ファイアウォールでUDP 123のアウトバウンドが許可されているか確認
- PDCエミュレータの
/syncfromflags:manualが設定されているか確認 - 仮想マシンのホスト連携時刻同期が無効化されているか確認
- ネットワーク機器・複合機・IoT機器のNTP設定を棚卸し
- 各機器のログサーバ(SIEM等)の時刻も同期されているか確認
まとめ
NTP時刻同期は、Kerberos認証・証明書・ログ調査・トランザクション・監査要件のすべての基盤です。中小企業の標準は「NICT(ntp.nict.jp)→ PDCエミュレータDC → 各クライアント」の階層構成で、Linux・ネットワーク機器・IoT機器も含めた全社全機器の同期統一が鉄則です。「時刻なんて誤差レベル」と思っているうちは大丈夫ですが、5分ズレた瞬間に全社が止まります。年1回の棚卸しと監視通知を運用に組み込んでください。
情シス365のSupport365では、Active Directory運用、ネットワーク機器の時刻同期統一を含めて中小企業のITインフラを支援しています。無料ヒアリングからお気軽にどうぞ。