server.xml でパスワードを暗号化する
パスワード暗号化のサポートによって Tomcat プロトコルを拡張する次のプロトコルが Confluence には用意されています。テーブルが完全に表示されていない場合は、右にスクロールして内容を確認してください。
プロトコル クラス | Tomcat プロトコルに基づく | パスワード暗号化をサポートする属性 |
com.atlassian.secrets.tomcat.protocol. | Http11NioProtocol |
|
com.atlassian.secrets.tomcat.protocol. | Http11Nio2Protocol |
|
com.atlassian.secrets.tomcat.protocol. | Http11AprProtocol |
|
com.atlassian.secrets.tomcat.protocol. | AjpNioProtocol |
|
com.atlassian.secrets.tomcat.protocol. | AjpNio2Protocol |
|
com.atlassian.secrets.tomcat.protocol. | AjpAprProtocol |
|
単一のパスワードの暗号化
暗号化されたパスワードを作成すると、暗号化ツールは 2 つのファイル、encryptedPassword
と encryptionKey
を生成します。
また、以下の手順でコマンドの末尾にオプションの引数として独自の暗号化キーファイル名を追加することもできます。これにより、暗号化ツールは、暗号化キーを使用して新しいファイルを生成する代わりに、このファイル名を使用します。独自のファイル名を使用する場合は、現在のディレクトリにそのファイルが既に存在することを確認してください。
<Confluence-installation-directory>/bin
に移動します。次のコマンドを実行してパスワードを暗号化します。
java -cp "./*" com.atlassian.secrets.cli.tomcat.TomcatEncryptionTool
If you want to provide your own encryption key, make sure that:
you add the filename to the end of the command
the file already exists in your current directory:
java -cp "./*" com.atlassian.secrets.cli.tomcat.TomcatEncryptionTool encryptionKey_1698120035971
When prompted, enter your password.
If you provide your own encryption key to the end of the command, the encryption tool will generate theencryptedPassword
andencryptionKey
files.
If you specify your own encryption key file name at the end of the command, the encryption tool will generate theencryptedPassword
file only.2 つの新しいファイルを安全な場所に移動してください。必要に応じてファイルの名前を変更することもできます。
1 つのコネクタの複数のパスワードの暗号化
1 つのコネクタで複数のパスワードを暗号化する場合は、すべてのパスワードに同じ暗号化キーを使用する必要があります。最初のパスワードを暗号化したら、生成された encryptionKey
ファイルを使って、キーのパスを暗号化ツールに渡すことで 2 つ目以降のパスワードを暗号化します。
java -cp "./*" com.atlassian.secrets.cli.tomcat.TomcatEncryptionTool /path/to/encryptionKey
暗号化ツールでは encryptedPassword
ファイルのみが生成されます。
コネクタ設定における暗号化されたパスワードの使用
コネクタ設定で暗号化されたパスワードを使用するには、次のプロパティを設定します。
protocol
— use one of the protocol classes described aboveproductEncryptionKey
— specify a path to theencryptionKey
file
You can then use a path to a file with the encrypted password file in place of a plaintext password in the Connector configuration.
For example, in the Confluence conf/server.xml
file, the configuration of a Http11Nio2
Connector with encrypted keystore and key passwords might look like this:
<Connector
protocol="com.atlassian.secrets.tomcat.protocol.Http11Nio2ProtocolWithPasswordEncryption"
port="8443"
(...)
keystoreFile="/var/secrets/keystore/keystore"
keystorePass="/var/secrets/keystore/encryptedKeystorePass"
keyPass="/var/secrets/keystore/encryptedKeyPass"
productEncryptionKey="/var/secrets/encryptionKey"
/>
productEncryptionKey
が 1 つだけ指定されており、keystorePass
と keyPass
の両方を同じキーで暗号化する必要があることに注意してください。
トラブルシューティング
既知の問題
If your HTTPS site is not loading and you see the following error in Tomcat’s catalina.out log file, follow the steps below.
Error: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
- Copy the JAR file
<installed-home>/synchrony-proxy/WEB-INF/lib/slf4j-api-<version>.jar
to<installation-home>/lib
. - Confluence を再起動します。
For more details about this issue, see CONFSERVER-98347.