ORACLE JAPAN Server Release 6.1

 

  |  

  WebLogic Server ホーム   |     FAQ   |   前へ   |   次へ   |   目次   |   PDF 版

FAQ: セキュリティ

 


デモ用デジタル証明書および信頼性のある CA はどうしたら更新できますか。

デモ用証明書の有効期限が切れた場合、またはプロダクション環境に移行する場合は、Verisign や Entrust などの信頼できるベンダから独自の証明書と信頼性のある CA を購入することをお勧めします。独自の証明書を購入するには、「セキュリティの管理」で説明されている Certificate Request サーブレットを使用して証明書署名リクエスト (CSR) を生成します。新しい証明書と信頼性のある CA を入手したなら、デモ用の証明書と信頼性のある CA のファイルを削除し、新しいものと置き換える必要があります。また、Administration Console で SSL の属性をリセットする必要もあります。


サーブレットが「no certificate」というメッセージを返すのはなぜですか。

このメッセージは、証明書キャプチャ機能を使用して 2 方向の認証を提供しようとした場合に発生します。トラブルシューティングでは、以下の事項を調べてください。

  1. Web ブラウザにデジタル証明書が組み込まれていますか。

  2. Administration Console の [サーバ] ウィンドウの [コンフィグレーション] タブにある [SSL] タブで [クライアント認証を強制する] オプションをチェックすることで、クライアント認証を要求するように WebLogic Server がコンフィグレーションされていますか。

  3. \wlserver6.0\config\mydomain ディレクトリに、デジタル証明書がインストールされていますか。

  4. 「SSL プロトコルのコンフィグレーション」で説明されているとおりに SSL 通信のポートがコンフィグレーションされていますか。

  5. HTTP ではなく HTTPS を使用していますか。


WebLogic では、Diffie-Hellman または DSS/DSA のデジタル証明書がサポートされていますか。

いいえ。WebLogic の輸出可能バージョンでは、40 ビット RC4 を使用した 512 ビット RSA のみがサポートされています。また、ブラウザではそのような証明書はサポートされていませんし、DSA 証明書を商用ベースで発行している会社もありません。


サーバで、RSA 証明書と非 RSA 証明書を同時に使用することはできますか。

できません。


非 RSA クライアント コードで RSA ライセンス コストを支払う必要がありますか。

WebLogic では、WebLogic Server とクライアント間の SSL に対して RSA の使用を許可しています。WebLogic を使用する場合、RSA に関して他のライセンスは必要ありません。ただし、付加価値再販業者によって規約は異なります。


WebLogic Server で Netscape セキュリティ証明書を使用するにはどうすれば良いですか。

Netscape では、プライベート キーと公開鍵が 1 つのファイルに格納され、公開鍵とプライベート キーの分離が防止されます。config.xml の ServerKeyFileName 属性は、プライベート キー ファイルのみを参照します。したがって、Netscape ユーティリティを使用しないで別の証明書要求を生成する必要があります。Certificate Request サーブレットを使用すると、新しい証明書に対する要求を生成できます。サーブレットの使い方については、「WebLogic SSL の使い方」を参照してください。


サーブレットおよび JSP へのアクセスを制限する方法を教えてください。

Java Servlet API 仕様 v2.2 では、Web アプリケーションのデプロイメント記述子を使用して特定のサーブレットおよび JSP へのアクセスを制限できます。この仕様のセクション 13.3.2 には、宣言型のセキュリティを使用するサンプルのデプロイメント記述子があります。詳細については、『WebLogic HTTP サーブレット プログラマーズ ガイド』を参照してください。


RSA 暗号化アルゴリズムと javax.crypto.* API を使用してアプリケーションを構築できますか。

できません。WebLogic の RSA ライセンスは、エンド ユーザが RSA クラスを直接使用することを許可していません。RSA から暗号化ライブラリのライセンスを独自に取得する必要があります。


JNDI 初期コンテキストを使用して、WebLogic Server ユーザのセキュリティ資格を渡すことができますか。

できます。ただし、6.1 より後のリリースではできません。6.1 より後のリリースでは、ユーザをセキュリティ コンテキストに関連付ける場合、JNDI ではなく Java Authentication and Authorization Service(JAAS)を使用する必要があります。詳細については、『WebLogic Security プログラマーズ ガイド』を参照してください。


LDAP セキュリティ レルムを使用するときに WebLogic Server を起動できないのはなぜですか。

WebLogic Server で代替セキュリティ レルムまたはカスタム セキュリティ レルムを使用する場合、キャッシング レルムをコンフィグレーションおよび有効化する必要があります。

Microsoft Site Server の LDAP サーバがインストールされ、LDAP ディレクトリのルートが作成されると、デフォルトによっていくつかの組織単位が作成されます。Groups の下には、NTGroups というデフォルトの組織があり、この組織には Administrators という空のデフォルト グループがあります。デフォルトでは、WebLogic Server も Administrators というグループを提供します。このグループには、WebLogic Server を起動するユーザである System というメンバーが含まれています。Microsoft Site Server のデフォルトを使用し、デフォルト組織単位の下に独自のグループを作成した場合、WebLogic Server は起動しません。独自の組織単位を LDAP ディレクトリに作成し、その組織単位の下に独自のグループを作成する必要があります。

LDAP ディレクトリに同じ名前のグループが 2 つある場合、WebLogic Server はそのグループのユーザを適切に認証できません。LDAP セキュリティ レルムは、グループの DN(識別名)を使用して LDAP ディレクトリのグループを検索します。複数のグループを同じ名前で作成する場合、WebLogic Server は最初に発見したグループのユーザだけを認証します。LDAP セキュリティ レルムを使用するときは、ユニークなグループ名を使用する必要があります。

LDAP レルム V2 は、LDAP レルム V1 で提供されていた以下の機能を提供しません。

LDAP セキュリティ レルムは、そのセキュリティ レルムで使用される LDAP ディレクトリのどこにユーザとグループが格納されているのかを知る必要があります。そのためには、ユーザとグループが存在する LDAP ディレクトリの識別名(DN)を指定します。

LDAP では、DN はリーフ ノードから始まり、ルート ノードに向かいます。次の図に、LDAP ディレクトリのブランチを示します。

root
|
|
o=acme.com
|
|
ou=Groups

このブランチの DN は、ou=Groups, o=acme.com として指定されます。

LDAP レルム V1 では、DN は LDAPRealm MBean の GroupDN 属性と UserDN 属性を介して、または Administration Console を使用して指定します。ただし、DN を反対方向に指定する必要があります。したがって、上の例の DN は次のように指定します。

groupDN="o=acme.com, ou=Groups"

LDAP レルム V2 では、DN の指定は、user.dn プロパティと group.dn プロパティを CustomRealm MBean の Configuration 属性に追加するか、Administration Console を使用して行います。LDAP レルム V1 とは異なり、DN を反対方向に指定する必要はありません。たとえば、LDAP レルム V2 の user.dn プロパティと group.dn プロパティは次のようになります。

ConfigurationData="..., group.dn=ou=Groups, o=acme.com,..."

つまり、LDAP レルム V1 では反対方向の DN が必要で、LDAP レルム V2 では通常の DN が必要となります。

LDAP レルム V1 と LDAP レルム V2 を切り替えるときによく犯すエラーは、反対方向の DN をコピーしてしまい、LDAP レルムが動作を停止してしまうことです。LDAP レルム V1 から LDAP レルム V2 に移行するときには、DN の仕様をチェックしてください。


WebLogic Server パスワードは安全ですか。

config.xml ファイルには、クリア テキスト形式のパスワードが存在しなくなりました。クリア テキスト形式のパスワードに代わって、config.xml ファイルには暗号化およびハッシュ化されたパスワードが格納されます。暗号化パスワードは、別のドメインにコピーできません。代わりに、config.xml ファイルを編集して、既存の暗号化、ハッシュ化パスワードをクリア テキスト パスワードに置き換えてから、そのファイルを新しいドメインにコピーします。Administration Console は、次にそのファイルに書き込むときにパスワードを暗号化およびハッシュ化します。

レコーディング セキュリティ マネージャ ユーティリティを使用すると、WebLogic Server の起動時または動作中に発生するパーミッションの問題を検出できます。このユーティリティで出力されるパーミッションを config.xml または Java セキュリティ ポリシー ファイルに追加して、発見されたパーミッションの問題を解決できます。レコーディング セキュリティ マネージャは、dev2dev オンラインで入手できます。


サーバを起動するときに「<Alert> <WebLogicServer> <Security> configuration problem with certificate file 」エラーを受け取るのはなぜですか。

SSL コンフィグレーション ファイルで「WL_HOME」相対ファイル名を指定しなかった可能性があります。WL_HOME の詳細については、『管理者ガイド』の「セキュリティの管理」の「SSL プロトコルのコンフィグレーション」を参照してください。


デモ用証明書を使用しているときに発信 SSL 接続を確立できないのはなぜですか。

SSL 接続を確立するときには、デジタル証明書の主体の DN が、SSL 接続を開始するサーバのホスト名と一致している必要があります。一致していないと、SSL 接続が中断されます。デモ用証明書を使用していると、このホスト名が一致しません。この状況を回避するには、WebLogic Server 起動時に -Dweblogic.security.SSL.ignoreHostnameVerification=true フラグを使用します。このフラグにより、主体の DN とホスト名を比較するホスト名検証が無効化されます。この解決策が推奨されるのは、開発環境においてのみです。さらにセキュアな解決策は、発信 SSL 接続を行うサーバ用に新しいデジタル証明書を取得することです。


WebLogic Server への SSL 接続を確立するときに、「<WebLogic Server> <SSLListenThread listening on port 8802> Failed to connect to t3s://localhost:8802」というエラーを受け取るのはなぜですか。

デフォルトでは、WebLogic Server にはデジタル証明書の主体の DN とホスト名を比較するホスト名検証が含まれています。SSL 接続を確立するときには、デジタル証明書の主体の DN が、SSL 接続を開始するサーバのホスト名と一致している必要があります。デモ用証明書を使用していると、このホスト名が一致しません。この状況を回避するには、WebLogic Server 起動時に -Dweblogic.security.SSL.ignoreHostnameVerification=true フラグを使用します。このフラグにより、ホスト名検証が無効化されます。この解決策が推奨されるのは、開発環境においてのみです。さらにセキュアな解決策は、WebLogic クライアント用に新しいデジタル証明書を取得することです。


どうすれば、WL-Proxy-Client-Cert ヘッダを使用する偽装クライアントによるセキュリティ攻撃から WebLogic Server を守ることができますか。

WebLogic Server に直接アクセスできるクライアントはすべて、WL-Proxy-Client-Cert ヘッダを偽装(使用)できます。WebLogic Server は、このヘッダから証明書情報を取得し、それが安全な送信元(プラグイン)からのものであることを信頼して、ユーザを認証するためにその情報を使用します。WebLogic Server の以前のリリースでは、このヘッダを常に信頼するのが、デフォルトの動作でした。現在では、WL-Proxy-Client-Cert ヘッダの信頼を明示的に定義する必要があります。新しいパラメータである clientCertProxy を使用すると、証明書ヘッダの暗黙の信頼を有効にすることができます。セキュリティのレベルを追加する必要がある場合は、接続フィルタを使って、WebLogic Server に対するすべての接続を制限します(つまり、プラグインが動作しているマシンからの接続だけを WebLogic Server が受け付けるようにします)。

clientCertProxy パラメータは、HTTPClusterServlet と Web アプリケーションに追加されています。

HTTPClusterServlet の場合は、次のようにして web.xml ファイルにパラメータを追加します。

<context-param>
    <param-name>clientCertProxy</param-name>
    <param-value>true</param-value>
</context-param>

Web アプリケーションの場合は、次のようにして web.xml ファイルにパラメータを追加します。

ServletRequestImpl context-param
<context-param>
    <param-name>weblogic.http.clientCertProxy</param-name>
    <param-value>true</param-value>
</context-param>

次のようにすれば、クラスタでこのパラメータを使用することもできます。

<Cluster ClusterAddress="127.0.0.1" Name="MyCluster"
    ClientCertProxyHeader="true"/>

 

back to top previous page next page