ELCのWeb管理ページおよびカタログへHTTPSでアクセスするための設定方法
目次
概要
Web管理ページおよびカタログへアクセスするためにHTTPからHTTPSへ変更するには、以下の手順を実行する必要があります。
認証局から署名された証明書を取得する 署名された証明書をJavaキーストアファイルにインポートする ELCが証明書を使用するための設定
認証局から署名された証明書を取得する
HTTPSでは、ELC Web管理サーバーとクライアントブラウザ間の通信を暗号化するために、認証局から発行された署名された証明書が必要です。
署名されたのSSL証明書を取得する方法は、お客様がご利用する認証局によって異なります。署名されたSSL証明書を取得する方法については、ご利用している認証局のドキュメントを参照してください。
このプロセスでは、通常、証明書署名要求(CSR)を作成する必要があります。このプロセスでは、秘密鍵ファイルが作成されます。 この鍵ファイルは安全に保管する必要があり、次のステップで使用します。
署名された証明書をJavaキーストア(Keystore)ファイルにインポートする
ELCのWeb管理でHTTPSを有効にするには、署名済みの証明書とそれに関連付けられた秘密鍵を、JKS形式の互換性のあるキーストアファイルで利用できるようにする必要があります。keytoolと呼ばれるツールを使用して、JKSキーストアファイルを作成します。 keytoolは、ELCのインストールセットとして提供しており、以下のパスに配置されています。
Windows版の場合:
<ELC-Installation>Java\jre8bin\keytool.exe
Linux版の場合:
<ELC-Installation>Java\jre8bin\keytool
JKSのキーストアには、発行された証明書に関連付けられた秘密鍵と、発行された証明書からルート認証局の証明書に至るまでの証明書チェーンを含める必要があります。keytoolを使用してJKSキーストア・ファイルを作成するには、まずこれらのファイルをPKCS12ファイルにインポートしてください。
PKCS12ファイルを作成するには、opensslツールが必要です。このツールはLinuxに含まれています。Windowsの場合、このツールはhttps://wiki.openssl.org/index.php/Binariesのサイトから入手できます。
PKCS12ファイルを作成するには、次のコマンドを実行します。
openssl.exe pkcs12 -export -in fullchain.pem -inkey privkey.pem -name elc -out elc.p12
プロンプトが表示されたら、elc.p12ファイルのエクスポートパスワードを入力します。上記のコマンドでは、fullchain.pemが認証局から提供された証明書の完全なチェーンを含むファイルで、privkey.pemが証明書に関連付けられた秘密鍵ファイルです。認証局によっては、証明書チェーンを個別のファイルとして返す場合があります。その場合は、opensslコマンドを使用する前に、それらを1つのファイルにまとめる必要があります。
Windowsでのコマンドの使用例は、以下の通りです。
copy server.pem + intermediate.pem + authority.pem fullchain.pem
Linuxでのコマンドの使用例は、以下の通りです。
cat server.pem intermediate.pem authority.pem > fullchain.pem
PKCS12ファイルの作成が完了したら、次のコマンドでJKSのキーストアファイルを作成します。
keytool.exe -importkeystore -srckeystore elc.p12 -srcstoretype pkcs12 -srcstorepass exportpwd -alias elc -destkeystore keystore.jks -deststoretype jks -deststorepass storepwd -destkeypass keypwd -destalias elc
上記コマンドのexportpwdはopensslコマンドで使用したexportのパスワードに置き換え、storepwdとkeypwdはお好みのkeystoreとkeyのパスワードに置き換えてください。後者の2つのパスワードは、ELCをHTTPS向けに設定する際に必要となります。
自己署名証明書の使用
テスト時には、認証局が発行した証明書ではなく、自己署名証明書を使用することもできます。
keytool.exe -genkeypair -alias elc -keyalg RSA -dname CN=localhost -storepass storepwd -keypass keypwd -keystore keystore.jks
上記のコマンドのlocalhostは、クライアントブラウザがELCのWeb管理ページにアクセスする際に使用するホスト名に置き換え、storepwdとkeypwdは希望するパスワードに置き換えてください。
自己署名証明書を使用する場合、クライアントブラウザがELCのWeb管理ページにアクセスする際に警告が表示され、続行する前にセキュリティ警告を受け入れる必要があることに注意してください。
ELCが証明書を使用するための設定
HTTPSを有効にするには、ELCのWeb管理ページで設定できます。この設定は、ELCのインストールを完了した後、ブラウザでELCのWeb管理ページへアクセスし、左側の「Configuration Properties」セクションをクリックします。
HTTPSを有効にする前に、前の節の「署名された証明書をJavaキーストアファイルにインポートする」で作成したJKSキーストアファイルを<ELC-Installation>/confディレクトリにコピーする必要があります。
HTTPSを有効にするには、以下のプロパティを設定します。
プロパティ名 | プロパティの説明 | 使い方の説明 |
---|---|---|
webAdminHttpsEnable | Web管理向けのHTTPSポートを有効 | HTTPSを有効にするには、このプロパティをtrueに設定 |
webAdminHttpsPort | Web管理画面のHTTPSポートを設定 | このプロパティのデフォルト値は、5583 |
webAdminHttpsKeystore | Web管理画面のHTTPS証明書のキーストアファイルを設定 | JKSのキーストアファイルを<ELC-Installation>¥confディレクトリへコピーしてください |
webAdminHttpsKeystorePassword | Web管理画面のHTTPS証明書のキーストアのパスワードを設定 | 前節で紹介したコマンドラインの例では、storepwd を指定しています。 |
webAdminHttpsKeyPassword | Web管理画面のHTTPS証明書のキーパスワードを設定 | 前節で紹介したコマンドラインの例では、keypwdを指定しています。 |
webAdminHttpsCertAlias | Web管理画面のHTTPS証明書のエイリアスをキーストアに設定 | 前節で紹介したコマンドラインの例では、keypwdを指定しています。 |
ELCの[configuration properties]の変更内容を保存し、ELCサービスを再起動してください。以下は、HTTPSでアクセスするURLの例です。
https://elc.example.com:5583/admin/server_status.jsf
Webブラウザのアドレスバーに錠前のマークが表示され、HTTPSが使用されていること、接続が安全であることが示します。これが表示されない場合は、次節の「HTTPSのトラブルシューティング」を参照してください。
HTTPSのトラブルシューティング
WebブラウザでWeb管理ページにアクセス(到達)できない場合は、HTTPS設定の設定が無効である可能性があります。この問題を解決するには、<ELC-Installation>/logs/error.logに出力されているファイルのHTTPS設定に関連するエラーメッセージを確認してください。
下記の表は、ファイルに報告される可能性のあるエラーと、そのエラーの原因と思われるも内容を示しています。HTTPSではないELC管理コンソールを使用して、[configuration properties]を変更することができます。
http://localhost:5580/admin/server_config.jsf
error.logのエラーメッセージ | 考えられる原因と対処法 |
---|---|
HTTPS settings are invalid - File error reading keystore: C:\Program Files\Embarcadero\ELC5.36\LicenseCenter\conf\keystore.jks (The system cannot find the file specified) | 設定されたキーストアファイルが見つかりませんでした。キーストアファイルが存在することを確認するか、webAdminHttpsKeystoreの設定を編集して、正しいファイルのパスと名前を指定してください。 |
HTTPS settings are invalid - File error reading keystore: Keystore was tampered with, or password was incorrect | 設定されたキーストアのパスワードが正しくありませんでした。webAdminHttpsKeystorePasswordの設定が、キーストアのパスワードと一致しているか確認してください。 |
HTTPS settings are invalid - Security Exception reading keystore: Cannot recover key | 設定されたキーパスワードが正しくありません。webAdminHttpsKeyPasswordの設定が、キーパスワードと一致しているか確認してください。 |
HTTPS settings are invalid - Configured alias elc was not found in keystore file C:\Program Files\Embarcadero\ELC5.36\LicenseCenter\conf\keystore.jks. The following aliases were found: server. | 設定されたエイリアスが、キーストアで見つかりませんでした。webAdminHttpsCertAliasの設定が、キーストアで使用されているエイリアス(鍵名)と一致していることを確認してください。 |
HTTPS ELCのWeb管理画面へアクセス時に、Webブラウザに警告やエラーが表示される場合、考えられる原因について以下の表を参照してください。
Webブラウザの警告/エラーメッセージ | 考えられる原因と対処法 |
---|---|
This site can’t provide a secure connection. elc.example.com sent an invalid response. | WebブラウザはHTTPSを使用しようとしていますが、サーバーはHTTPで応答しています。使用されているアドレスのポート番号が正しいことを確認してください。HTTP ポート(デフォルト 5580)ではなく、HTTPS ポート(デフォルト 5583)である必要があります。webAdminHttpsPortの設定が、アドレスで使用されているポートと一致していることを確認してください。 |
The page/site isn’t working. elc.example.com didn’t send any data. | HTTPS ポートに接続する際、Webブラウザは HTTP を使用しています。HTTPSポート(デフォルトの5583)で接続する場合は、アドレスがhttps:// で始まることを確認してください。 |
Your connection is not private. Attackers might be trying to steal your information from localhost (for example, passwords, messages, or credit cards). | 指定されたアドレスへの接続時に、ブラウザで証明書を確認できませんでした。
これは、アドレスに使用されているホスト名が、証明書に使用されているホスト名と一致していないためと考えられます。”localhost "ではなく、証明書で指定されたホスト名を使用していることを確認してください。 また、証明書が自己署名されている場合など、ブラウザが信頼する認証局から発行されていない場合も同様のエラーが表示されます。安全な接続を確立するためには、信頼できる認証局から発行された証明書である必要があります。 この警告を無視して、HTTPS ELCのWebか管理画面の読み込みを続行することも可能です。これを行うには、「詳細設定」をクリックし、続いて「elc.example.comに進む(安全ではない)」をクリックします。ただし、これを実行すると、接続は安全ではなくなります。 |