Liberty: パスワード暗号化による保護の制限

Liberty では、server.xml ファイルに保管されたパスワードに関して Advanced Encryption Standard (AES) の暗号化をサポートしています。Liberty 構成でシステム・パスワードを保護するためにこのオプションを使用する場合には、提供される保護の制限を把握する必要があります。

Liberty 構成でのパスワードの暗号化は、パスワードがセキュアである、つまり保護されることを保証するものではありません。暗号化されたパスワードを見ることができても暗号鍵を知らなければ、パスワードを簡単に回復することができないということだけです。アプリケーション・サーバー・プロセスには、暗号化されたパスワードと暗号化解除鍵の両方に対するアクセス権限が必要であるため、 これらの両方のデータ項目が、サーバー・ランタイム環境からアクセス可能なファイル・システム上に保管されていなければなりません。 また、サーバー構成に入れるパスワードを暗号化する人も、この暗号鍵を必要とします。 したがって、Liberty サーバー・インスタンスと全く同じファイル・セットへのアクセス権限を持つアタッカーに対しては、パスワードに AES 暗号化を適用しても、「排他的論理和」(XOR) エンコードを超える追加のセキュリティーは提供されません。

それでもなお、Liberty 構成でパスワードの暗号化を検討する理由はあります。Liberty 構成は、高度に構成可能で共有できるように設計されています。WebSphere Application Server traditional の管理サブシステム (管理コンソールおよび wsadmin スクリプト) では、XOR でエンコードしたパスワードに管理者がアクセスできないようになっています。Liberty は、管理サブシステムを使用せずに構成されるように設計されているため、XOR でエンコードしたパスワードはどの管理者からも見ることができます。こうした設計上の特徴を前提として、以下のシナリオについて検討してください。
  • パスワードは機密ではないため、エンコードしても価値は少ない。
  • パスワードは機密であるため、パスワードを含む構成ファイルはセキュリティー機密でありアクセスを制御する必要があるか、 あるいは、パスワードを暗号化してそのエンコード鍵をセキュリティー機密として保護する。

暗号化解除に使用される暗号鍵は、wlp.password.encryption.key プロパティーを設定することで、デフォルトをオーバーライドすることができます。 このプロパティーは、パスワードを保管する server.xml ファイルの中ではなく、 server.xml ファイルで組み込まれる別の構成ファイルに設定してください。 この別の構成ファイルには、1 つのプロパティーの宣言だけを入れて、 サーバーの通常の構成ディレクトリーの外に保管してください。 これにより、鍵を含むファイルが、server dump コマンドや package コマンドを実行したときに組み込まれることがなくなります。 暗号鍵のプロパティーは、ブートストラップ・プロパティーとして指定することも可能です。 このオプションを選択する場合は、 サーバーの bootstrap.properties ファイルに組み込まれる、別のプロパティー・ファイルに暗号鍵を入れてください。

XOR または AES を使用したパスワードの保護については、 関連のリンク (特に『Liberty: securityUtility コマンド』) を参照してください。


トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwlp_pwd_encrypt
ファイル名: cwlp_pwd_encrypt.html