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 ファイルのみが生成されます。


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


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


  • 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 年 6 月 22 日

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

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