ME4:Active Directory証明書サービスを使用したカスタム セキュリティ証明書の生成
Summary: 次の手順では、OpenSSLとActive Directory証明書サービス(ADCS)を使用して、2つのカスタムSSL証明書(各コントローラーに1つずつ)を作成する方法について説明します。証明書は、両方のME4コントローラーに共通の完全修飾ドメイン名(FQDN)と、個々のコントローラーのFQDNシステム名の両方で機能します。
Instructions
-
ドメインにActive Directory証明書サービスをインストールし、サービスを設定する
-
各ME4コントローラーのIP、ドメイン ネーム システム(DNS)サーバーIP、検索ドメイン、システム名を記録します
-
OpenSSL
-
ME4で使用されるDNSサーバーと、ADドメインがラウンド ロビンDNSをサポートしていることを確認する
この記事では、ME4の次のFQDN DNS名を使用します。これらは例であり、どのような名前でもかまいません。ドメイン名と希望する名前に置き換えてください。
-
共通名:me4.mscerttest.com
-
コントローラーAの名前:me4-a.mscerttest.com
-
コントローラーBの名前:me4-b.msccerttest.com
両方のAD 証明書サービス(CS)とME4は、同じDNSサーバーを使用する必要があります。両方のコントローラーに共通のFQDN名を使用するには、DNSサーバーがラウンド ロビンDNSをサポートしている必要があります。デフォルトでは、Microsoft DNSはラウンド ロビンDNSをサポートします。この例では、DNSサーバーのIPは10.240.225.174.
です。DNSサーバーで、次のAレコードを作成します。この例では、AコントローラーのIPは10.240.225.6で、BコントローラーのIPは10.240.225.7です。ご使用の環境では、ドメイン名とIPを使用してください。
-
IP 10.240.225.6でme4.mscerttest.comのAレコードを作成します
-
IP 10.240.225.7でme4.mscerttest.comのAレコードを作成します
-
IP 10.240.225.6でme4-a.mscertest.comのAレコードを作成します
-
IP 10.240.225.7でme4-b.mscerttest.comのAレコードを作成します
nslookupを使用して、共通FQDN (me4.mscerttest.com)が両方のコントローラーのIPアドレスを返すことを確認し、ラウンド ロビンDNSを検証します。
C:\Users\Administrator>nslookup
Default Server: localhost
Address: 127.0.0.1
> me4.mscerttest.com
Server: localhost
Address: 127.0.0.1
名前:me4.mscerttest.com
住所: 10.240.225.7
10.240.225.6
ME4で使用されるシステム名、ドメイン名、DNSサーバーは、AD CSで使用されるものと一致する必要があります。
ME4 UIを開き、アクション-> システム設定を選択します。[ネットワーク]タブに移動します。
-
IPページで、AコントローラーとBコントローラーのIPを確認し、DNSで設定されたAレコードを確認します。

-
[DNS]ページで、次のことを確認します。
-
各コントローラーの検索ドメインは、AD CSドメインと一致する
-
各コントローラーのホスト名は、個々のコントローラーAレコードに適用されるDNS名と一致する
-
DNSサーバーは、ADCSで使用されるのと同じDNSである

AコントローラーおよびBコントローラーの証明書要求ファイルを作成する
次に、テキスト エディターを使用して2つの構成ファイルを作成します。これらのファイルは、OpenSSLでコントローラーの証明書要求ファイルを生成するために使用されます。Aコントローラー用とBコントローラー用の2つのファイルがあります。[Related]タブには、AとBの両方のコントローラーの環境に基づいた例が添付されています。
これらのファイルの内容は、テキスト エディターでは次のようになります。
[ req ]default_bits = 2048distinguished_name = req_distinguished_namereq_extensions = req_extprompt = no
[ req_distinguished_name ]countryName = USstateOrProvinceName = New HampshirelocalityName = NashuaorganizationName = DellorganizationalUnitName = ITcommonName = me4-a.mscerttest.com
[ req_ext ]subjectAltName = @alt_names[alt_names]DNS.1 = me4.mscerttest.comDNS.2 = me4-a.mscerttest.com
各コントローラー設定ファイルのファイル内の次のフィールド(ME4-A用とME4-B用にそれぞれ1つずつ)を、自分の名前とドメインに一致するように変更します。
-
commonNameとalt_namesの両方の共通名とコントローラー名は、そのコントローラーの環境と一致している必要があります。
-
キー サイズに2048以外の値を使用する場合は、default_bitsでその情報を変更します。
-
countryName、stateOrProvinceName、localityName、organizationName、organizationalUnitNameは、会社の情報と一致する必要があります。
完了すると、環境に必要な名前と設定を含む2つのテキスト ファイル(ME4-A.cnfとME4-B.cnf)が作成されます。
ME4は外部ストレージであるため、ADCSに提示するにはOpenSSLを介して証明書要求を生成する必要があります。最初のステップとして、インストールされていない場合は、OpenSSLをインストールします。このプロセスでは、便宜上、ADCSにWindowsバージョンがインストールされています。OpenSSLは、Linuxサーバーまたはその他のWindowsサーバー上にあり、証明書要求を生成することができます
OpenSSLのWindowsバージョンは、@ https://slproweb.com/products/Win32OpenSSL.html
ダウンロードできます
64ビットOpenSSLフルバージョンを選択してインストールします。
インストールしたら、Windowsの[スタート]ボタンを押して、プログラムのリストでOpenSSLを参照します。その下に、Win64 OpenSSLコマンド プロンプトのアイコンがあります。アイコンをクリックすると、DOSコマンド ウィンドウが開き、OpenSSLを実行するための適切なsetコマンドがすべて表示されます。次のセクションのコマンド プロンプトを使用します。
![画像は、Windowsの[スタート]メニューのOpenSSLエントリーを示しており、「Win64 OpenSSL Command」をハイライト表示しています。](https://supportkb.dell.com/img/ka0Do0000001wmhIAA/ka0Do0000001wmhIAA_ja_5.jpeg)
設定ファイルとOpenSSLを使用して証明書要求ファイルを作成する
Win64 OpenSSLコマンド プロンプト ウィンドウを起動します。開いたら、ME4-A.cnfファイルとME4-B.cnfファイルがあるディレクトリーにcdします。以下の手順は、ME4-AファイルとME4-Bファイルの2回実行します
コントローラー証明書要求の場合は、ME4-A.cnfファイルを使用します。次のコマンドは、Aコントローラーのプライベート キー ファイルと証明書要求ファイルを生成します。
openssl req -out ME4-A.csr -newkey rsa:2048 -nodes -keyout ME4-A.key -config ME4.cnf
コマンドが完了すると、「ME4-A.csr" (A の証明書要求ファイル) と "ME4-A.key" (A の秘密キー ファイル).
Bコントローラーに対してこれを繰り返し、コマンド ラインでME4-AをME4-Bに置き換えます。手順が完了すると、2つの証明書を生成するために必要な4つのファイルがあります。
-
ME4-A.csr -
ME4-A.key -
ME4-B.csr -
ME4-B.key
これらのファイルをAD CSサーバーにコピーして、証明書を生成する準備をします。
「.key」と「.csr」ファイルをADCSサーバー上のディレクトリにコピーします。ADCSサーバーで、DOSコマンド プロンプトを開きます。コマンド プロンプトで、これらのファイルがあるディレクトリーに「cd」します。この例では、標準の ADCS テンプレート Web サーバーをテンプレートとして使用します。Webサーバー テンプレートとは異なるパラメーターが必要な場合は、独自のテンプレートを作成し、次のコマンドで参照します
次のコマンドを実行して、Aコントローラーの証明書を生成します。
certreq -submit -attrib "CertificateTemplate:WebServer" ME4-A.csr ME4-A.cer
この例では ADCS サーバーを使用しているため、コマンド行で ADCS を定義するためにオプション -config DOMAINCA\CA1 を追加する必要はありません。ADCSを表示するダイアログ ボックスが画面に表示され、ADCSサーバーでコマンドを実行するときに選択が可能になります。

コマンドが完了すると、コマンド ライン出力に要求IDが表示されます。そのディレクトリーには、必要な証明書であるME4-A.cerファイルも作成されます。
C:\Users\Administrator\Downloads\ME4Certs>certreq -submit -attrib "CertificateTemplate:WebServer" ME4-A.csr ME4-A.cerActive Directory Enrollment Policy {0CCDC8D2-7840-40BE-819F-A7EA9535C5D6} ldap:RequestId: 19RequestId: "19"Certificate retrieved(Issued) Issued
表示されるリクエストIDは19で、AD証明機関のMMCの「発行済み証明書」に有効な証明書として表示されるようになりました。

証明書のパラメーターを表示するには、リクエストIDを右クリックして[Open]を選択します。

証明書のサブジェクトが設定ファイルで代替名を使用しているため、この証明書は共通名(me4.mscerttest.com)とコントローラー名(me4-a.mscerttest.com の両方に対して有効です
Bコントローラーに対してこれを繰り返し、コマンド ラインでME4-AをME4-Bに置き換えます。これにより、A 証明書と B 証明書は 2 つの異なる証明書であるため、この証明書に対して異なる要求 ID が生成されます
これが完了すると、ディレクトリーに2つの証明書ファイルが存在することになります。これらのファイルとそれに関連する ".keyファイルは、ME4 AおよびBコントローラーにアップロードされるファイルです。ADCSで生成されたAとBの.cerファイルをコピーし、AとBの「.key」ファイルをOpenSSLから共通のディレクトリーに生成し、次のステップに進みます。
-
ME4-A.cer -
ME4-A.key -
ME4-B.cer -
ME4-B.key
FTP を使用して A 証明書と A キー ファイルを A コントローラに転送し、B 証明書とキー ファイルに対しても同じ操作を行います。次に、両方のコントローラーでManagement Serviceを再起動して証明書を有効にします。
このアップロードについては、別のDellサポート記事「PowerVault ME4: カスタム証明書のインストールと削除
今回のアップロードでは、その記事と2つの違いがあります。
-
その記事でアップロードするファイルの名前は「
.pem」-
ファイル拡張子を変更する必要はありません。
.cer」と「.key" をアップロードする場合は、そのまま使用できます。
-
-
ME4はAD CS認証局に連絡して証明書を確認する方法を認識していないため、FTPアップロードの最後にエラーが発生します。証明書は正しくアップロードされており、有効であるため、エラーは無視できます。エラーは次のようになります。
Verifying uploaded certificate and key.ERROR: cert verify FAILED. <C = US, ST = New Hampshire, L = Nashua, O = Dell, OU = IT, CN = me4-a.mscerttest.comerror 20 at 0 depth lookup: unable to get local issuer certificateerror /mnt/ramdisk/apphome/cert-file.pending: verification failed>Warning: The uploaded SSL certificate did not pass openssl validation.
証明書にSSLエラーがないことを確認します
最後の手順は次のとおりです。
-
ブラウザーを開く
-
共通名へのhttps接続を作成する
-
AコントローラーとBコントローラーの両方のFQDNへのhttps接続を作成する
-
SSLエラーが発生していないことを確認する
メモ: 共通名を使用した場合、デフォルトではコントローラーのいずれかに繰り返し送られます。共通名が他のコントローラーに接続されていることを確認します。これを行うには、共通名が使用しているコントローラーで管理サービスを再起動する必要があります。ここで、共通のFQDNで他のコントローラーに接続されることを確認します。
