NTP
NTP ポート ガイド: UDP 123 での時刻同期
NTP がシステムの同期を維持する方法、UDP 123 に到達可能なタイミング、クロック ドリフトをテストする方法、および NTP 増幅の悪用を防ぐ方法を理解します。
- 既定ポート
- 123
- プロトコル
- UDP
- 主な用途
- ネットワーク時刻同期
NTPポートとは何ですか?
NTP (ネットワーク タイム プロトコル) は、サーバー、ワークステーション、ネットワーク デバイス、データベース、ログ、分散システム全体でクロックを同期します。標準 NTP は UDP ポート 123 を使用し、クライアントはタイム サーバーに正確な時刻を要求し、ローカル クロックを徐々に調整します。
ポート 123 はデフォルトの NTP ポートです
ほとんどのオペレーティング システム、ルーター、ハイパーバイザー、およびタイム アプライアンスは、NTP クライアントとサーバーの通信に UDP 123 を使用します。
> 正確な時刻が安心と運用をサポート
認証、証明書、ログ、データベース、インシデントのタイムライン、分散システムはすべて、クロックが一致するほど近いかどうかに依存します。
NTP の仕組み
NTP クライアントは、定期的に UDP 123 経由で 1 つ以上のタイム サーバーにリクエストを送信します。サーバーは、クライアントがオフセット、遅延、ジッターを推定できるようにするタイムスタンプを返します。その後、クライアントは、ドリフトが大きすぎない限り、中断を伴うジャンプを行わずにローカル クロックを調整します。
NTP の導入は多くの場合、階層的に配置されます。 Stratum 0 は、GPS や原子源などの基準クロックです。ストラタム 1 サーバーはそれらの参照に直接接続し、下位ストラタム サーバーは時間をさらにネットワークに分散します。ほとんどの組織は、信頼できるアップストリーム ソースを使用し、内部 NTP を自社のシステムに提供する必要があります。
NTP クライアントと NTP サーバーの比較
NTP クライアントは、設定されたタイム ソースに向けて UDP 123 へのアウトバウンド アクセスを必要とします。 NTP サーバーは、サービスを提供するクライアントからの受信 UDP 123 を必要とします。これらはファイアウォールに関するさまざまな質問であり、これらを混同すると時刻同期が失われる一般的な原因になります。
ワークステーションとアプリケーション サーバーは通常、クライアントとしてのみ機能します。ドメイン コントローラー、ネットワーク タイム アプライアンス、監視インフラストラクチャ、および内部タイム ハブは、フリートの残りの部分のサーバーとして機能する場合があります。
ポート 123 を開く必要がある場合
信頼できる外部または内部のタイム ソースと同期する必要があるシステムからのアウトバウンド UDP 123 を許可します。既知のクライアントに意図的に NTP を提供するサーバー上でのみ受信 UDP 123 を許可します。
容量、レート制限、監視、および悪用制御を備えた公共タイム サービスとして意図的に運用されている場合を除き、NTP サーバーをインターネットに広く公開しないでください。パブリック NTP が正しく構成されていないと、リフレクション攻撃や増幅攻撃に悪用される可能性があります。
NTP を開く前に
UDP 123 を許可する前に、どのシステムがクライアントで、どのシステムがサーバーで、どのアップストリーム タイム ソースが信頼できるかを決定してください。環境で chrony、systemd-timesyncd、ntpd、Windows タイム サービス、ドメイン階層、または専用アプライアンスを使用しているかどうかを確認します。
ポート チェッカーは到達可能性の向上に役立ちますが、時刻同期はプロトコル レベルとクロック レベルでも検証する必要があります。 chronyc、ntpq、w32tm、timedatectl、またはモニタリング データを使用して、オフセット、ストラタム、ソース選択、およびドリフトを確認します。
Windows、Linux、およびネットワーク デバイスで NTP を構成する方法
Windows ドメインでは、Windows タイム サービスは通常、信頼できるアップストリーム ソースに対して構成された PDC エミュレータを使用して、ドメイン階層を通じてドメイン メンバーを同期します。スタンドアロン Windows サーバーは、稼働時に w32tm と UDP 123 のファイアウォール ルールを構成できます。
Linux では、最新のディストリビューションでは chrony が一般的ですが、ntpd および systemd-timesyncd も表示されます。信頼できるプールまたは内部サーバーを構成し、ホストが時間を提供する場合にのみ UDP 123 を許可し、オフセットとソースの状態を監視します。
可能な場合、内部 NTP ソースにあるネットワーク デバイス、ポイント スイッチ、ルーター、ファイアウォール、およびアプライアンス上。正確なデバイス時刻により、ログ、証明書、VPN、およびインシデント調査の信頼性が大幅に高まります。
- クライアント パス: システムには、信頼できるタイム ソースへのアウトバウンド UDP 123 が必要です。
- サーバー パス: サーバーが対象のクライアント ネットワークからのみ受信 UDP 123 を必要とする時間。
- ソース ポリシー: 監査されていないランダムなサーバーではなく、信頼できるアップストリーム、内部タイム ハブ、またはアプライアンスを使用します。
- ヘルスチェック: フリート全体のオフセット、ストラタム、ジッター、到達可能性、およびソースの変更を監視します。
NTP ポート 123 をテストする方法
まず、クライアントと目的のタイム サーバーの間で UDP 123 が到達可能かどうかを確認します。次に、プラットフォームに応じて、chronyc tracking、chronycsources、ntpq -p、timedatectl timesync-status、または w32tm /query /status を使用して実際の同期を確認します。
NTP サーバーを運用している場合は、既知のクライアント ネットワークからテストし、未承認のネットワークからクエリできないことを確認します。インターネットに接続されたサービスの場合は、到達可能性だけでは構成が安全であるとは証明できないため、リクエストの量と応答パターンを監視してください。
一般的な NTP トラブルシューティングのケース
NTP が同期していない場合、クライアントは UDP 123 からブロックされているか、間違ったサーバーを使用しているか、オフセットが高いためにソースを拒否しているか、タイム サーバーのホスト名を解決できない可能性があります。ホスト時間、ゲスト ツール、および NTP が相互に競合している場合にも、仮想マシンがドリフトする可能性があります。
サーバーに到達できるがクライアントがまだドリフトしている場合は、ストラタム、リープ ステータス、ソースの選択、ファイアウォールの状態、NAT の動作、および複数のタイム システムが同時に構成されているかどうかを検査します。 Windows ドメインの場合は、すべてのホストを個別に変更する前に、ドメイン時間階層を確認してください。
NTP のセキュリティ チェックリスト
NTP サーバーにクエリできるユーザーを制限し、廃止された高増幅コマンドを無効にし、NTP ソフトウェアにパッチを当て続け、異常なトラフィックの急増を監視します。すべてのホストがランダムなパブリック サーバーにクエリを実行するよりも、内部時間の分散を優先します。
重要な環境の場合は、複数の信頼できる時刻ソースを使用し、過度のオフセットについて警告し、信頼できる時間パスを文書化し、インシデント対応チェックに時刻同期を含めます。時間が合わないと、証明書、認証、ログの関連付け、およびスケジュールされたジョブが破損する可能性があります。
よくある質問
NTP はどのポートを使用しますか?
NTP はデフォルトで UDP ポート 123 を使用します。クライアントは UDP 123 上のサーバーに時刻要求を送信し、サーバーはクライアントに時刻を提供するときに UDP 123 をリッスンします。
NTP は TCP ですか、それとも UDP ですか?
標準 NTP は、TCP ではなく UDP を使用します。 NTP をテストしている場合は、ファイアウォールと診断ツールが UDP 123 を考慮していることを確認してください。
ポート 123 をインターネットに対して開いておく必要がありますか?
レート制限、監視、および十分な容量を備えたパブリック NTP サービスを意図的に実行する場合のみ。ほとんどの組織は、受信 UDP 123 を信頼できる内部クライアントに制限する必要があります。
ポート 123 に到達できるのに時間がまだ間違っているのはなぜですか?
到達可能性は NTP の一部にすぎません。選択したソース、オフセット、ストラタム、ジッター、DNS、ファイアウォールの方向、仮想マシンの時間設定、および別のタイム サービスがクロックをオーバーライドしているかどうかを確認します。