SSL の構成
SSL を有効にする
SSL を有効にするには、CycleCloud インストール ディレクトリ内にある cycle_server.properties ファイルを編集します。 テキスト エディターで cycle_server.properties ファイルを開き、次の値を適切に設定します。
# True if SSL is enabled
webServerEnableHttps=true
webServerRedirectHttp=true
重要
cycle_server.properties ファイルを編集するときは、最初にファイル内の既存のキー値定義を探す必要があることに注意してください。 複数の定義がある場合、 最後 の定義が有効になります。
CycleCloud の既定の SSL ポートはポート 8443 です。 他のポートで暗号化された Web 通信を実行する場合は、プロパティを webServerSslPort
新しいポート値に変更できます。 と値が webServerSslPort
webServerPort
競合していないことを確認してください。
cycle_server.properties ファイルを編集した後、暗号化された通信チャネルをアクティブにするには CycleCloud を再起動する必要があります。
/opt/cycle_server/cycle_server restart
暗号化された通信用に構成するときに CycleCloud の SSL ポートを変更しなかったと仮定すると、SSL 接続の確認に http://<my CycleCloud address>:8443/
移動できるようになりました。
注意
HTTPS URL が機能しない場合は、CycleCloud Home>/logs/catalina.err と CycleCloud Home/logs/cycle_server.log で、暗号化されたチャネルが応答しない理由を示すエラー メッセージを確認<します。><
証明書のSelf-Generated
VeriSign などの証明機関 (CA) からの証明書がない場合は、Azure CycleCloud で提供される自動生成された自己署名証明書を使用できます。 これは、SSL を無償で使用する簡単な方法ですが、ほとんどの Web ブラウザーでは、信頼された機関がチャネルの暗号化に使用されている証明書を確認していないという警告が表示されます。 セキュリティで保護されたネットワーク上の内部 CycleCloud デプロイなど、場合によっては、これは許容されます。 ユーザーはサイトを表示するためにブラウザーに例外を追加する必要がありますが、それ以外の場合、コンテンツとセッションは想定どおりに暗号化されます。
警告
Azure CycleCloud 自己署名証明書の有効期限は短くなります。 有効期限が切れると、ブラウザーは信頼されていない SSL 証明書に関する警告を再発行します。 ユーザーは、Web コンソールを表示するために明示的に受け入れる必要があります。
Let's Encrypt の使用
CycleCloud は Let's Encrypt の証明書をサポートしています。 CycleCloud で Let's Encrypt を使用するには、次の手順を実行する必要があります。
- ポート 443 で SSL を有効にする
- CycleCloud が外部ドメイン名を持つポート 443 経由でパブリックに到達可能であることを確認する
Let's Encrypt のサポートを有効にするには、設定ページの [SSL] オプションを使用するか、CycleCloud マシンから実行 cycle_server keystore automatic DOMAIN_NAME
します。
CA-Generated証明書の操作
CA によって生成された証明書を使用すると、信頼された証明書エラーを表示せずに CycleCloud インストールへの Web アクセスが許可されます。 プロセスを開始するには、最初に次を実行します。
./cycle_server keystore create_request <FQDN>
署名された証明書の [共通名] フィールドであるドメイン名を指定するように求められます。 これにより、指定したドメインの新しい自己署名証明書が生成され、cycle_server.csr ファイルが書き込まれます。 CSR を証明機関に提供する必要があり、最終的な署名付き証明書 (以下では server.crt と呼ばれます) が提供されます。 また、ルート証明書と、新しい証明書とルート証明書の間のチェーンで使用される中間証明書も必要になります。 CA はこれらを提供する必要があります。 1 つの証明書ファイルとしてバンドルされている場合は、次のコマンドを使用してインポートできます。
./cycle_server keystore import server.crt
複数の証明書ファイルが指定されている場合は、名前をスペースで区切って同じコマンドに追加して、すべてを一度にインポートする必要があります。
./cycle_server keystore import server.crt ca_cert_chain.crt
既存の証明書をインポートする
CA または自己署名証明書を以前に作成した場合は、CycleCloud を更新して次のコマンドで使用できます。
./cycle_server keystore update server.crt
PFX ファイルをインポートする場合は、CycleCloud 7.9.7 以降で次のコマンドを実行できます。
./cycle_server keystore import_pfx server.pfx --pass PASSWORD
PFX ファイルに含めることができるエントリは 1 つだけであることに注意してください。
最後に、これらのコマンドの外部でキーストアを変更した場合は、CycleCloud 7.9.7 以降ですぐにキーストアを再読み込みできます。
./cycle_server keystore reconfig
ネイティブ HTTPS を使用するように CycleCloud を構成する
既定では、Azure CycleCloud は標準の Java IO HTTPS 実装を使用するように構成されています。 この既定値は、サポートされているすべてのプラットフォームで適切に機能します。
Linux プラットフォームで実行する場合のパフォーマンスを向上させるために、必要に応じて Tomcat ネイティブ HTTPS 実装を使用するように CycleCloud を構成できます。
Linux でネイティブ HTTPS を有効にするには、cycle_server.properties ファイルに属性とwebServerUseNativeHttps
属性を追加webServerEnableHttps
します。
テキスト エディターで cycle_server.properties を開き、次の値を設定します。
# Turn on HTTPS
webServerEnableHttps = true
# Use Native HTTPS connector
webServerUseNativeHttps = true
TLS 1.0 および 1.1 の下位互換性
既定では、Java およびネイティブ HTTPS コネクタは、TLS 1.2 プロトコルのみを使用するように構成されます。 古い Web クライアントに対して TLS 1.0 または 1.1 プロトコルを提供する必要がある場合は、下位互換性のためにオプトインできます。
テキスト エディターで cycle_server.properties を開き、属性をsslEnabledProtocols
探します。
sslEnabledProtocols="TLSv1.2"
サポートするプロトコルの +
区切りリストに属性を変更します。
sslEnabledProtocols="TLSv1.0+TLSv1.1+TLSv1.2"
暗号化されていない通信をオフにする
上記のセットアップでは、暗号化されていない (HTTP) 接続を作成できますが、セキュリティのために HTTPS にリダイレクトされます。
CycleCloud インストールへの暗号化されていないアクセスを防ぐことができます。 暗号化されていない通信をオフにするには、テキスト エディターで cycle_server.properties ファイルを開きます。 プロパティを webServerEnableHttp
探し、次のように変更します。
# HTTP
webServerEnableHttp=false
変更を保存し、CycleCloud を再起動します。 CycleCloud への HTTP アクセスは無効になります。