Web Studio環境の保護(オプション)

Delivery ControllerとともにWeb Studioをインストールすると、インストーラーは現在のサーバーの443ポートにバインドされた自己署名証明書を作成します。Web StudioとDelivery Controllerは、証明書をTLS証明書として使用します。別のマシンからアクセスすると、Web Studioにアクセスできない場合や、Web Studioのログオン画面にエラーが表示される場合があります。

別のマシンからWeb Studioにアクセスする場合は、次の操作を実行できます:

  1. Delivery Controllerから自己署名証明書をエクスポートする。

    自己署名証明書のエクスポート

    • [秘密キーをエクスポート][いいえ、秘密キーをエクスポートしません] を選択します。

    • [エクスポートファイル形式] で、[DERエンコードバイナリX.509(.CER)] を選択します。

  2. Web Studioにアクセスするマシンに移動し、証明書をインストールします。

    証明書のインストール

    • [保存場所][ローカルマシン] を選択します。

Delivery Controllerから離れた専用サーバーにWeb Studioをインストールする場合は、次の2つのタスクを実行する必要があります:

  • タスク1:Web StudioサーバーとDelivery Controllerから、それぞれ証明書をエクスポートします。

  • タスク2:Web Studioにアクセスするマシンに2つの証明書をインストールします。

注:

ベストプラクティスとして、外部パブリック証明機関の証明書またはエンタープライズCAの証明書を使用して、Web Studio環境を保護することをお勧めします。

外部パブリック証明機関の証明書の使用

次の3つの方法のいずれかを使用して、外部パブリック証明機関の証明書をWeb Studioサーバーにインポートできます:

  • PFXファイルをインストールします

    1. PFXファイルをダブルクリックします。

    2. [保存場所][ローカルマシン] を選択します。

      証明書のインポートウィザード

    3. 必要に応じてパスワードを入力します。

      キー保護

    4. [証明書ストア][個人] を選択します。

      証明書ストア

  • コンピューター証明書の管理コンソールを使用します

    1. コンピューター証明書の管理コンソールを開き、[個人]>[証明書]>[すべてのタスク]>[インポート] に移動します。

      コンピューター証明書の管理コンソール

    2. PFXファイルを選択し、必要に応じてパスワードを入力します。

  • PowerShellを使用します

     Import-PfxCertificate -Password $(ConvertTo-SecureString -String "123456" -AsPlainText -Force) -CertStoreLocation Cert:\LocalMachine\My\ -FilePath .\Desktop\certificate.pfx
     <!--NeedCopy-->
    

次に、証明書を443ポートにバインドします。これは、インストールまたはアップグレードの前か後に、行うことができます。443ポートで証明書のバインドが構成されている場合、インストーラーは何もしません。詳しくは、「インストールまたはアップグレードの前」を参照してください。

エンタープライズ証明機関の証明書の使用

開始する前に、エンタープライズ証明機関(CA:Certification Authority)サーバーがドメインにデプロイされていることを確認してください。

証明書を要求するには、次の手順を実行します:

  1. サーバーで、コンピューター証明書の管理コンソールを開きます。

  2. [個人]>[証明書]>[すべてのタスク]>[新しい証明書をリクエストする] に移動します。

    新しい証明書をリクエストする

  3. [証明書の登録] に移動してWebサーバーを選択し、警告メッセージをクリックして必要な情報を入力します。

    証明書の登録

  4. サブジェクト名の種類として [共通名] を選択し、FQDNまたはDNSを入力します。また、別名を入力します。

    注:

    ワイルドカード証明書が必要な場合は、サブジェクト名に「CN=*.bvttree.local」、代替DNS名に「*.bvttree.local and bvttree.local」を入力できます。

    証明書のプロパティ

証明書は、[個人]>[証明書] にあります。

[個人]>[証明書]

次に、証明書を443ポートにバインドします。これは、インストールまたはアップグレードの前か後に、行うことができます。443ポートで証明書のバインドが構成されている場合、インストーラーは何もしません。

インストールまたはアップグレードの前

証明書を443ポートにバインドするには、次の手順を実行します(証明書のバインドがまだ443に対して構成されておらず、サーバーでIISが有効になっている場合):

  1. 管理者としてWeb Studioサーバーにログオンします。

  2. IISマネージャーを開き、[サイト]>[既定のWebサイトのホーム]>[バインド] を参照します。

  3. [サイトのバインド][追加] をクリックします。

    サイトのバインド2

  4. [サイトのバインドの追加] で、種類をhttpsに、ポートを443に設定し、証明機関から要求したSSL証明書を選択して、[OK] をクリックします。

    サイトのバインドの追加

Web Studioをインストールすると、証明書を使用して接続を保護するように、Web StudioとDelivery Controllerが自動的に構成されます。

または、PowerShellを使用して証明書を変更することもできます。

$certSName = 'CN=whpdevddc0.bvttree.local'  # The subject name of the certificate
$certificate = Get-ChildItem -Path Cert:\LocalMachine\My\ | ? {$_.Subject -eq $certSName}
netsh http add sslcert ipport=0.0.0.0:443 certhash=$($certificate.Thumbprint) certstorename=My appid="$($(New-Guid).ToString("B"))"
<!--NeedCopy-->

インストールまたはアップグレードの後

Web Studioサーバーに移動し、IISマネージャーを使用して証明書を変更します。 または、PowerShellを使用して証明書を変更することもできます。

$certSName = 'CN=whpdevddc0.bvttree.local' # The Enterprise CA certificate subject.
$certificate = Get-ChildItem -Path Cert:\LocalMachine\My\ | ? {$_.Subject -eq $certSName}
netsh http update sslcert ipport=0.0.0.0:443 certhash=$($certificate.Thumbprint)
<!--NeedCopy-->

新しい自己署名証明書を使用する

新しい自己署名証明書を生成し、それを使用して既存の証明書を置き換えることができます。次の手順を実行します:

  1. 管理者としてWeb Studioサーバーにログオンします。

  2. IISマネージャーを開き、[サーバー証明書] を参照して、[操作] ペインで [自己署名証明書の作成] を選択します。

    サーバー証明書

  3. [自己署名証明書の作成] で、証明書の名前を入力し、[OK] をクリックします。その後、自己署名証明書が作成されます。

    自己署名証明書の作成

  4. [サイト]>[既定のWebサイトのホーム] を参照し、[操作] ペインの [バインド]httpsエントリ、[編集] の順に選択します。

    サイトのバインド

  5. [サイトのバインドの編集] で、一覧から証明書を選択し、[OK] をクリックします。

    サイトのバインドの編集

これで証明書の変更は完了です。

または、PowerShellを使用して証明書を変更することもできます。

$certSubject = "CN=WHPBVTDEVDDC2.BVTTREE.LOCAL" # The FQDN of the server.
$frindlyName = "Self-Signed-3"
$expireYears = 5

## new self-signed certificate under LocalMachine\My
$certificate = New-SelfSignedCertificate -Subject $certSubject -CertStoreLocation "Cert:\LocalMachine\My" -KeyExportPolicy Exportable -KeySpec Signature -KeyLength 2048 -KeyAlgorithm RSA -HashAlgorithm SHA256 -FriendlyName $frindlyName -NotAfter $([System.DateTime]::Now.AddYears($expireYears))
Remove-Item -Path $Env:TEMP\tempCertificate.cer -Force -ErrorAction SilentlyContinue

## Import this certificate into LocalMachine\Root to let this OS trust this certificate
Export-Certificate -Type CERT -Force -Cert $certificate -FilePath $Env:TEMP\tempCertificate.cer -NoClobber
Import-Certificate -FilePath $Env:TEMP\tempCertificate.cer -CertStoreLocation "Cert:\LocalMachine\Root"

## Update bind the 0.0.0.0:443 with this certificate
Invoke-Command -ScriptBlock { Param ($param1) netsh http update sslcert ipport=0.0.0.0:443 certhash=$param1 } -ArgumentList @($certificate.Thumbprint)
<!--NeedCopy-->
Web Studio環境の保護(オプション)