データベース パスワードを保護する

セキュリティを強化するために、Jira がデータベースへのアクセスに使用するデータベース パスワードを保護できます。このパスワードは設定ファイルに保存されています。基本的なものから高度なものまで、さまざまな暗号化方法が用意されています。さらに、SecretStore インターフェイスに基づいて独自の暗号も作成できます。

以下に概説するソリューションは、データベース値を暗号化するためのある程度の保護を可能にしますが、完全なセキュリティは提供しません。設定ファイルには、値を復号化するために必要なデータが含まれたままになります。つまり、これらのファイルにアクセスできる攻撃者は、プロパティ値を復号化できる可能性があります。

これらのアプローチは、機密データの偶発的な漏洩に対する保護を強化することを目的としていますが、包括的なセキュリティ ソリューションとして使用することは推奨されていません。

Jira とデータベースが存在するサーバーを保護することをおすすめします。

シークレットの保存

Jira 10.2 以降、シークレット ストレージを使用してデータベースのパスワードを保護しています。

アップグレード後、またはゼロダウンタイムのアップグレード (ZDU) 中に、dbconfig.xml ファイルからパスワードを読み取り、暗号化してシークレット ストレージに保存し、dbconfig.xml ファイルのパスワードをプレースホルダー {ATL_SECURED} に置き換えます。パスワードが以前にプレーンテキストで保存されていた場合は、次のログが記録されます。

 main INFO      [c.a.j.config.database.DatabaseConfigHandler] Secret Service is enabled
 main INFO      [c.a.j.config.database.DatabaseConfigHandler] Detected new password in the xml file, that hadn't been encrypted by Secret Service
 main INFO      [c.a.j.config.database.DatabaseConfigHandler] Trying to get password from xml and decrypt it with legacy Secret Store Provider
 main INFO      [c.a.j.config.database.DatabaseConfigHandler] Database password decryption not performed.
 main INFO      [c.a.j.config.database.DatabaseConfigHandler] Getting plaintext password from config, encrypting it and storing in Secret Service.
 main INFO      [c.a.j.config.database.DatabaseConfigHandler] Secret Service is enabled
 main INFO      [c.a.j.config.database.DatabaseConfigHandler] Storing encrypted database password in Secret Service
 main INFO      [c.a.j.config.database.DatabaseConfigHandler] Replacing the password in config with {ATL_SECURED}

また、dbconfig.xml ファイルには、<password>{ATL_SECURED}</password> が含まれます

ZDU のロールバックの場合は、アップグレードされたすべてのノードの dbconfig.xml ファイルを編集し、パスワードをプレーンテキストのパスワードに戻す必要があります。

パスワードがシークレット ストア プロバイダーで保護されている場合、シークレットはシークレット ストレージに保存されますが、dbconfig.xml ファイルのパスワードは置き換えず、シークレット ストア プロバイダーを使用してパスワードの暗号化と復号化を行います。

Jira 10.2.1 以降:

  • パスワードがシークレット ストア プロバイダー、AES 暗号化、またはカスタム実装で暗号化されている場合、パスワードは復号化されてシークレット ストレージに保存され、dbconfig.xml ファイルのパスワードが {ATL_SECURED} に置き換えられます。
  • パスワードがシークレット ストア プロバイダー、AWS Secrets Manager、または HashiCorp Vault で暗号化されている場合は、それらを暗号化方法として保持し、パスワードの処理にシークレット ストレージを使用しません。

AWS Secrets Manager

AWS Secrets Manager は、データベースの認証情報を高レベルで安全に保管するオプションを提供します。このサービスは、ランタイム コールを通じて認証情報を取得し、キーやトークンなどのハードコードされた認証情報を完全に削除します。

AWS Secrets Manager での暗号化の詳細をご覧ください。

HashiCorp Vault

HashiCorp Vault は、パスワード、トークン、キーなどの機密データの保護、保存、アクセス制御のためのツールです。デジタル空間上の金庫のように機能し、権限のないユーザーから秘密を守りながら、適切な権限を持つサービスでいつでも利用できます。

暗号化に HashiCorp Vault を使用する方法についてはこちらをご覧ください。

最終更新日 2024 年 11 月 19 日

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

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