WebLogic Server セキュリティのキホン
 

WebLogic Server セキュリティのキホン

on

  • 6,081 views

セキュリティ概論からWebLogic ...

セキュリティ概論からWebLogic Serverで提供されるフレームワークの説明、セキュリティ情報のユーザの変更管理・運用監視、データアクセス、シングルサインオンなどを具体的に説明します。


WebLogic Server セキュリティ
宣言的セキュリティ
セキュリティ・レルム
セキュリティ・レルムとは?
認証プロバイダ設定時の考慮事項
デフォルト・グローバル・ロールの利用
管理コンソールのアクセス制限

Statistics

Views

Total Views
6,081
Views on SlideShare
6,077
Embed Views
4

Actions

Likes
4
Downloads
72
Comments
0

2 Embeds 4

http://meltwaternews.com 3
https://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

WebLogic Server セキュリティのキホン WebLogic Server セキュリティのキホン Presentation Transcript

  • <Insert Picture Here>WebLogic Server セキュリティのキホン日本オラクル株式会社 オラクルユニバーシティ岡田 大輔2012年02月22日
  • 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。 Copyright© 2012, Oracle. All rights reserved. 2
  • Agenda• WebLogic Server セキュリティ • 宣言的セキュリティ• セキュリティ・レルム • セキュリティ・レルムとは? • 認証プロバイダ設定時の考慮事項• デフォルト・グローバル・ロールの利用 • 管理コンソールのアクセス制限 Copyright© 2012, Oracle. All rights reserved. 3
  • WebLogic Server セキュリティの基本的な考え方• WebLogic Server セキュリティは標準技術に準拠した 柔軟性の高いセキュリティ・アーキテクチャを使用 してWebLogic Server上のリソースを統一的に保護す る • 標準技術とは … • JAAS … 認証(atn)/認可(atz)サービス • JSSE … SSL実装 • JCA/JCE .. 暗号化仕様 • JACC … 認可プロバイダ・インタフェース for コンテナ • … Copyright© 2012, Oracle. All rights reserved. 4
  • Java EEのセキュリティとは ...• 宣言的セキュリティ • WebLogic Serverでは多様なリソースをこの方式で保護する • WebアプリケーションはURL単位、EJBはメソッド単位で指定 • 注釈もしくはデプロイメント記述子で宣言○○というリソースにアクセスできるのは △△というセキュリティ・ロール • セキュリティ・ロールはユーザ/グループの集合概念 • デプロイメント記述子で宣言 Copyright© 2012, Oracle. All rights reserved. 5
  • Oracle Platform Security Services API使用 ポリシー宣言開発者 JAAS / WebLogic Security API WebLogic Security Framework Security Provider セキュリティ 設定 http://docs.oracle.com/cd/E16340_01/core.1111/b56235/underjps.htm管理者 Copyright© 2012, Oracle. All rights reserved. 6
  • アクセス時のセキュリティ制御クライアント WebLogic セキュリティ リソース Server フレームワーク ログイン 認証 ログイン 検証 LoginModule サブジェクト サブジェクト プリンシパル 検証 処理要求 署名 認可 ロール取得 ロール マッパー アクセス PERMIT/DENY/ 決定 ABSTAIN 裁決 裁決 リソース呼び出し Copyright© 2012, Oracle. All rights reserved. 7
  • まとめ: 宣言的セキュリティ• 開発者: Java EE 仕様に則って開発 • リソース毎にアクセスポリシーを宣言 • 宣言はxmlファイルもしくは@注釈で埋め込み • アプリケーションで使用するセキュリティ・ロールを宣言 • 宣言はxmlファイル • 実ユーザ名ではない抽象化したロール名を推奨• 管理者: セキュリティ・レルムを構成 • 開発者が設定したJava EE宣言的セキュリティが機能するよう にWebLogic Serverドメインのセキュリティ設定を行う • セキュリティ・プロバイダ • ユーザ, グループ, セキュリティ・ロール • その他 (SSL …) Copyright© 2012, Oracle. All rights reserved. 8
  • Agenda• WebLogic Server セキュリティ • 宣言的セキュリティ• セキュリティ・レルム • セキュリティ・レルムとは? • 認証プロバイダ設定時の考慮事項• デフォルト・グローバル・ロールの利用 • 管理コンソールのアクセス制限 Copyright© 2012, Oracle. All rights reserved. 9
  • セキュリティ・レルムとは? • WebLogic Serverリソースを保護する仕組み • セキュリティ・プロバイダの設定 • ユーザ, グループ, セキュリティ・ロール • WLSリソースにアクセスできるのはセキュリティ・レル ム内のユーザのみ • セキュリティ・ポリシー スコープ指定 ロール, デフォルトセキュリティ・ロール, セキュリティ・ポリシー ポリシーデフォルト・グループセキュリティ・ロールセキュリティ・ポリシー セキュリティ セキュリティ WebLogic Server プロバイダ プロバイダ リソース データベース 定義済みユーザ, グループセキュリティ・ロール 定義済みグローバル・ロール Copyright© 2012, Oracle. All rights reserved. 10
  • セキュリティ・プロバイダ・データベース• 一部のセキュリティ・プロバイダがセキュリティ・ サービスを提供するためのデータを格納するストア • ユーザ, グループ (認証プロバイダ) • セキュリティ・ポリシー (認可プロバイダ) • セキュリティ・ロール (ロール・マッピング・プロバイダ) • 資格証明 (資格マッピングプロバイダ)• 使用可能なセキュリティ・プロバイダ・データベー ス • 組み込みLDAPサーバ ... デフォルト設定 • RDBMS … ドメイン作成時(or 作成後)に指定可能 セキュリティ セキュリティ プロバイダ プロバイダ データベース Copyright© 2012, Oracle. All rights reserved. 11
  • 組み込みLDAPサーバ• ストア先 • $DOMAIN/servers/<server_name>/data/store/ldap • 管理サーバのデータがマスタ。マルチ・サーバ・ドメインで は管理対象サーバ側にもレプリカが作成される• 組み込みLDAPサーバの設定は管理コンソールを使用 • バックアップ、キャッシュ、資格など• 組み込みLDAPサーバは大量のユーザ管理には向かな い… • 管理すべきユーザが多数いる場合は、別のユーザストアが存 在するケースが多い • ユーザ管理はAdministrationコンソール or WLST セキュリティ 組み込み プロバイダ LDAP Copyright© 2012, Oracle. All rights reserved. 12
  • RDBMSセキュリティ・ストア• 次のセキュリティ・プロバイダではデータ・ストア としてRDBMSを使用可能 • 認可プロバイダ • ロール・マッピング・プロバイダ • 資格証明マッピング・プロバイダ • 証明書レジストリ・プロバイダ• ドメイン作成時に指定可能 • 事前にデータベースにテーブルを作成しておく • $WL_HOME/server/lib/rdbms_security_store_XXX.sql • 複数サーバ構成のドメインではJMS通知を有効にする JDBC セキュリティ RBDMS プロバイダ 接続 Copyright© 2012, Oracle. All rights reserved. 13
  • セキュリティ・レルムの設定• デフォルトはmyrealm • WebLogicセキュリティプロバイダで構成されたレルム • WebLogic Serverで標準実装として提供されるセキュリテ ィプロバイダ実装のこと • DefaultXXXという名前で設定されているプロバイダ• レルムは複数定義可能だがアクティブにできるレル ムは一つだけ • 必要に応じてmyrealmのセキュリティ・プロバイダ定義をカ スタマイズするのが現実的 • 構成が大きく異なるセキュリティ・レルム定義を行う場合 は新規作成を検討 Copyright© 2012, Oracle. All rights reserved. 14
  • まとめ: セキュリティ・レルムとは?• WebLogic Serverのセキュリティ・レルムの構成要素 • セキュリティ・プロバイダ • プロバイダの設定のストア先は組み込みLDAPとRDBMSを 選択可 • ユーザ, グループ, セキュリティ・ロール • セキュリティ・ポリシー• セキュリティ・レルムを構成しないとWebLogic Serverは起動しない • ドメインにはmyrealmというデフォルト定義がある • セキュリティ・プロバイダの構成は必要に応じてカスタマイ ズできる Copyright© 2012, Oracle. All rights reserved. 15
  • レルムを構成するセキュリティ・プロバイダ• セキュリティ・レルムを構成するセキュリティ・プ ロバイダは任意で追加・削除可能必須 資格証明マッピング 認証プロバイダ 認可プロバイダ ・プロバイダ プリンシパル検証 ロール・マッピング 証明書の検索と プロバイダ ・プロバイダ 検証のプロバイダオプション IDアサーション 裁決プロバイダ 監査プロバイダ ・プロバイダ Copyright© 2012, Oracle. All rights reserved. 16
  • セキュリティ・プロバイダの種類• 認証プロバイダ • ユーザの認証を行い、信頼を確立する • 認証プロバイダはセキュリティ・レルム内に1つ以上必要• IDアサーション・プロバイダ • トークンを検証してユーザIDにマップする。境界認証用。• 認可プロバイダ • セキュリティ・ロールとセキュリティ・ポリシーに基づくア クセス制御• 監査プロバイダ • ユーザ操作の記録を否認防止を目的として収集、格納する• 資格証明マッピング・プロバイダ • WLS資格証明を他システムで使用される資格証明にマッピン グ。リモート・システムへのログインを実現 Copyright© 2012, Oracle. All rights reserved. 17
  • 認証プロバイダの設定• 認証プロバイダは、指定されたユーザ名とパスワー ドの資格証明ペアに合致するユーザをデータ・スト アから見つけ出す• データ・ストアの種類によって複数の認証プロバイ ダを設定可能 • 組み込みLDAP (WebLogic認証プロバイダ) • LDAP(OpenLDAP, Active Directory, Novell, OID, OVD …) • Database • … Copyright© 2012, Oracle. All rights reserved. 18
  • JAAS制御フラグ• 認証プロバイダによる認証処理フローは制御フラグ によって制御される • 複数の認証プロバイダを構成する場合は認証プロバイダ毎に 適切な制御フラグ値を設定する • Default Authenticatorのデフォルト設定はREQUIRED • 新規作成時のデフォルト設定はOPTIONALフラグ値 認証成功要否 認証成功時 認証失敗時REQUIRED ○ 次のプロバイダへ 次のプロバイダへREQUISITE ○ 次のプロバイダへ アプリケーションへSUFFICIENT × アプリケーションへ 次のプロバイダへOPTIONAL × 次のプロバイダへ 次のプロバイダへ Copyright© 2012, Oracle. All rights reserved. 19
  • 認証順序の指定• 複数の認証プロバイダを使用する場合は、認証プロ バイダの認証順序に注意する • 設定を正しく行わないと意図しない動作になる• 管理コンソールで表示されるリストの順に認証プロ バイダが呼び出される認証順 Copyright© 2012, Oracle. All rights reserved. 20
  • 設定例: LDAP認証 • LDAP認証プロバイダをセキュリティ・レルムに追加 定義する • DefaultAuthenticatorと併用することで組み込みLDAP, 外部 LDAP両方のユーザを認証可能 ユーザ, グループ 参照 組み込み OpenDS LDAP Authenticator Defaultユーザ, グループ 参照 Authenticator WebLogic Server Copyright© 2012, Oracle. All rights reserved. 21
  • 認証プロバイダの作成 連携対象のLDAPサ ーバに対応する認証 プロバイダを選択 - 各LDAP認証プロバイ ダ毎に一般的なディレ クトリ・スキーマが定 義されている Copyright© 2012, Oracle. All rights reserved. 22
  • 制御フラグの設定 認証成功したらアプリケーションに制御 を戻す場合はSUFFICIENTを設定 DefaultAuthenticatorの制御フラグ値 (REQUIRED)も変更する Copyright© 2012, Oracle. All rights reserved. 23
  • LDAP検索設定(プロバイダ固有) Copyright© 2012, Oracle. All rights reserved. 24
  • 認証順の設定• 新しく定義した認証プロバイダはリストの最後に追 加される • 必要に応じて順序を変更する Copyright© 2012, Oracle. All rights reserved. 25
  • 設定例: DB認証• 認証プロバイダのタイプは SQLAuthenticator • 事前準備: • データベースにユーザ, グループ用のテーブルを作成 • SQLAuthenticatorが使用するデータソースを事前に作成 Copyright© 2012, Oracle. All rights reserved. 26
  • 参考: DBテーブル作成スクリプト注: SQLAuthenticatorにデフォルトで設定されている認証処理用SQLを動作させるため簡易スクリプトCREATE TABLE USERS ( CREATE TABLE GROUPMEMBERS ( U_NAME VARCHAR(200) NOT NULL, G_NAME VARCHAR(200) NOT NULL, U_PASSWORD VARCHAR(50) NOT G_MEMBER VARCHAR(200) NOT NULL, NULL); U_DESCRIPTION VARCHAR(1000)); ALTER TABLE GROUPMEMBERSALTER TABLE USERS ADD CONSTRAINT PK_GROUPMEMS ADD CONSTRAINT PK_USERS PRIMARY KEY ( PRIMARY KEY (U_NAME); G_NAME, G_MEMBER);CREATE TABLE GROUPS ( ALTER TABLE GROUPMEMBERS G_NAME VARCHAR(200) NOT NULL, ADD CONSTRAINT FK1_GROUPMEMBERS G_DESCRIPTION VARCHAR(1000)); FOREIGN KEY ( G_NAME )ALTER TABLE GROUPS REFERENCES GROUPS (G_NAME) ADD CONSTRAINT PK_GROUPS ON DELETE CASCADE; PRIMARY KEY (G_NAME); Copyright© 2012, Oracle. All rights reserved. 27
  • まとめ: 認証プロバイダ設定時の考慮事項• 認証プロバイダを追加すると組み込みLDAP以外のデ ータ・ストアに格納されたユーザでも認証できる • LDAPサーバやRDBなど多様なデータ・ストアを活用できる • DefaultAuthenticatorは削除しないことを推奨 • 組み込みLDAP(DefaultAuthenticator): 管理ユーザ • 外部データ・ストア(追加認証プロバイダ): 一般ユーザ • 複数の認証プロバイダを設定する場合は、認証順と制御フラ グの設定に注意する Copyright© 2012, Oracle. All rights reserved. 28
  • Single Sign Onを行うには? • サイトの役割に応じてセキュリティ・プロバイダを 設定 • 資格証明マッピング・プロバイダ (ソース・サイト) • WLSセキュリティ資格を外部システムのトークンにマッピング • IDアサーションプロバイダ (宛先サイト) • 外部システムのトークンをWLSユーザIDにマッピング トークンユーザ名パスワード 資格証明 IDアサーション 認証 認証 マッピング・ プロバイダ プロバイダ プロバイダ プロバイダ サブジェクト サブジェクト アプリケーションA アプリケーションB WebLogic Server (ソース・サイト) WebLogic Server (宛先サイト) Copyright© 2012, Oracle. All rights reserved. 29
  • 例: SAMLによるSSO • ソース・サイト • SAML資格証明マッピング・プロバイダを設定 • SAML2.0の場合は、セキュリティ・プロバイダ・データベ ースはRDBを推奨 • 宛先サイト • SAML IDアサーション・プロバイダを設定 • SAML2.0の場合は、SAML認証プロバイダも設定ユーザ名 SAMLトークンパスワード SAML資格証明 SAML 認証 認証 IDアサーション マッピング・ プロバイダ プロバイダ プロバイダ プロバイダ WebLogic Server (ソース・サイト) WebLogic Server (宛先サイト) SAML アサーティング・パーティ SAMLリライイング・パーティ マニュアル参照先: http://docs.oracle.com/cd/E24001_01/web.1111/b61617/saml.htm Copyright© 2012, Oracle. All rights reserved. 30
  • まとめ: Single Sign On• WebLogic ServerではSAML, Kerberosを使用した Single Sign Onに対応 • 必要に応じてセキュリティ・プロバイダをセキュリティ・レ ルムに追加定義 • 資格証明マッピング・プロバイダ (ソース・サイト) • IDアサーション・プロバイダ (宛先サイト)• SSOに使用する技術の周辺知識の理解が必須 Copyright© 2012, Oracle. All rights reserved. 31
  • Agenda• WebLogic Server セキュリティ • 宣言的セキュリティ• セキュリティ・レルム • セキュリティ・レルムとは? • 認証プロバイダ設定時の考慮事項• デフォルト・グローバル・ロールの利用 • 管理コンソールのアクセス制限 Copyright© 2012, Oracle. All rights reserved. 32
  • 管理コンソールのアクセス制御• 管理コンソールはWebアプリケーション • 宣言的セキュリティが使われている • デフォルト・グローバル・ロールにアクセスを許可<security-constraint> <web-resource-collection> <web-resource-name>console</web-resource-name> <url-pattern>/</url-pattern> </web-resource-collection> <auth-constraint> <role-name>Admin</role-name> <role-name>Operator</role-name> <role-name>Deployer</role-name> <role-name>Monitor</role-name> </auth-constraint> </security-constraint> 管理コンソール(consoleapp)のweb.xml Copyright© 2012, Oracle. All rights reserved. 33
  • デフォルト・グローバル・ロール 設定表示・ セキュリテロール名 グループ名 起動・停止 デプロイ 設定変更 モニタ ィ操作 Administra Admin ○ ○ ○ ○ ○ tors △Deployer Deployers × ○ ○ × (一部)Operator Operators ○ × × ○ ×Monitor Monitors × × × ○ × •AppTester (AppTesters) … 管理チャネルを使用して管理モードで起動したアプリケー ションにアクセス可能(プロダクション再デプロイメントなどで使用) •ドメイン作成時に指定するユーザはAdministratorsグループに所属する = Adminロー ルに属する •セキュリティ操作(ユーザロック解除を含む)を実行できるのはAdminロールのみのた めAdminロールに属するユーザを複数定義しておくことを推奨 Copyright© 2012, Oracle. All rights reserved. 34
  • DefaultAuthenticator以外のユーザで管理コンソールにアクセスするには?• 次のいずれかを設定 • 認証プロバイダのデータ・ストアにデフォルト・グループ名 と同名のグループを作成 • WebLogic Serverドメインのグローバル・ロール定義を変更 Copyright© 2012, Oracle. All rights reserved. 35
  • グローバル・ロールの定義• ホーム >セキュリティ・レルムのサマリー >myrealm >ロールと ポリシー >レルム・ロール • グローバルロール→Rolesを選択 Copyright© 2012, Oracle. All rights reserved. 36
  • 管理コンソールでのユーザ管理の注意点• ユーザの追加・削除・変更は、ドメイン設定時のコ ンフィグレーション・ロックとは無関係 • ロック取り消し時も変更は反映されたまま • ユーザ管理は他の管理タスクとは独立して行うことを推奨• 管理コンソールでユーザ情報の変更ができるのは DefaultAuthenticator, SQLAuthenticatorなど • LDAPAuthenticatorなどを追加した場合のユーザ情報は表示の み • 編集はLDAPサーバ側で行う Copyright© 2012, Oracle. All rights reserved. 37
  • 参考: WLSTでユーザ/グループを追加# 認証プロバイダを参照(serverConfig or domainConfig階層)wls:/domain/serverConfig> atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider(DefaultAuthenticator)# ユーザ追加wls:/domain/serverConfig> atnr.createUser(user_name, password‘, description)# グループ追加wls:/domain/serverConfig> atnr.createGroup(group_name, description)# グループにユーザを追加wls:/domain/serverConfig> atnr.addMemberToGroup(group_name, user_name) Copyright© 2012, Oracle. All rights reserved. 38
  • まとめ: 管理コンソールのアクセス制限• 管理コンソールもJava EEアプリケーションとしてデ プロイされているため、Java EEセキュリティ・ポリ シーを使用する ○○というリソースにアクセスできるのは △△というセキュリティ・ロール • グローバル・ロール毎にアクセス権限が異なるので作業レベ ルに応じてロールを使い分けることを推奨• 管理コンソールを使用したユーザ設定変更はコンフ ィグレーション・ロックとは無関係 • ユーザ管理は他の管理タスクとは独立して行うことを推奨 Copyright© 2012, Oracle. All rights reserved. 39
  • まとめ• WebLogic セキュリティでは標準仕様を使用して統一 的にリソースを保護する• セキュリティ要件に応じた柔軟なセキュリティ・レ ルムを構成可能 Copyright© 2012, Oracle. All rights reserved. 40
  • Oracle Universityからのお知らせ• WebLogic Serverのセキュリティをはじめとした WebLogic Serverの管理方法を学習したい方に最適な 研修コースをご提供しています。 • Classroomトレーニングだけでなく、Live Virtual Class、『Oracle ト レーニング・オンデマンド』など多様な受講形態から選択いただけ ます。 Copyright© 2012, Oracle. All rights reserved. 41
  • ミドルウェア Oracle WebLogic Server 11g: 管理 Oracle Application Gridの基盤を支える Oracle WebLogic Server 11gの管理コース! このコースでは、Web管理者がOracle WebLogic Server 11gのインストールおよび設定 する方法について説明します。Web管理者が管理コンソールやコマンドライン、および スクリプトツール(WLST)などを使用して、Java EEアプリケーションをOracle WebLogic Server 11gにデプロイする方法についても説明します。 その他に、Oracle WebLogic Server のWebインタフェースとしてOracle HTTP Serverを設 定する方法を解説し、またOracle WebLogic Serverクラスタを設定してアプリケーショ ンのフェイルオーバーとロードバランシングをサポートする方法を学習します。また、 WebLogic Server管理者の管理タスクの概要について説明します。 ■Oracle Fusion Middleware の概要 ■WebLogic Serverのアーキテクチャ ■Oracle WebLogic Serverのインストール ■管理コンソールおよび他の管理ツールの概要 ■WebLogic Server ドメインのコンフィグレーション ■Oracle WebLogic Server の管理およびロギングの使用コース内容 ■アプリケーションのデプロイ ■データソース、JDBCドライバ、接続プールの設定 ■JMS アプリケーションのコンフィグレーション ■WebLogic Serverの基本セキュリティのコンフィグレーション ■Oracle HTTP Server のコンフィグレーション ■Oracle WebLogic クラスタのコンフィグレーション ■バックアップおよびリカバリの管理 ■全体バックアップ、増分バックアップ ・Linux の基本コマンドおよびデスクトップのナビゲーション 受講 ・クライアント/サーバーの概念における TCP/IP ネットワークに関する基本的な知識前提条件 ・Java EE の基礎知識(サーブレットや JSP など) ※推奨 ・Oracle WebLogic Server 11g管理者対象者 ・Javaアプリケーション開発者コース日程 5日間 日程の詳細は Oracle University Webサイト にてご確認ください。受講料 定価¥363,825(税込) ※Oracle PartnerNetwork会員様は、パートナー割引価格で受講いただけます。 Copyright© 2012, Oracle. All rights reserved.
  • Copyright© 2012, Oracle. All rights reserved.
  • Copyright© 2012, Oracle. All rights reserved. 44