ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server Security プログラマーズ ガイド
11g リリース 1 (10.3.1)
B55520-01
 

目次
目次

戻る
戻る
 
次へ
次へ
 

2 WebLogic Security プログラミングの概要

この節では、以下の内容について説明します。

セキュリティとは

セキュリティとは、コンピュータに保存されているデータまたはコンピュータ間でやりとりされるデータが危険にさらされないことを保証する技術です。ほとんどの場合、セキュリティ対策では証明データとデータ暗号化を利用します。一般に証明データは、ユーザに特定のアプリケーションまたはシステムへのアクセスを許可する秘密の単語または句です。データ暗号化とは、その秘密の単語または句を保持しているか提供しなければ解釈できないような形式にデータを変換することです。

電子商取引 (e- コマース) 向けアプリケーションなどの分散アプリケーションでは、悪意のある何者かがデータを横取りし、処理を混乱させ、不正な入力を行う起点となるような多数のアクセス ポイントが提供されます。ビジネスの分散化が進むにつれて、セキュリティが侵害される可能性も大きくなります。したがって、アプリケーションの分散に伴い、その基盤となる分散コンピューティング ソフトウェアによってセキュリティを実現することがますます重要になります。

アプリケーション サーバは、エンド ユーザと貴重なデータやリソースとの間の重要なレイヤに位置しています。WebLogic Server は、これらのリソースを保護するために認証、認可、および暗号化サービスを提供します。しかし、こうしたサービスでは、デプロイメント環境の弱点を見つけ出して悪用することでアクセスを取得した侵入者から、リソースを守ることはできません。

したがって、インターネットまたはイントラネット上で WebLogic Server をデプロイする場合には、独立したセキュリティ専門家に依頼して、セキュリティ プランと手順を検討してもらい、インストール済みシステムの監査を受け、改善点のアドバイスを受けるとよいでしょう。

セキュリティ問題と適切なセキュリティ対策についてできる限り知識を増やすことも重要です。マニュアル 『Oracle Fusion Middleware Oracle WebLogic Server プロダクション環境の保護』では、WebLogic Server をプロダクション環境にデプロイする前に検討すべき重要なセキュリティ対策について説明します。マニュアル『Oracle Fusion Middleware Oracle WebLogic Server ロールおよびポリシーによるリソースの保護』では、さまざまなタイプの WebLogic リソースを紹介し、WebLogic Server を使用してそれらのリソースを保護するための情報を提供します。Web サーバのセキュリティ対策の最新情報については、カーネギー メロン大学が運営する CERT™ Coordination Center が公開している (http://www.cert.org/) に目を通すことをお勧めします。

Oracle のセキュリティ勧告で推奨されている対策は是非、実行してください。Oracle 製品に関して問題が発生した場合には、Oracle から、その報告と適切な対策を示した指示が配信されます。サイトのセキュリティ問題を担当されている方は、今後、BEA からセキュリティ関連の問題の通知を受信できるよう、登録を行ってください。

Administration Console とセキュリティ

セキュリティに関しては、Web アプリケーション、EJB、Java EE コネクタ、およびエンタープライズ アプリケーションのデプロイメント記述子の定義および編集に、Administration Console を使用できます。このマニュアル『WebLogic Security プログラマーズ ガイド』では、Administration Console を使用したセキュリティのコンフィグレーション方法については説明しません。Administration Console を使用してデプロイメント記述子を定義および編集する方法については、『Oracle Fusion Middleware Oracle WebLogic Server ロールおよびポリシーによるリソースの保護』および『Oracle Fusion Middleware Oracle WebLogic Server のセキュリティ』を参照してください。

WebLogic Server でサポートされているセキュリティのタイプ

WebLogic Server では次のセキュリティ メカニズムがサポートされます。

認証

認証とは、呼び出し側とサービス プロバイダが、特定のユーザまたはシステムの代わりに動作していることを証明する際に使用するメカニズムのことです。認証は、資格を使用して「あなたは誰」という問いに答えます。証明が双方向で行われる場合、相互認証と呼ばれます。

WebLogic Server は、ユーザ名およびパスワードによる認証と証明書による認証をサポートしています。WebLogic Server は、証明書認証について一方向と双方向の SSL (Secure Sockets Layer) 認証を両方ともサポートしています。双方向の SSL 認証は、相互認証の一形態です。

WebLogic Server では、ユーザまたはシステム プロセスの ID を証明するために認証プロバイダを使用します。認証プロバイダでは、ID 情報を記憶したり、転送したり、その情報が必要な場合に (サブジェクトを通じて) システムのさまざまなコンポーネントで利用できるようにしたりします。認証プロバイダは、Web アプリケーションおよび EJB デプロイメント記述子ファイル、または Administration Console、あるいはその両方を使用してコンフィグレーションできます。

認可

認可とは、ユーザの ID などの情報に基づいて、ユーザと WebLogic リソースとのやり取りを管理するプロセスのことです。言い換えれば、認可とは「自分は何にアクセスできますか」という質問に答えるものです。

WebLogic Server では、WebLogic 認可プロバイダはユーザと WebLogic リソースとの対話を制限して、整合性、機密性、および可用性を確保します。認可プロバイダは、Web アプリケーションおよび EJB デプロイメント記述子ファイル、または Administration Console、あるいはその両方を使用してコンフィグレーションできます。

WebLogic Server では、プログラムによる認可 (このマニュアルではプログラムによるセキュリティともいう) を使用してユーザと WebLogic リソースとの対話を制限することもできます。

Java EE セキュリティ

ユーザ認証とユーザ認可を実装および使用するために、WebLogic Server では、Java EE Development Kit 5.0 (JDK 6.0) のセキュリティ サービスが利用されます。他の Java EE コンポーネントと同様、セキュリティ サービスも標準化されたモジュール コンポーネントに基づいています。WebLogic Server は、標準に従ってこれらの Java セキュリティ サービス メソッドを実装し、細かなアプリケーションの動作をプログラミングを必要とせずに自動的に処理する拡張を追加します。

セキュリティ API

ここでは、WebLogic Server が実装およびサポートしているセキュリティ関連のパッケージとクラスについて説明します。これらのパッケージを使用して、WebLogic Server とクライアント アプリケーション、エンタープライズ JavaBean (EJB)、および Web アプリケーションとの間の対話を保護します。


注意 :

WebLogic セキュリティ パッケージ、クラス、およびメソッドの中には、WebLogic Server のこのリリースでは非推奨となっているものがあります。非推奨となったパッケージおよびクラスの詳細については、「非推奨のセキュリティ API」を参照してください。

この節では、以下の内容について説明します。

JAAS クライアント アプリケーション API

JAAS 認証を使用するクライアント アプリケーションを作成するには、Java API および WebLogic API を使用します。

この節では、以下の内容について説明します。

Java JAAS クライアント アプリケーション API

JAAS クライアント アプリケーションの作成には、以下の Java API を使用します。この API は http://java.sun.com/javase/6/docs/api/index.html から入手できます。

  • javax.naming

  • javax.security.auth

  • javax.security.auth.callback

  • javax.security.auth.login

  • javax.security.auth.spi

これらの API の使い方については、「JAAS 認証 API」を参照してください。

WebLogic JAAS クライアント アプリケーション API

JAAS クライアント アプリケーションの作成には、以下の WebLogic API を使用します。

これらの API の使い方については、「JAAS 認証 API」を参照してください。

SSL クライアント アプリケーション API

SSL 認証を使用するクライアント アプリケーションを作成するには、Java API および WebLogic API を使用します。

この節では、以下の内容について説明します。

Java SSL クライアント アプリケーション API

SSL クライアント アプリケーションの作成には、以下の Java API (http://java.sun.com/javase/6/docs/api/index.html) を使用します。

  • java.security

  • java.security.cert

  • javax.crypto

  • javax.naming

  • javax.net

  • javax.security

  • javax.servlet

  • javax.servet.http

WebLogic Server は、javax.net.SSL API (http://java.sun.com/javase/6/docs/api/index.html) もサポートしていますが、WebLogic Server で SSL を使用する際には weblogic.security.SSL パッケージを使用することをお勧めします。

これらの API の使い方については、「SSL 認証 API」を参照してください。

WebLogic SSL クライアント アプリケーション API

SSL クライアント アプリケーションの作成には、以下の WebLogic API を使用します。

これらの API の使い方については、「SSL 認証 API」を参照してください。

その他の API

さらに、以下の API が WebLogic Server アプリケーションの開発に使用されます。

  • weblogic.security.jacc

    この API は RoleMapper インタフェースを提供します。JACC (Java Authorization Contract for Containers) を実装する場合は、このパッケージを javax.security.jacc (http://java.sun.com/javaee/5/docs/api/javax/security/jacc/package-summary.html) パッケージとともに使用できます。WebLogic JACC プロバイダの詳細については、「Java Authorization Contract for Containers の使用」を参照してください。JACC プロバイダの開発の詳細については、http://java.sun.com/j2ee/javaacc を参照してください。

  • weblogic.security.net

    この API はネットワーク接続フィルタの実装に使用されるインタフェースおよびクラスを提供します。ネットワーク接続フィルタは、ネットワーク接続を開始したクライアントの IP アドレス、ドメイン、またはプロトコルなどの属性に基づいて WebLogic Server への接続を許可または拒否します。この API の使い方の詳細については、「ネットワーク接続フィルタの使い方」を参照してください。

  • weblogic.security.pk

    この API は、証明書パスを作成および検証するためのインタフェースとクラスを提供します。この API を使用して証明書チェーンを作成および検証する方法については、「証明書パスの作成と検証」を参照してください。

    証明書および証明書パスに関する追加情報については、java.security.cert パッケージ (http://java.sun.com/javase/6/docs/api/java/security/cert/package-summary.html) を参照してください。

  • weblogic.security.providers.saml

    この API は、ユーザおよびグループ情報から SAML (Security Assertion Markup Language) アサーションへのマッピングや、SAML アサーションのキャッシュおよび取得に使用するインタフェースとクラスを提供します。

    SAML は、セキュリティ情報をやり取りするための XML ベースのフレームワークです。WebLogic Server では、SAML V2.0 および V1.1 (ブラウザ/POST プロファイルおよびブラウザ/アーティファクト プロファイルを含む) がサポートされます。SAML 認可はサポートされません。

    SAML の詳細については、http://www.oasis-open.org を参照してください。

  • weblogic.security.service

    この API には、セキュリティ プロバイダをサポートするインタフェース、クラス、および例外が含まれます。WebLogic Security フレームワークは、この API で提供されるインタフェース、クラス、および例外から成ります。この API のインタフェース、クラス、および例外は、weblogic.security.spi パッケージのインタフェース、クラス、および例外と関連付けて使用します。この API の使い方の詳細については、『Oracle Fusion Middleware Oracle WebLogic Server セキュリティ プロバイダの開発』を参照してください。

  • weblogic.security.services

    この API はサーバサイドの認証クラスを提供します。このクラスは、サーバへのローカル ログインの実行に使用されます。ユーザを認証し、デフォルトのセキュリティ レルムを使用して資格を返すための CallbackHandlers と共に使用されるログイン メソッドを提供します。

  • weblogic.security.spi

    このパッケージはセキュリティ サービス プロバイダ インタフェース (SSPI) を提供します。カスタム セキュリティ プロバイダの開発に使用されるインタフェース、クラス、および例外を提供します。多くの場合、これらのインタフェース、クラス、および例外は、weblogic.security.service API のインタフェース、クラス、および例外と関連付けて使用します。このパッケージからのインタフェース、クラス、および例外を実装することで、セキュリティ プロバイダの実行時クラスを作成できます。SSPI の使い方の詳細については、『Oracle Fusion Middleware Oracle WebLogic Server セキュリティ プロバイダの開発』を参照してください。

  • weblogic.servlet.security

    この API は、サーブレット アプリケーション内からプログラムによる認証をサポートするサーバサイド API を備えています。この API の使い方の詳細については、「プログラムによる認証 API の使用」を参照してください。