Configuration Manager (現在のブランチ) に適用
TLS/SSL を使用するように Windows Server Update Services (WSUS) サーバーとそれに対応するソフトウェア更新ポイント (SUP) を構成すると、潜在的な攻撃者がクライアントをリモートで侵害して特権を昇格する能力を減らす可能性があります。 最適なセキュリティ プロトコルを確実に導入するには、TLS/SSL プロトコルを使用してソフトウェア更新プログラム インフラストラクチャを保護することを強くお勧めします。 この記事では、HTTPS を使用するように各 WSUS サーバーとソフトウェアの更新ポイントを構成するために必要な手順について説明します。 WSUS のセキュリティ保護の詳細については、WSUS ドキュメントの「Secure Sockets Layer プロトコルを使用したセキュアな WSUS 」の記事を参照してください。
このチュートリアルの内容:
- 必要に応じて PKI 証明書を取得する
- WSUS 管理 Web サイトに証明書をバインドする
- SSL を要求するように WSUS Web サービスを構成する
- SSL を使用するように WSUS アプリケーションを構成する
- WSUS コンソール接続で SSL を使用できるかどうかを確認する
- WSUS サーバーへの SSL 通信を要求するようにソフトウェアの更新ポイントを構成する
- Configuration Manager で機能を確認する
考慮事項と制限事項
WSUS は、TLS/SSL を使用してクライアント コンピューターを認証し、ダウンストリームの WSUS サーバーをアップストリームの WSUS サーバーに対して認証します。 また、WSUS は TLS/SSL を使用して更新プログラムのメタデータを暗号化します。 WSUS は、更新プログラムのコンテンツ ファイルに TLS/SSL を使用しません。 コンテンツ ファイルは署名され、ファイルのハッシュは更新プログラムのメタデータに含まれます。 クライアントによってファイルがダウンロードおよびインストールされる前に、デジタル署名とハッシュの両方がチェックされます。 いずれかのチェックが失敗した場合、更新プログラムはインストールされません。
TLS/SSL を使用して WSUS 展開をセキュリティで保護する場合は、次の制限事項を考慮してください。
- TLS/SSL を使用すると、サーバーの負荷が増加します。 ネットワーク経由で送信されるすべてのメタデータを暗号化すると、パフォーマンスが若干低下することが予想されます。
- リモート SQL Server データベースで WSUS を使用する場合、WSUS サーバーとデータベース サーバー間の接続は TLS/SSL によってセキュリティ保護されません。 データベース接続を保護する必要がある場合は、次の推奨事項を検討してください。
- WSUS データベースを WSUS サーバーに移動します。
- リモート データベース サーバーと WSUS サーバーをプライベート ネットワークに移動します。
- インターネット プロトコル セキュリティ (IPsec) を展開して、ネットワーク トラフィックのセキュリティを強化します。
TLS/SSL を使用するように WSUS サーバーとそのソフトウェア更新ポイントを構成する場合は、大規模な Configuration Manager 階層の変更を段階的に導入することが必要な場合があります。 これらの変更を段階的に導入する場合は、階層の下部から開始し、サーバーの全体管理サイトで最後まで上に移動します。
前提条件
このチュートリアルでは、インターネット インフォメーション サービス (IIS) で使用する証明書を取得するための最も一般的な方法について説明します。 organization がどちらの方法を使用する場合でも、証明書が Configuration Manager ソフトウェア更新ポイントの PKI 証明書の要件を満たしていることを確認してください。 他の証明書と同様に、証明機関は WSUS サーバーと通信するデバイスによって信頼されている必要があります。
- ソフトウェアの更新ポイントの役割がインストールされている WSUS サーバー
- TLS/SSL を有効にする前に、リサイクルの無効化と WSUS のメモリ制限の構成に関する ベスト プラクティス に従っていることを確認してください。
- 次の 2 つのオプションのいずれか:
- WSUS サーバーの 個人用 証明書ストアに既に適切な PKI 証明書があること。
- エンタープライズ ルート証明機関 (CA) から WSUS サーバー用の適切な PKI 証明書を要求して取得できること。
- 既定では、WebServer 証明書テンプレートを含むほとんどの証明書テンプレートは、ドメイン管理者にのみ発行されます。 ログインしているユーザーがドメイン管理者ではない場合は、そのユーザー アカウントに証明書テンプレートの 登録 アクセス許可を付与する必要があります。
必要に応じて CA から証明書を取得する
WSUS サーバーの 個人用 証明書ストアに適切な証明書が既にある場合は、このセクションをスキップして、「 証明書のバインド」 セクションから始めます。 新しい証明書をインストールするために内部 CA に証明書要求を送信するには、このセクションの手順に従います。
WSUS サーバーから、管理コマンド プロンプトを開き、
certlm.mscを実行します。 ローカル コンピューターの証明書を管理するには、ユーザー アカウントがローカル管理者である必要があります。ローカル デバイスの証明書マネージャー ツールが表示されます。
[ 個人] を展開し、[ 証明書] を右クリックします。
[ すべてのタスク ]、[ 新しい証明書の要求] の順に選択します。
[ 次へ ] を選択して証明書の登録を開始します。
登録する証明書の種類を選択します。 証明書の目的は サーバー認証 であり、使用する Microsoft 証明書テンプレートは Web サーバー またはサーバー 認証 が 拡張キー使用法として指定されているカスタム テンプレートです。 証明書を登録するための追加情報の入力を求めるメッセージが表示される場合があります。 通常、少なくとも次の情報を指定します。
- 共通名: [ 件名 ] タブで、値を WSUS サーバーの FQDN に設定します。
- フレンドリ名: [ 全般 ] タブにあるので、後で証明書を識別しやすいように、値をわかりやすい名前に設定します。
[ 登録 ]、[ 完了 ] の順に選択して、登録を完了します。
証明書の拇印などの詳細を確認する場合は、証明書を開きます。
ヒント
WSUS サーバーがインターネットに接続している場合は、証明書のサブジェクトまたはサブジェクト別名 (SAN) に外部 FQDN が必要です。
WSUS 管理サイトに証明書をバインドする
WSUS サーバーの個人用証明書ストアに証明書を取得したら、それを IIS の WSUS 管理サイトにバインドします。
WSUS サーバーで、インターネット インフォメーション サービス (IIS) マネージャーを開きます。
[ サイト>WSUS 管理] に移動します。
アクション メニューから、またはサイトを右クリックして、[ バインド ] を選択します。
[ サイト バインド] ウィンドウで、 https の行を選択し、[ 編集...] を選択します。
- HTTP サイト バインドは削除しないでください。 WSUS は、更新プログラムのコンテンツ ファイルに HTTP を使用します。
[SSL 証明書] オプションで、WSUS 管理サイトにバインドする証明書を選択します。 証明書のフレンドリ名がドロップダウン メニューに表示されます。 フレンドリ名が指定されていない場合は、証明書の
IssuedToフィールドが表示されます。 使用する証明書がわからない場合は、[ 表示 ] を選択し、取得した拇印と拇印が一致していることを確認します。
完了したら [ OK ] を選択し、[ 閉じる] をクリックしてサイト バインドを終了します。 次の手順のために、インターネット インフォメーション サービス (IIS) マネージャーを開いたままにします。
SSL を要求するように WSUS Web サービスを構成する
WSUS サーバーの IIS マネージャーで、[ サイト>WSUS 管理] に移動します。
WSUS 管理サイトを展開すると、WSUS の Web サービスと仮想ディレクトリの一覧が表示されます。
以下の WSUS Web サービスのそれぞれについて:
- ApiRemoting30
- ClientWebService
- DSSAuthWebService
- ServerSyncWebService
- SimpleAuthWebService
次の変更を行います。
- [SSL 設定] を選択します。
- [ SSL を要求する] オプションを有効にします。
- [ クライアント証明書] オプションが [無視] に設定されていることを確認します。
- [適用] を選択します。
コンテンツなどの特定の関数では HTTP を使用する必要があるため、最上位の WSUS 管理サイトで SSL 設定を設定しないでください。
SSL を使用するように WSUS アプリケーションを構成する
Web サービスが SSL を要求するように設定されたら、WSUS アプリケーションが変更をサポートするために追加の構成を実行できるように、WSUS アプリケーションに通知する必要があります。
WSUS サーバーで管理者コマンド プロンプトを開きます。 このコマンドを実行するユーザー アカウントは、WSUS Administrators グループまたはローカルの Administrators グループのメンバーである必要があります。
ディレクトリを WSUS のツール フォルダーに変更します。
cd "c:\Program Files\Update Services\Tools"次のコマンドを使用して、SSL を使用するように WSUS を構成します。
WsusUtil.exe configuressl server.contoso.comここで、 server.contoso.com は WSUS サーバーの FQDN です。
WsusUtil は、最後に指定されたポート番号を持つ WSUS サーバーの URL を返します。 ポートは 8531 (既定) または 443 になります。 返された URL が期待どおりであることを確認します。 何かが誤って入力された場合は、コマンドをもう一度実行できます。
ヒント
WSUS サーバーがインターネットに接続している場合は、 WsusUtil.exe configuresslの実行時に外部 FQDN を指定します。
WSUS コンソールが SSL を使用して接続できることを確認する
WSUS コンソールは、接続に ApiRemoting30 Web サービスを使用します。 また、Configuration Manager ソフトウェア更新ポイント (SUP) は、この同じ Web サービスを使用して、次のような特定のアクションを実行するように WSUS に指示します。
- ソフトウェア更新プログラムの同期を開始する
- Configuration Manager 階層内の SUP のサイトが存在する場所に依存する、WSUS 用の適切なアップストリーム サーバーを設定する
- 階層のトップ レベル WSUS サーバーからの同期のための製品と分類の追加または削除。
- 期限切れの更新プログラムを削除する
WSUS コンソールを開き、WSUS サーバーの ApiRemoting30 Web サービスへの SSL 接続を使用できることを確認します。 他の Web サービスの一部は後でテストします。
WSUS コンソールを開き、[操作]>[サーバーに接続] を選択します。
[ サーバー名 ] オプションの WSUS サーバーの FQDN を入力します。
WSUSutil から URL で返される ポート番号 を選択します。
8531 (既定) または 443 のいずれかを選択すると、[ このサーバーに接続するために Secure Sockets Layer (SSL) を使用する] オプションが自動的に有効になります。
Configuration Manager サイト サーバーがソフトウェアの更新ポイントから離れている場合は、サイト サーバーから WSUS コンソールを起動し、WSUS コンソールが SSL 経由で接続できることを確認します。
- リモートの WSUS コンソールが接続できない場合は、証明書の信頼、名前解決、またはポートがブロックされていることに関する問題を示している可能性があります。
WSUS サーバーへの SSL 通信を要求するようにソフトウェアの更新ポイントを構成する
TLS/SSL を使用するように WSUS を設定したら、対応する Configuration Manager ソフトウェアの更新ポイントを更新して SSL も要求する必要があります。 この変更を行うと、Configuration Manager によって次の処理が行われます。
- ソフトウェアの更新ポイント用に WSUS サーバーを構成できることを確認します
- この WSUS サーバーに対してスキャンするように指示されたら、SSL ポートを使用するようにクライアントに指示します。
WSUS サーバーへの SSL 通信を要求するようにソフトウェアの更新ポイントを構成するには、次の手順を実行します。
Configuration Manager コンソールを開き、サーバーの全体管理サイトまたは編集が必要なソフトウェア更新ポイントのプライマリ サイト サーバーに接続します。
管理>概要>サイト構成>サーバーとサイト システムの役割 の順に移動します。
WSUS がインストールされているサイト システム サーバーを選択し、ソフトウェア更新ポイント サイト システムの役割を選択します。
リボンから [プロパティ] を選択します。
[ WSUS サーバーへの SSL 通信を要求する ] オプションを有効にします。
変更を適用すると、サイトの WCM.log に次のエントリが表示されます。
SCF change notification triggered. Populating config from SCF Setting new configuration state to 1 (WSUS_CONFIG_PENDING) ... Attempting connection to local WSUS server Successfully connected to local WSUS server ... Setting new configuration state to 2 (WSUS_CONFIG_SUCCESS)
ログ ファイルの例は、このシナリオでは不要な情報を削除するために編集されました。
Configuration Manager で機能を確認する
サイト サーバーが更新プログラムを同期できることを確認する
Configuration Manager コンソールを最上位サイトに接続します。
[Software Library]>Overview>Software Updates>All Software Updates に移動します。
リボンから、[Synchronize Software Updates] を選択します。
ソフトウェア更新プログラムのサイト全体の同期を開始するかどうかを尋ねる通知を表示すると、[ はい ] を選択します。
- WSUS 構成が変更されたため、デルタ同期ではなく、完全なソフトウェア更新プログラムの同期が行われます。
サイトの wsyncmgr.log を開きます。 子サイトを監視する場合は、まず親サイトが同期を完了するまで待つ必要があります。 次のようなエントリのログを確認して、サーバーが正常に同期されていることを確認します。
Starting Sync ... Full sync required due to changes in main WSUS server location. ... Found active SUP SERVER.CONTOSO.COM from SCF File. ... https://SERVER.CONTOSO.COM:8531 ... Done synchronizing WSUS Server SERVER.CONTOSO.COM ... sync: Starting SMS database synchronization ... Done synchronizing SMS with WSUS Server SERVER.CONTOSO.COM
クライアントが更新プログラムをスキャンできることを確認する
SSL を要求するようにソフトウェアの更新ポイントを変更すると、Configuration Manager クライアントは、ソフトウェアの更新ポイントの場所を要求するときに、更新された WSUS URL を受け取ります。 クライアントをテストすることで、次のことができます。
- クライアントが WSUS サーバーの証明書を信頼しているかどうかを確認します。
- SimpleAuthWebService と WSUS の ClientWebService が機能しているかどうか。
- クライアントがスキャン中に EULA を取得した場合、WSUS コンテンツ仮想ディレクトリが機能していることを確認する
TLS/SSL を使用するように最近変更されたソフトウェアの更新ポイントに対してスキャンするクライアントを識別します。 クライアントの識別に関するヘルプが必要な場合は、次の PowerShell スクリプトで スクリプトの実行 を使用します。
$Last = (Get-CIMInstance -Namespace "root\CCM\Scanagent" -Class "CCM_SUPLocationList").LastSuccessScanPath $Current= Write-Output (Get-CIMInstance -Namespace "root\CCM\Scanagent" -Class "CCM_SUPLocationList").CurrentScanPath Write-Host "LastGoodSUP- $last" Write-Host "CurrentSUP- $current"ヒント
コミュニティ ハブでこのスクリプトを開きます。 詳細については、「 コミュニティ ハブ項目への直接リンク」を参照してください。
テスト クライアントでソフトウェア更新プログラムのスキャン サイクルを実行します。 次の PowerShell スクリプトを使用して、強制的にスキャンを実行できます。
Invoke-WMIMethod -Namespace root\ccm -Class SMS_CLIENT -Name TriggerSchedule "{00000000-0000-0000-0000-000000000113}"ヒント
コミュニティ ハブでこのスクリプトを開きます。 詳細については、「 コミュニティ ハブ項目への直接リンク」を参照してください。
クライアントの ScanAgent.log を確認して、ソフトウェアの更新ポイントに対してスキャンするメッセージが受信されたことを確認します。
Message received: '<?xml version='1.0' ?> <UpdateSourceMessage MessageType='ScanByUpdateSource'> <ForceScan>TRUE</ForceScan> <UpdateSourceIDs> <ID>{A1B2C3D4-1234-1234-A1B2-A1B2C3D41234}</ID> </UpdateSourceIDs> </UpdateSourceMessage>'LocationServices.logを確認して、クライアントに正しい WSUS URL が表示されていることを確認します。 LocationServices.log
WSUSLocationReply : <WSUSLocationReply SchemaVersion="1 ... <LocationRecord WSUSURL="https://SERVER.CONTOSO.COM:8531" ServerName="SERVER.CONTOSO.COM" ... </WSUSLocationReply>クライアントが正常にスキャンできることを確認するには、 WUAHandler.log を確認します。
Enabling WUA Managed server policy to use server: https://SERVER.CONTOSO.COM:8531 ... Successfully completed scan.
HTTPS 構成の WSUS サーバーをスキャンするデバイスの TLS 証明書のピン留め
(2103 で導入)
Configuration Manager 2103 以降では、証明書のピン留めを強制することで、WSUS に対する HTTPS スキャンのセキュリティをさらに強化できます。 この動作を完全に有効にするには、WSUS サーバーの証明書をクライアントの新しい WindowsServerUpdateServices 証明書ストアに追加し、 クライアント設定で証明書のピン留めが有効になっていることを確認します。 Windows Update エージェントの変更の詳細については、「スキャンの変更と証明書により、更新プログラムに WSUS を使用して Windows デバイスのセキュリティが追加される - Microsoft Tech Community」を参照してください。
Windows Update クライアントに TLS 証明書のピン留めを強制するための前提条件
- Configuration Manager バージョン 2103
- WSUS サーバーとソフトウェアの更新ポイントが TLS/SSL を使用するように構成されていることを確認します
- WSUS サーバーの証明書を、クライアント上の新しい
WindowsServerUpdateServices証明書ストアに追加する- クラウド管理ゲートウェイ (CMG) で証明書のピン留めを使用する場合、
WindowsServerUpdateServicesストアには CMG 証明書が必要です。 クライアントがインターネットから VPN に切り替える場合、CMG サーバー証明書と WSUS サーバー証明書の両方がWindowsServerUpdateServicesストアに必要です。
- クラウド管理ゲートウェイ (CMG) で証明書のピン留めを使用する場合、
注:
デバイスのソフトウェア更新プログラムのスキャンは、[更新プログラムを検出するために Windows Update クライアントに TLS 証明書のピン留めを強制する] クライアント設定の既定値の [はい] を使用して引き続き正常に実行されます。 これには、HTTP と HTTPS の両方のスキャンが含まれます。 証明書のピン留めは、証明書がクライアントの WindowsServerUpdateServices ストアにあり、WSUS サーバーが TLS/SSL を使用するように構成されるまで有効になりません。
HTTPS 構成の WSUS サーバーをスキャンするデバイスの TLS 証明書のピン留めを有効または無効にする
- Configuration Manager コンソールから、[管理]>[クライアント設定] に移動します。
- [既定のクライアント設定] またはクライアント設定のカスタム セットを選択してから、リボンから [プロパティ] を選択します。
- [クライアント設定] の [Software Updates] タブを選択します
- [更新プログラムを検出するために Windows Update クライアントに TLS 証明書のピン留めを強制する] 設定で、次のいずれかのオプションを選択します。
- いいえ: WSUS スキャンに対する TLS 証明書のピン留めの強制を有効にしません
- はい: WSUS スキャン中にデバイスの TLS 証明書のピン留めの適用を有効にします (既定)
- クライアントが 更新プログラムをスキャンできることを確認します。