• Like

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

  • 5,589 views
Uploaded on

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

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


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

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,589
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
73
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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