セキュリティの概要

セキュリティとはデータの保護に関することであり、保存または伝送中にデータへの不正なアクセスやデータの損傷を防止する方法です。Application Server には、J2EE 標準に基づく動的で拡張可能なセキュリティアーキテクチャがあります。標準実装されているセキュリティ機能には、暗号化、認証と承認、および公開鍵インフラストラクチャがあります。Application Server は Java セキュリティモデルをベースに構築され、アーキテクチャが安全に動作できるサンドボックスを使用するため、システムやユーザーにリスクが及ぶ可能性がありません。説明する項目は次のとおりです。

アプリケーションおよびシステムセキュリティについて

概して、2 種類のアプリケーションセキュリティがあります。

アプリケーションによるセキュリティのほかに、Application Server システムのアプリケーション全体に影響するシステムセキュリティもあります。

プログラムによるセキュリティはアプリケーション開発者により制御されるため、このマニュアルでは説明していません。宣言によるセキュリティについては、このマニュアルである程度説明しています。このマニュアルは、主にシステム管理者を対象としているため、システムセキュリティを中心に説明しています。

セキュリティ管理用ツール

Application Server には次のセキュリティ管理用ツールがあります。

Java 2 プラットフォーム、J2SE (Java 2 Standard Edition) には、次の 2 つのセキュリティ管理用ツールがあります。

keytoolpolicytool、およびほかの Java セキュリティツールの使用方法の詳細については、http://java.sun.com/j2se/1.4.2/docs/tooldocs/tools.html#security の『Java 2 SDK Tools and Utilities』を参照してください。

パスワードのセキュリティ管理

Application Server の今回のリリースの場合、ファイル domain.xml には特定のドメインの仕様が収められ、最初に平文で IMQ ブローカのパスワードが収められています。このパスワードを収めた domain.xml ファイルの要素は、jms-host 要素の admin-password 属性です。このパスワードは変更不可能なので、インストールの際、セキュリティに重大な影響は与えません。

ただし、管理コンソールを使用してユーザーやリリースを追加し、このユーザーやリリースにパスワードを割り当ててください。このパスワードの中には、たとえばデータベースにアクセスするためのパスワードなど、平文で domain.xml ファイルに記述されているものがあります。このようなパスワードを平文で domain.xml ファイルに保持すると、セキュリティ上の危険を引き起こす可能性があります。次の手順を実行すると、admin-password 属性やデータベースパスワードを含む domain.xml のすべてのパスワードを暗号化できます。

  1. domain.xml ファイルがあるディレクトリ (デフォルトでは install_dir/domains/domain_dir/config) から、次の asadmin コマンドを実行します。
  2. asadmin create-password-alias <エイリアス名>

    次に例を示します。

    asadmin create-password-alias jms-password

    パスワードプロンプトが表示されます。この場合は admin です。詳細については、create-password-aliaslist-password-aliasesdelete-password-alias コマンドのマニュアルページを参照してください。

  3. domain.xml のパスワードの削除および置き換えを行います。これは、asadmin set コマンドを使用して行います。この目的の set コマンドの使用例は次のとおりです。
  4. asadmin set server.jms-service.jms-host.default_JMS_host.admin-password=${ALIAS= jms-password}
  5. 該当するドメインの Application Server を再起動します。
エンコード化されたパスワードを含むファイルの保護

ファイルの中にはエンコード化されたパスワードを含むものがあり、ファイルシステムのアクセス権を使用しての保護が必要になります。これらのファイルには次のものが含まれます。

マスターパスワードの変更

マスターパスワード (MP) とは、全体で共有するパスワードです。これを認証に使用したり、ネットワークを介して送信したりすることは決してありません。このパスワードはセキュリティ全体の要なので、ユーザーが必要に応じて手動で入力したり、またはファイルに隠蔽したりすることができます。これは、システムで最高の機密データです。ユーザーは、このファイルを削除することで、強制的に MP の入力を要求できます。マスターパスワードが変更されると、マスターパスワードキーストアに再保存されます。

マスターパスワードを変更するには、次の手順に従う必要があります。

  1. ドメインの Application Server を停止します。新旧のパスワードをプロンプトする asadmin change-master-password コマンドを使用して、依存するすべての項目を再暗号化してください。次に例を示します。
  2. asadmin change-master-password>
    Please enter the master password>
    Please enter the new master password>
    Please enter the the new master password again>
  3. Application Server を再起動します。
  4. 警告: この時点で、実行中のサーバーインスタンスを開始してはいけません。対応するノードエージェントの SMP が変更されるまでは、決して実行中のサーバーインスタンスを再起動しないでください。SMP が変更される前にサーバーインスタンスを再起動すると、起動に失敗します。

  5. 各ノードエージェントおよび関連するサーバーを 1 つずつ停止します。asadmin change-master-password コマンドをもう一度実行して、ノードエージェントおよび関連するサーバーを再起動してください。
  6. すべてのノードエージェントで対応が終了するまで、次のノードエージェントで同様の作業を継続します。このようにして、継続的な変更作業が完了します。
管理パスワードの変更

管理パスワードの暗号化については、「「パスワードのセキュリティ管理」」で説明されています。管理パスワードの暗号化は強く推奨されています。管理パスワードを暗号化する前に変更する場合は、asadmin set コマンドを使用してください。この目的の set コマンドの使用例は次のとおりです。

管理パスワードは、管理コンソールを使用しても変更できます。管理コンソールを使用して管理パスワードを変更するには、次の手順に従います。

  1. ツリーコンポーネントで、「設定」ノードを開きます。
  2. 「セキュリティ」ノードを開きます。
  3. 「レルム」ノードを開きます。
  4. admin-realm」ノードを選択します。
  5. 「レルムを編集」ページで、「ユーザーを管理」ボタンをクリックします。
  6. admin という名前のユーザーを選択します。
  7. 新しいパスワードを入力し、そのパスワードをもう一度入力します。
  8. 「保存」をクリックして保存するか、「閉じる」をクリックして保存しないで閉じます。

セキュリティの責任の割り当て

セキュリティの責任は次のように割り当てます。

アプリケーション開発者

アプリケーション開発者は次の責任を負います。

アプリケーション開発者は、deploytool などのツールを使用してアプリケーション配備記述子を編集できます。このセキュリティタスクの詳細については、次の URL に掲載されている『The J2EE 1.4 Tutorial』の「Security」の章で説明しています。

アプリケーション配備担当者

アプリケーション配備担当者は次の責任を負います。

アプリケーション配備担当者は、deploytool などのツールを使用してアプリケーション配備記述子を編集できます。このセキュリティタスクの詳細については、次の URL に掲載されている『The J2EE 1.4 Tutorial』の「Security」の章で説明しています。

システム管理者

システム管理者は次の責任を負います。

システム管理者は、管理コンソールを使用してサーバーセキュリティの設定を管理し、keytool を使用して証明書を管理します。このマニュアルは主にシステム管理者を対象にしています。


著作権表示