Web Studio環境の保護(オプション)
Delivery ControllerとともにWeb Studioをインストールすると、インストーラーは現在のサーバーの443
ポートにバインドされた自己署名証明書を作成します。Web StudioとDelivery Controllerは、証明書をTLS証明書として使用します。別のマシンからアクセスすると、Web Studioにアクセスできない場合や、Web Studioのログオン画面にエラーが表示される場合があります。
別のマシンからWeb Studioにアクセスする場合は、次の操作を実行できます:
-
Delivery Controllerから自己署名証明書をエクスポートする。
-
[秘密キーをエクスポート] で [いいえ、秘密キーをエクスポートしません] を選択します。
-
[エクスポートファイル形式] で、[DERエンコードバイナリX.509(.CER)] を選択します。
-
-
Web Studioにアクセスするマシンに移動し、証明書をインストールします。
- [保存場所] で [ローカルマシン] を選択します。
Delivery Controllerから離れた専用サーバーにWeb Studioをインストールする場合は、次の2つのタスクを実行する必要があります:
-
タスク1:Web StudioサーバーとDelivery Controllerから、それぞれ証明書をエクスポートします。
-
タスク2:Web Studioにアクセスするマシンに2つの証明書をインストールします。
注:
ベストプラクティスとして、外部パブリック証明機関の証明書またはエンタープライズCAの証明書を使用して、Web Studio環境を保護することをお勧めします。
外部パブリック証明機関の証明書の使用
次の3つの方法のいずれかを使用して、外部パブリック証明機関の証明書をWeb Studioサーバーにインポートできます:
-
PFXファイルをインストールします。
-
PFXファイルをダブルクリックします。
-
[保存場所] で [ローカルマシン] を選択します。
-
必要に応じてパスワードを入力します。
-
[証明書ストア] で [個人] を選択します。
-
-
コンピューター証明書の管理コンソールを使用します。
-
コンピューター証明書の管理コンソールを開き、[個人]>[証明書]>[すべてのタスク]>[インポート] に移動します。
-
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)サーバーがドメインにデプロイされていることを確認してください。
証明書を要求するには、次の手順を実行します:
-
サーバーで、コンピューター証明書の管理コンソールを開きます。
-
[個人]>[証明書]>[すべてのタスク]>[新しい証明書をリクエストする] に移動します。
-
[証明書の登録] に移動してWebサーバーを選択し、警告メッセージをクリックして必要な情報を入力します。
-
サブジェクト名の種類として [共通名] を選択し、FQDNまたはDNSを入力します。また、別名を入力します。
注:
ワイルドカード証明書が必要な場合は、サブジェクト名に「
CN=*.bvttree.local
」、代替DNS名に「*.bvttree.local and bvttree.local
」を入力できます。
証明書は、[個人]>[証明書] にあります。
次に、証明書を443
ポートにバインドします。これは、インストールまたはアップグレードの前か後に、行うことができます。443
ポートで証明書のバインドが構成されている場合、インストーラーは何もしません。
インストールまたはアップグレードの前
証明書を443
ポートにバインドするには、次の手順を実行します(証明書のバインドがまだ443
に対して構成されておらず、サーバーでIISが有効になっている場合):
-
管理者としてWeb Studioサーバーにログオンします。
-
IISマネージャーを開き、[サイト]>[既定のWebサイトのホーム]>[バインド] を参照します。
-
[サイトのバインド] で [追加] をクリックします。
-
[サイトのバインドの追加] で、種類を
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-->
新しい自己署名証明書を使用する
新しい自己署名証明書を生成し、それを使用して既存の証明書を置き換えることができます。次の手順を実行します:
-
管理者としてWeb Studioサーバーにログオンします。
-
IISマネージャーを開き、[サーバー証明書] を参照して、[操作] ペインで [自己署名証明書の作成] を選択します。
-
[自己署名証明書の作成] で、証明書の名前を入力し、[OK] をクリックします。その後、自己署名証明書が作成されます。
-
[サイト]>[既定のWebサイトのホーム] を参照し、[操作] ペインの [バインド]、
https
エントリ、[編集] の順に選択します。 -
[サイトのバインドの編集] で、一覧から証明書を選択し、[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-->