セキュリティー構成の調整
セキュリティーをチューニングして、性能と機能のバランスをとることができます。このバランスをとるために、一般的なセキュリティー、Common Secure Interoperability バージョン 2 (CSIv2)、Lightweight Directory Access Protocol (LDAP) 認証、Web 認証、および許可の調整についての考慮事項に従います。
このタスクについて
手順
- 一般セキュリティーの調整に対する以下の推奨事項を考慮します。
- サーバーにどのコードが配置されているかが正確にわかっており、 プロセス・リソースを保護する必要がない場合は、Java 2 セキュリティー・マネージャーを使用不可にすることを検討します。 これを行う際には、ローカル・リソースがある程度危険にさらされることに留意してください。
- デプロイメント・マネージャーとノード・エージェントを
再始動して新規のセキュリティー・ポリシーを変更する前に、
新しいセキュリティー設定をすべてのノードに伝搬することを検討してください。
複数のサーバー全体のセキュリティー構成に一貫性がないと、 アクセス否認エラーが発生します。 したがって、 管理セキュリティーを使用可能にしたり使用不可にしたりする場合は、 新規のセキュリティー設定を伝搬する必要があります。
構成変更は、一般に、構成の同期を使用して伝搬されます。 自動同期が使用可能になっている場合は、自動同期のインターバルが来るのを待つことも、その前に強制的に同期を行うこともできます。 手動で同期する場合には、すべてのノードを同期する必要があります。
セルが構成状態にあり、セキュリティー・ポリシーが、 セキュリティーを使用可能にしたノードと使用不可にしたノードで混在している場合 は、syncNode ユーティリティーを使用して、新規の設定が伝搬されていないノードを 同期化することができます。
分散環境でセキュリティーを使用可能にすることの詳細については、 レルムのセキュリティーの使用可能化を参照してください。
- 環境が十分セキュアであると思われる場合は、
キャッシュとトークン・タイムアウトを増やすことを検討します。これらの値を増やすと、
再認証を行う回数が減ることになります。
このアクションを実行すると、以降の要求が、既に作成済みのクレデンシャルを
再使用できるようになります。トークン・タイムアウトを大きくすることの欠点は、
トークンをハッキングされる危険にさらし、ハッカーに、トークンの有効期限が切れる前に
システムに侵入する時間を多く与えてしまう点にあります。
セキュリティー・キャッシュ・プロパティーを使用して、1 次および
2 次の hashtable キャッシュの初期サイズを決定できます。
これは、再ハッシュの頻度とハッシュ・アルゴリズムの配布に影響します。
これらのプロパティーのリストについては、 認証キャッシュ設定を参照してください。
- 管理コネクターを、Simple Object Access Protocol (SOAP) から Remote Method Invocation (RMI) に変更することを検討します。 これは、SOAP が完全にステートレスであるのに対して、RMI はステートフル接続を使用するためです。 ベンチマークを実行して、環境内でパフォーマンスが向上しているかどうかを判別してください。
- wsadmin スクリプトを使用して、すべてのユーザーやグループ のアクセス ID を入力し、アプリケーションの始動を高速化します。アプリケーションに多数のユーザーやグループが 含まれている場合、または、アプリケーションを頻繁に停止したり始動したりする場合は、 このアクションを行ってください。WebSphere Application Server は、ユーザー名とグループ名を、許可テーブル内にある固有のアクセス ID にマップします。 アクセス ID の正確なフォーマットは、リポジトリーによって異なります。 アクセス ID は、アプリケーション・デプロイメントの間、およびその後にのみ決定できます。 アセンブル時に作成された許可テーブルには、適切なアクセス ID がありません。 アクセス ID を更新する方法について詳しくは、『AdminApp のコマンド』の項を参照してください。
オブジェクト・リクエスト・ブローカー (ORB) の調整を検討します。 これは、セキュリティーが使用可能であるかないかにかかわらず、ORB がエンタープライズ Bean パフォーマンスに影響を与えるものであるためです。 ORB の調整ガイドラインに関する情報を参照してください。
- SSL を使用している場合は、セッション管理設定に関する情報で説明されているように、SSL セッション・トラッキング・メカニズム・オプションを使用可能にします。
場合によっては、 非制限 Java Cryptography Extension (JCE) ポリシー・ファイルを使用すると、パフォーマンスが改善されます。 Web Services Security の調整に関する情報を参照してください。
- 単一のマシンで、ワークロードを 1 つの Java 仮想マシン (JVM) ではなく 複数の JVM に分散させると、許可決定の競合が少なくなるため、セキュリティーのパフォーマンスが改善されます。
- 以下のステップを考慮して、
Common Secure Interoperability バージョン 2 (CSIv2) プロトコルを調整します。
- ユーザー ID とパスワードの代わりに、Secure Sockets Layer (SSL) クライアント証明書を使用して、 Java クライアントを認証することを検討します。 既に SSL 接続は確立されているため、相互認証を使用しても、 ユーザー ID やパスワードを含むサービス・コンテキストを完全に除去する間に 追加されるオーバーヘッドはほとんどありません。
- あまりセキュリティーが重要でない大量のデータを 送信する場合は、暗号の強度を下げます。 暗号化を必要とするデータが多く、また、その暗号の強度が高いほど、 暗号化に要する時間は長くなります。データが機密でない場合は、128 ビットの暗号による無駄な処理をしないようにしてください。
- ダウンストリーム代行のために ID アサーションを使用する場合は、トラステッド・サーバー ID のリストにアスタリスク (*) のみを入れる (つまりすべてのサーバーを信頼する) ことを検討します。 このトラストを提供するために、サーバー間で SSL 相互認証を使用します。 SSL ハンドシェークにこの追加のステップを追加すると、 アップストリーム・サーバーを完全に認証して信頼されたリストをチェックするよりも、 パフォーマンスが良くなります。 アスタリスク (*) が使用されている場合は、ID トークンが信頼されます。SSL 接続は、 クライアント証明書認証を介してサーバーを信頼します。
- CSIv2 用にステートフル・セッションが使用可能であることを確認します。 これはデフォルトですが、 最初の要求時と、以降のトークンの有効期限が切れたときにのみ認証が必要になります。
- CSIv2 セッション・キャッシュの値の変更を検討します。これらの値を変更すると、リソース不足を回避することができます。詳しくは、Common Secure Interoperability バージョン 2 アウトバウンド通信の項目を参照してください。
- WebSphere Application Server
バージョン 5 以上のサーバーとのみ通信を行う場合は、
アクティブ認証プロトコルを、CSI および SAS ではなく、CSI にします。
このアクションにより、クライアント・サイドとサーバー・サイドの両方における
各要求に対するインターセプター呼び出しが除去されます。重要: SAS がサポートされるのは、 バージョン 6.1 セルに統合されたバージョン 6.0.x と、 それより前のバージョンの間のサーバーに限られます。
- 以下のステップを考慮して、
Lightweight Directory Access Protocol (LDAP) 認証をチューニングします。
- 管理コンソールで、「セキュリティー」>「グローバル・セキュリティー」とクリックします。
- 「ユーザー・アカウント・リポジトリー」の下で、 「使用可能なレルム定義」ドロップダウン・リストをクリックして、 「スタンドアロン LDAP レジストリー」を選択し、さらに「構成」をクリックします。
- 大/小文字の区別が重要でない場合は、スタンドアロン LDAP レジストリー構成の「許可検査で大/小文字を区別しない」オプションを選択します。
- 「接続の再利用」オプションを選択します。
- ご使用の LDAP サーバーがサポートするキャッシュ機能を使用します。
- IBM Tivoli® Directory Server を使用している場合は、 IBM Tivoli Directory Server または SecureWay のいずれかのディレクトリー・タイプを選択します。 IBM Tivoli Directory Server は、 新規グループ・メンバーシップ属性を使用してグループ・メンバーシップ検索を改善するようにプログラミングされているため、 パフォーマンスが改善されます。 ただし、IBM Tivoli Directory Server を使用するには、 許可が大/小文字を区別しない必要があります。
- iPlanet Directory ユーザーの場合、iPlanet Directory Server (Sun ONE とも呼ばれる) または Netscape をディレクトリーとして選択してください。iPlanet Directory Server ディレクトリーを使用すると、グループ・メンバーシップ検索のパフォーマンスを向上させる ことができます。ただし、グループ・メカニズムに使用されるのは、ロールのみです。
- 以下のステップを考慮して、Web 認証を調整します。
- 環境が十分セキュアであると思われる場合は、キャッシュとトークン・タイムアウトの値を増やします。Web 認証情報は、これらのキャッシュに保管されており、認証情報がキャッシュ内にある限り、認証のためにログイン・モジュールが呼び出されることはありません。これにより、以後の要求で、既に作成されたクレデンシャルを再使用することができます。 トークン・タイムアウトを大きくすることの欠点は、 トークンを盗まれる危険にさらし、ハッカーに、トークンの有効期限が切れる前に システムをハッキングする時間を多く与えてしまう点にあります。
- シングル・サインオン (SSO) を使用可能にします。SSO を構成するには、
「セキュリティー」>「グローバル・セキュリティー」
とクリックします。
「Web セキュリティー」の下の「シングル・サインオン (SSO)」をクリックします。
SSO は、 「認証メカニズムおよび有効期限」パネルで、 認証メカニズムとして「LTPA」を構成する場合に限り使用可能です。 ただし「認証メカニズムおよび有効期限」パネルでは、認証メカニズムとして Simple WebSphere Authentication Mechanism (SWAM) を選択することも可能です。SSO を選択すると、同じ SSO ドメイン内の複数のアプリケーション・サーバーへの要求を行う場合に、 1 つのアプリケーション・サーバーに対する単一認証で十分です。 SSO が望ましくない状況がいくつかあり、そのような状況では SSO を使用しません。
- この機能が必要でない場合は、シングル・サインオン (SSO) パネルで「Web インバウンド・セキュリティー属性の伝搬」オプションを使用不可または使用可能にします。場合によっては、この機能を使用可能にすると、パフォーマンスが向上します。 通常、この向上が見られるのは、 大量のユーザー・レジストリー呼び出しがパフォーマンスを 低下させているような高ボリュームのケースです。 また、場合によっては、この機能を使用不可にすると、パフォーマンスを向上することができます。 通常、この向上が見られるのは、 ユーザー・レジストリー呼び出しが大量のリソースを使用していない場合です。
- 以下の 2 つのカスタム・プロパティーは、セキュリティー属性の伝搬が使用可能になっている場合、パフォーマンスの向上に役立つことがあります。
- com.ibm.CSI.propagateFirstCallerOnly
このプロパティーのデフォルト値は true です。このカスタム・プロパティーが true に設定されている場合、スレッド上に留まっている伝搬トークン内の最初の呼び出し元は、セキュリティー属性の伝搬が有効になっているときにログに記録されます。このプロパティーが false に設定されている場合は、呼び出し元切り替えのすべてがログに記録され、パフォーマンスに影響を与える可能性があります。
- com.ibm.CSI.disablePropagationCallerList
このカスタム・プロパティーが true に設定されている場合、 伝搬トークン内の呼び出し元またはホスト・リストを追加する機能が完全に使用不可になります。 この機能は、伝搬トークンの呼び出し元またはホスト・リストが環境内で不要である場合に有益です。
- com.ibm.CSI.propagateFirstCallerOnly
- 以下のステップを考慮して、許可をチューニングします。
- ユーザーをユーザー・レジストリー内のグループにマッピングします。Java Platform, Enterprise Edition (Java EE) ロールとグループを関連付けます。この関連付けにより、 ユーザー数が増加するにつれてパフォーマンスが大きく向上します。
- エンタープライズ Bean に method-permission を慎重に割り当てます。例えば、アスタリスク (*) を使用して、 method-name 要素内のすべてのメソッドを示します。 エンタープライズ Bean 内のすべてのメソッドが同じアクセス権を必要とする場合は、method-name に アスタリスク (*) を使用して、すべてのメソッドを指定します。 このように指定すると、デプロイメント記述子のサイズを小さくして、 デプロイメント記述子のロードに必要なメモリーを削減することができます。 さらに、エンタープライズ Bean メソッドの method-permission の一致を検索する時間も短縮されます。
- サーブレットに security-constraint を慎重に割り当てます。例えば、URL パターン *.jsp を使用して、すべての JavaServer Pages (JSP) ファイルに同じ認証データ制約を適用することができます。 指定された URL の場合、デプロイメント記述子における完全一致が、 最長のパスの一致より優先されます。セキュリティー制約内で指定された URL に対して、 完全一致も、最長のパスの一致もない場合は、 拡張子 *.jsp、*.do、*.html の一致を使用します。
- Java 2
セキュリティーを使用する場合は、
新しいチューニング・パラメーターを使用します。 新しいチューニング・パラメーターは、
パフォーマンスを大幅に改善し、読み取り専用サブジェクト という新しい概念を取り入れています。この概念を採用することにより、コンテナー管理の認証データ・エイリアスを使用する場合に J2C 認証サブジェクトの新規キャッシュを
使用できるようになります。J2C 認証サブジェクトを作成後に変更する必要がない場合は、
次の新規チューニング・パラメーターを使用して Java 2 セキュリティーのパフォーマンスを
改善することができます。
- com.ibm.websphere.security.auth.j2c.cacheReadOnlyAuthDataSubjects=true
- com.ibm.websphere.security.auth.j2c.readOnlyAuthDataSubjectCacheSize=50 (これは、キャッシュのハッシュ・テーブルに含まれるサブジェクトの最大数です。キャッシュが このサイズに達すると、エントリーの一部が消去されます。ロール・ベースのセキュリティーと Java 2 セキュリティーを同時に使用する場合にパフォーマンスを向上させるためには、このサイズを固有サブジェクトの数 (ユーザー・プリンシパルの固有性に基づくキャッシュ + 認証データ・エイリアス + 管理対象接続ファクトリー・インスタンス) と同じにする必要があります。)
- 新しいチューニング・パラメーターを使用して、
セキュリティー属性伝搬のパフォーマンスを改善します。 新しい
チューニング・パラメーターは、管理コンソールのカスタム・プロパティーによって、
セキュリティー属性伝搬の余分なオーバーヘッドを減らすように設定できます。
- com.ibm.CSI.disablePropagationCallerList=true
- com.ibm.CSI.propagateFirstCallerOnly=true (最初の呼び出し元のみを追跡する場合に 使用します)。
- セキュリティー属性の伝搬のパフォーマンスに影響する可能性があるセキュリティー・キャッシュ (WSSecureMap) の設定を再評価します。 WSSecureMap セキュリティー・キャッシュ設定は、管理コンソールでカスタム・プロパティーを使用して調整できます。
- com.ibm.ws.security.WSSecureMapInitAtStartup=true
- com.ibm.ws.security.WSSecureMapSize (100 以上の整数)。
タスクの結果
次のタスク
サブトピック
Secure Sockets Layer のパフォーマンス・ヒント
このページを使用して、Secure Sockets Layer (SSL) のパフォーマンスに関するヒントを学習します。 パフォーマンスにおいては、一般に、機能とスピードが相反する関係にあることを考慮する必要があります。 通常、機能が多く、それに含まれる処理が多いほど、パフォーマンスは遅くなります。セキュリティーの調整ヒント
一般に、セキュリティーを強化すると、トランザクションごとのコストの上昇とスループットの低下という 2 つのことが起こります。WebSphere Application Server を構成するときは、次のセキュリティー情報を考慮してください。セキュリティー・パフォーマンスの調整
以下の手順を使用して、セキュリティー設定を損ねることなくパフォーマンスを調整します。


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_tune
ファイル名:tsec_tune.html