server.xml のパスワードを暗号化

Jira インスタンスのセキュリティを強化するために、Tomcat の server.xml ファイルでコネクタの設定に使用するパスワードを暗号化できます。

はじめる前に

このソリューションでは、productEncryptionKey を用いたプロトコルと暗号化されたパスワードを利用しますが、Tomcat の server.xml の設定にはパスワードの復号化に必要な情報がすべて含まれるため、完全なセキュリティは保証されません。攻撃者が Jira になりすましてパスワードへのアクセス権を取得できてしまう可能性があります。セキュリティを強化するために、Jira と productEncryptionKey が配置されているサーバーを保護することをお勧めします。

パスワード暗号化のサポートによって Tomcat プロトコルを拡張する次のプロトコルが Jira には用意されています。

プロトコル クラス

プロトコル クラスのベースになる Tomcat プロトコル

パスワード暗号化がサポートされている属性

com.atlassian.secrets.tomcat.protocol.Http11NioProtocolWithPasswordEncryptionHttp11NioProtocol
  • KeystorePass

  • KeyPass
  • SSLPassword
  • TruststorePass
com.atlassian.secrets.tomcat.protocol.Http11Nio2ProtocolWithPasswordEncryptionHttp11Nio2Protocol
  • KeystorePass

  • KeyPass
  • SSLPassword
  • TruststorePass
com.atlassian.secrets.tomcat.protocol.Http11AprProtocolWithPasswordEncryptionHttp11AprProtocol
  • KeystorePass

  • KeyPass
  • SSLPassword
  • TruststorePass
com.atlassian.secrets.tomcat.protocol.AjpNioProtocolWithPasswordEncryptionAjpNioProtocol

secret

com.atlassian.secrets.tomcat.protocol.AjpNio2ProtocolWithPasswordEncryptionAjpNio2Protocol

secret

com.atlassian.secrets.tomcat.protocol.AjpAprProtocolWithPasswordEncryptionAjpAprProtocol

secret

単一のパスワードの暗号化

  1. <Jira-installation-directory>/bin に移動します。

  2. 次のコマンドを実行してパスワードを暗号化します。
    java -cp "./*" com.atlassian.secrets.cli.tomcat.TomcatEncryptionTool

    以下に示すオプションの引数を使用することもできます。

  3. プロンプトが表示されたら、パスワードを入力します。暗号化ツールによって encryptedPasswordencryptionKey の 2 つのファイルが生成されます。これらのファイルを安全な場所に移動してください。必要に応じて、ファイルの名前を変更することもできます。

1 つのコネクタの複数のパスワードの暗号化

1 つのコネクタで複数のパスワードを暗号化する場合は、すべてのパスワードに同じ暗号化キーを使用する必要があります。最初のパスワードを暗号化したら、生成された encryptionKey を使って、キーのパスを暗号化ツールに渡すことで 2 つ目以降のパスワードを暗号化します。

java -cp "./*" com.atlassian.secrets.cli.tomcat.TomcatEncryptionTool /path/to/encryptionKey

暗号化ツールでは encryptedPassword ファイルのみが生成されます。


コネクタ設定における暗号化されたパスワードの使用

例外的なエラー

Jira 9.11.0 では、catalina.out ファイルで例外的なエラーが発生する可能性があります。現在、修正に取り組んでおり、今後のバグ修正リリースの一部として提供する予定です。一時的な回避策は次のとおりです。

  1. <Jira-installation-directory> に移動します。

  2. atlassian-secrets-api ライブラリを Tomcat lib/ ディレクトリにコピーするには、次のコマンドを実行します: cp atlassian-jira/WEB-INF/lib/atlassian-secrets-api-<version>.jar lib/

この課題は JRASERVER-76246 - 課題情報を取得中... ステータス で追跡できます。


コネクタ設定で暗号化されたパスワードを使用するには、次のプロパティを設定する必要があります。

  • protocol -上記のいずれかのプロトコル クラスを使用

  • productEncryptionKey - encryptionKey ファイルのパスを指定

次に、コネクタ設定で、プレーン テキストのパスワードの代わりに適切な encryptedPassword ファイルのパスを使用できます。


たとえば、Jira ではキーストアとキー パスワードが暗号化された Http11Nio2 コネクタの conf/server.xml 構成が次のようになります。

<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 つだけ指定されているため、keystorePasskeyPass の両方を同じキーで暗号化する必要がありました。



最終更新日 2023 年 9 月 8 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.