時刻が大きく変更されないように Windows タイム サービスを構成する方法

文書翻訳 文書翻訳
文書番号: 884776 - 対象製品
すべて展開する | すべて折りたたむ

目次

はじめに

Windows オペレーティング システムには、Kerberos 認証プロトコルで使用されるタイム サービス ツール (W32Time サービス) が含まれています。Kerberos 認証は、関連するコンピューター間の時間差が最大許容範囲内であれば動作します。既定では 5 分です。または、タイム サービス ツールをオフにし、サードパーティ製のタイム サービスをインストールすることもできます。

タイム サービス ツールの目的は、Microsoft Windows 2000 またはそれ以降のバージョンの Windows オペレーティング システムを搭載している組織内のすべてのコンピューターで、共通の時刻が使用されるようにすることです。 共通の時刻が適切に設定されるように、タイム サービスでは権限を制御する階層関係が使用されます。Windows ベースのコンピューターでは、既定で以下の階層構造が使用されます。
  • すべてのクライアント デスクトップ コンピューターは、認証ドメイン コントローラーを権限のあるタイム ソースとして指定します。
  • ドメイン内のすべてのサーバーは、クライアント デスクトップ コンピューターと同じ手順に従います。
  • ドメイン内のすべてのドメイン コントローラーは、プライマリ ドメイン コントローラー (PDC) 操作マスターをタイム ソースとして指定します。
  • すべての PDC 操作マスターは、ドメインの階層構造に従ってタイム ソースを選択しますが、階層番号付けに基づいて、親ドメイン コントローラーを使用することもできます。

    注: 階層番号は、タイム サーバーがプライマリ参照ソースにどれだけ近いかを定義します。番号が小さいほど、サーバーがプライマリ タイム ソースに近いことを示します。
この階層構造では、フォレストのルートにある PDC 操作マスターが、組織に対して権限を持つタイム サーバーになります。権限のあるタイム サーバーの時刻は、ハードウェアから供給されるように構成することを強くお勧めします。権限のあるタイム サーバーがインターネット上のタイム ソースと同期するように構成した場合、認証は行われません。また、サーバーおよびスタンドアロン クライアントでの時刻の修正幅の設定を小さくすることをお勧めします。これらの推奨事項に従うことにより、ドメインの時刻の正確性が向上します。

詳細

時刻のロールバックを確認した結果、数日、数か月、数年、または数十年未来または過去の時刻をコンピューターが採用する場合があることが判明しました。コンピューターの時刻が先に進むか後に戻ると、次のような問題が発生することがあります。
  • コンピューター アカウント、ユーザー アカウント、および信頼関係のパスワードが期限前に更新されることがあります。
  • Active Directory ディレクトリ サービスのレプリケーションで、隔離が行われたことが NTDS レプリケーション イベント 2042 に示されることがあります。
  • コンピューター アカウント、ユーザー アカウント、または信頼関係のパスワードの不一致は、"権限ある回復" によって回復されます。このような不一致からの回復では、影響を受けたすべてのアカウントおよび信頼関係について、手動によるパスワードの再設定が必要な場合があります。

先に進む時刻と時刻のロールバックを防ぐ方法

コンピューターが再起動されて電源サイクルが再開始された時点で、BIOS はコンピューターのマザーボード上にあるローカル EPROM に時刻を保持しています。Windows が起動するとき、カーネルは BIOS から現在の時刻を取得します。この現在の時刻は、W32Time サービスが別のタイム ソースとの同期を行えるようになるまで、初期設定時刻として使用されます。

Windows 32 タイム サービスは、MaxPosPhaseCorrection および MaxNegPhaseCorrection という 2 つのレジストリ エントリをサポートします。これらのエントリは、ローカル コンピューター上のタイム サービスが受け付けるサンプルがリモート コンピューターから送信されたものである場合には、サンプルを制限します。

安定した状態で実行されているコンピューターがタイム ソースからタイム サンプルを受信すると、MaxPosPhaseCorrection および MaxNegPhaseCorrection のレジストリ エントリで設定されたフェーズ修正範囲に照らしてサンプルがチェックされます。タイム サンプルが 2 つのレジストリ エントリで設定された範囲内に収まっている場合、このサンプルは受け付けられ、さらに処理されます。タイム サンプルがこれらの上限と下限の範囲内に収まっていない場合、タイム サンプルは無視され、W32Time プライベート ログ ファイルに次のようなタイム サービスのメッセージが記録されます。
*TOO BIG*
管理者が正または負のフェーズ修正の値を小さくした場合、コンピューターが Windows ベース コンピューターに対して無効なタイム サンプルから時刻を受信する可能性を削減できます。一方、この値を小さくした場合、コンピューターがこれらの値で設定された上限と下限を超えて現在の時刻よりも未来または過去の時刻に進んだり遅れたりすることを防止できます。

注: 正の修正幅を指定するレジストリ エントリの値を小さくすると、時刻は後に戻ります。負の修正幅を指定するレジストリ エントリの値を小さくすると、時刻は先に進みます。

Windows 2000、Windows XP、Windows Server 2003、および Windows Vista では、レジストリ エントリ MaxPosPhaseCorrection および MaxNegPhaseCorrection の既定値は次のとおりです。
0xFFFFFFF
この値を使用すると、コンピューターはタイム サンプルに含まれている時刻を、正確かどうかには無関係に受信するようになります。

Windows Server 2008 では、レジストリ エントリ MaxPosPhaseCorrection および MaxNegPhaseCorrection に新しい既定値が採用されています。この新しい既定値は 48 時間です。この 48 時間の値は、次のいずれかとして表すことができます。
  • 2a300 (16 進)
  • 172800 (10 進)
レジストリ エントリ MaxPosPhaseCorrection および MaxNegPhaseCorrection は、次の値以外の値に設定することをお勧めします。
MAX (0xFFFFFFFF)
注: MAX (0xFFFFFFFF) 以外の値に設定すると、コンピューターが再起動されたときや外部タイム ソースとの接続が中断されたときに、コンピューターが大幅に不正確な時刻を採用することを防止できます。たとえば、フォレスト内のすべてのドメイン コントローラーでレジストリ エントリ MaxPosPhaseCorrection および MaxNegPhaseCorrection が 48 時間に設定されている場合を考えます。いずれか 1 つのドメイン コントローラーで 48 時間を超える異常な時刻のずれが発生した場合、レジストリ エントリ MaxPosPhaseCorrection および MaxNegPhaseCorrection に 48 時間という値が設定されているので、他のコンピューターで同じ大幅な時刻のずれは生じません。したがって、管理者による調査と修正処置が行われるまで、同期していないコンピューターを他のコンピューターから切り離しておくことができます。

時間の正確さは、フォレスト ルートのプライマリ ドメイン コントローラー (PDC) では特に重要です。PDC はドメインのルートのタイム ソースであるため、PDC 上で誤った時刻の変更が行われると、ドメイン全体の時間がずれる可能性があります。PDC でのフェーズ修正幅に制限を設定し、フォレストの他のドメイン コントローラーで新しい時間が受け付けられないようにすることができます。

既定値が 5 分や 15 分ではなく 48 時間になっている根拠は、次のとおりです。
  • W32TM ユーティリティの出力は判読が容易ではありません。
  • 現在、メンバー コンピューターおよびメンバー サーバーの時刻は W32TM による調整の対象になっていません。
  • Windows オペレーティング システムおよびスタンドアロンのサードパーティ アプリケーションでログに記録されるエラーやイベントは、一貫性を大きく欠いています。次のようなリターン コードを含むエラーが記録される可能性があります。
    • アクセスは拒否されました
    • RPC サーバーを利用できません
    注: これらのエラーと時間差の間には、低い相関関係しかありません。原因は、Windows ベースのコンピューターが正確な時刻の値を採用できない場合があることです。
  • 夏時間のバグにより、1 時間の時間差が発生することがあります。
  • AM または PM の誤った構成によって、12 時間の時間差が発生することがあります。
  • 曜日または日付の誤りによって 24 時間の時間差が生じることがあります。
したがって、25 時間または 36 時間を過ぎると 48 時間が次の明確なタイム オフセットです。管理者は、インフラストラクチャを報告する適切なツールを使用してテストしたうえで、この値を小さくすることもできます。

オペレーティング システムのバージョンおよびコンピューターの役割に応じた具体的な推奨事項について、以下のセクションで説明します。

Windows XP Professional およびすべてのバージョンの Windows Server 2003

ドメイン サーバー

フォレストのルート PDC (権限のあるタイム サーバー)
権限のあるタイム サーバーの時刻は、ハードウェアから供給されるように構成することを強くお勧めします。権限のあるタイム サーバーをインターネット上のタイム ソースと同期するように構成した場合、認証は行われません。次のレジストリ エントリを再構成する必要があります。
  • MaxPosPhaseCorrection
  • MaxNegPhaseCorrection
これら 2 つのレジストリ エントリの既定値は 0xFFFFFFFF です。この既定値は、"時刻の変更をすべて受け付ける" ことを指定します。推奨される値は 48 時間です。レジストリでは、この値は 2a300 (16 進) または 172800 (10 進) として表されます。レジストリ エントリ MaxPollInterval の値を 10 またはそれより小さく設定するか、レジストリ エントリ SpecialPollInterval の値を 3600 秒 (1 時間) またはそれより小さく設定することをお勧めします。
ドメイン コントローラーおよびドメイン内部のメンバー サーバー
レジストリ エントリ MaxPosPhaseCorrection および MaxNegPhaseCorrection の既定値は 0xFFFFFFFF です。この既定値は、"時刻の変更をすべて受け付ける" ことを指定します。すべてのドメイン コントローラーで、この値を 48 時間に設定することをお勧めします。時間が重要なアプリケーションを実行しているメンバー サーバーにも、48 時間という値を設定できます。

注: これらのレジストリ エントリの詳細については、この資料の「Windows Server 2003 および Windows XP のタイム サービスのレジストリ エントリ」を参照してください。

スタンドアロン クライアント

レジストリ エントリ MaxPosPhaseCorrection および MaxNegPhaseCorrection の既定値は 54,000 秒 (15 時間) です。セキュリティ上の最適な対応方法として、この既定値を小さくすることをお勧めします。また、タイム ソース、ネットワークの状態、ポーリング間隔、およびセキュリティの要件に応じて、この値を 3600 秒 (1 時間) またはそれよりも小さい値に設定することをお勧めします。

Windows Server 2003 および Windows XP のタイム サービスのレジストリ エントリ

元に戻す全体を表示する
レジストリ値MaxPosPhaseCorrection
値の種類DWORD
サブキー
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
注意事項サービスによってシステムの時刻を最大何秒進めることができるかを指定します。サービスによってこの値より大きな修正が必要と判断された場合、時刻は修正されず、イベントが記録されます。この値が 0xFFFFFFFF の場合は時刻が常に修正されます。ドメインのメンバーの既定値は 0xFFFFFFFF です。スタンドアロンのクライアントおよびサーバーの既定値は 54,000 秒 (15 時間) です。
元に戻す全体を表示する
レジストリ値MaxNegPhaseCorrection
値の種類DWORD
サブキー
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
注意事項サービスによってシステムの時刻を最大何秒遅らせることができるかを指定します。サービスによってこの値より大きな修正が必要と判断された場合、時刻は修正されず、イベントが記録されます。この値が -1 の場合は時刻が常に修正されます。ドメインのメンバーの既定値は 0xFFFFFFFF です。スタンドアロンのクライアントおよびサーバーの既定値は 54,000 秒 (15 時間) です。
元に戻す全体を表示する
レジストリ値MaxPollInterval
値の種類DWORD
サブキー
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
注意事項システムのポーリング間隔として有効になる最大の間隔を秒数で指定します。システムはスケジュールされた間隔に従ってポーリングを行う必要がありますが、プロバイダーはサンプルが要求されたときにサンプルの生成を拒否することができます。ドメインのメンバーの既定値は 10 です。スタンドアロンのクライアントおよびサーバーの既定値は 15 です。
元に戻す全体を表示する
レジストリ値SpecialPollInterval
値の種類DWORD
サブキー
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
注意事項手動のピアのための特別なポーリング間隔を秒単位で指定します。特別なポーリング間隔を指定するための 0x1 フラグが有効な場合、W32Time はオペレーティング システムによって決定されるポーリング間隔ではなく、このポーリング間隔を使用します。ドメインのメンバーの既定値は 3,600 です。スタンドアロンのクライアントおよびサーバーの既定値は 604,800 です。
注: これらの設定を展開するには、グローバル ポリシー オブジェクト エディターを使用することをお勧めします。Windows Server 2003 ベースのフォレストにおける Windows タイム サービスの詳細については、以下のマイクロソフト TechNet Web サイトを参照してください。
http://technet.microsoft.com/ja-jp/library/cc773061.aspx
グループ ポリシー オブジェクト (GPO) に定義された既定の Windows タイム サービスのパラメーター値が、Windows Server 2003 ベースのドメイン コントローラーのレジストリに定義された既定値と一致しない場合があります。GPO を使用して、Windows Server 2003 ドメイン コントローラーに MaxPosPhaseCorrection および MaxNegPhaseCorrection の値を展開する場合は、レジストリにある他の Windows タイム サービス パラメーターの値が GPO によって変更されないようにしてください。ドメイン コントローラーの既定のレジストリ値と一致するように、GPO の他の Windows タイム サービス パラメーター値も変更することが必要になる場合があります。

すべてのバージョンの Windows 2000 Service Pack 4 (SP4)

ドメイン サーバー

フォレストのルート PDC (権限のあるタイム サーバー)
権限のあるタイム サーバーの時刻は、ハードウェアから供給されるように構成することを強くお勧めします。権限のあるタイム サーバーがインターネット上のタイム ソースと同期するように構成した場合、手動モードでの認証は行われません。レジストリ エントリ MaxAllowedClockErrInSecs の設定を変更する必要があります。既定値は 43,200 です。推奨される値は、タイム ソース、ネットワークの状態、およびセキュリティの要件に応じて、900 秒 (15 分) またはそれよりも小さい値です。この値は、ポーリング間隔にもよっても異なります。ポーリング間隔の値は、24 時間おきに 1 時間に設定することをお勧めします。

注: このレジストリ エントリの詳細については、この資料の「Windows Server 2000 SP 4 のレジストリ エントリ」を参照してください。
ドメイン コントローラーおよびドメイン内部のメンバー サーバー
ドキュメントの種類は NT5DS です。タイム サービスはドメイン階層から同期を行い、時刻の変更をすべて受け付けます。NT5DS では時刻の変更幅を考慮することなく時刻の変更がすべて受け付けられるため、時刻の同期を行うサブネット内に、フォレスト ルートの信頼できるタイム ソースを確立することが非常に重要です。

注: NT5DS の値は、同期の種類がレジストリ エントリから取得されることを示します。

スタンドアロン クライアント

レジストリ エントリ MaxAllowedClockErrInSecs の既定値は 43,200 秒 (12 時間) です。セキュリティ上の最適な対応方法として、この既定値を小さくすることをお勧めします。タイム ソース、ネットワークの状態、ポーリング間隔、およびセキュリティの要件に応じて、この値を 3600 秒 (1 時間) またはそれよりも小さい値に設定することをお勧めします。
Windows Server 2000 SP 4 のレジストリ エントリ
元に戻す全体を表示する
レジストリ値MaxAllowedClockErrInSecs
値の種類DWORD
サブキー
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
注意事項システム クロックの変更を最大何秒まで有効にするかを指定します。イベントが記録されるとき、この値に基づく時刻の調整は行われません。この動作は、疑わしいタイム スタンプ処理からの保護を目的として発生します。ドメイン メンバーの既定値は 43,200 です。
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。

プロパティ

文書番号: 884776 - 最終更新日: 2013年4月2日 - リビジョン: 1.0
この資料は以下の製品について記述したものです。
  • Microsoft Windows XP Professional
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
キーワード:?
kbsecurity kbhowto kbinfo KB884776
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com