weblogic serverセキュリティ

42
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 1 日本オラクル株式会社 オラクルユニバーシティ 岡田 大輔 2014325WebLogic Server セキュリティ

Upload: oracle-fusion-middleware

Post on 08-May-2015

1.020 views

Category:

Technology


7 download

DESCRIPTION

WebLogic Server セキュリティは標準技術に準拠した柔軟性の高いセキュリティ・アーキテクチャを使用してWebLogic Server上のリソースを統一的に保護します。本セッションでは、WebLogic Serverで使用されているセキュリティ・フレームワークの概要からセキュリティレルムの構成方法、ユーザの変更管理、シングルサインオンなどのWebLogic Serverセキュリティのポイントを説明します。 日本オラクル株式会社 オラクルユニバーシティ 岡田 大輔

TRANSCRIPT

Page 1: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 1

日本オラクル株式会社 オラクルユニバーシティ 岡田 大輔 2014年 3月25日

WebLogic Server セキュリティ

Page 2: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 2

以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。

Page 3: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 3

Agenda

WebLogic Server セキュリティ

– 宣言的セキュリティ

セキュリティ・レルム

– セキュリティ・レルムとは?

– 認証プロバイダ設定時の考慮事項

デフォルト・グローバル・ロールの利用

– 管理コンソールのアクセス制限

Page 4: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 4

WebLogic Server セキュリティ

Page 5: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 5

WebLogic Server セキュリティ

WebLogic Server セキュリティは標準技術に準拠した柔軟性の高いセキュリティ・アーキテクチャを使用してWebLogic Server上のリソースを統一的に保護する

– 標準技術とは …

JAAS … 認証(atn)/認可(atz)サービス

JSSE … SSL実装

JCA/JCE .. 暗号化仕様

JACC … 認可プロバイダ・インタフェース for コンテナ

基本的な考え方

Page 6: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 6

Java EEのセキュリティとは ... 宣言的セキュリティ

○○というリソースにアクセスできるのは

△△というセキュリティ・ロール

• WebアプリケーションはURL単位、EJBはメソッド単位で指定

• 注釈もしくはデプロイメント記述子で宣言

•セキュリティ・ロールはユーザ/グループの集合概念 • デプロイメント記述子で宣言

Page 7: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 7

WebLogic Server Security Framework

JAAS / WebLogic Security API

WebLogic Security Framework

Security Provider

管理者

セキュリティ 設定

API使用 ポリシー宣言

開発者

Security Service Provider Interface(SSPI)

Page 8: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 8

アクセス時のセキュリティ制御

ログイン

サブジェクト

処理要求

ログイン

署名

検証

ロール取得

裁決

LoginModule

プリンシパル

検証

ロール

マッパー

アクセス

決定

裁決

WebLogic

Server クライアント

セキュリティ

フレームワーク

認証

認可

サブジェクト

PERMIT/DENY/

ABSTAIN

リソース呼び出し

リソース

Page 9: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 9

まとめ: 宣言的セキュリティ

開発者: Java EE 仕様に則って開発

– リソース毎にアクセスポリシーを宣言

宣言はxmlファイルもしくは@注釈で埋め込み

– アプリケーションで使用するセキュリティ・ロールを宣言

宣言はxmlファイル

実ユーザ名ではない抽象化したロール名を推奨

管理者: セキュリティ・レルムを構成

– 開発者が設定したJava EE宣言的セキュリティが機能するようにWebLogic Serverドメインのセキュリティ設定を行う

– セキュリティ・プロバイダ

– ユーザ, グループ, セキュリティ・ロール

– その他 (SSL …)

開発者と管理者 それぞれの考慮事項

Page 10: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 10

セキュリティ・レルム

Page 11: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 11

セキュリティ・レルムとは?

セキュリティ・レルムの構成要素

– セキュリティ・プロバイダの設定

– ユーザ, グループ, セキュリティ・ロール

– セキュリティ・ポリシー

WebLogic Serverリソースを保護する仕組み

デフォルト・グループ

セキュリティ・ロール

セキュリティ・ポリシー セキュリティ

プロバイダ

データベース 定義済み

ユーザ/グループ

セキュリティ・ロール

セキュリティ

プロバイダ WebLogic Server

リソース

スコープ指定

ロール/ポリシー デフォルトセキュリティ・ロール, セキュリティ・ポリシー

定義済みグローバル・ロール

Tips: WLSリソースにアクセスできるのはセキュリティ・レルム内のユーザのみ

Page 12: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 12

セキュリティ・プロバイダ・データベース

一部のセキュリティ・プロバイダがセキュリティ・サービスを提供するためのデータを格納するストア

– ユーザ, グループ (認証プロバイダ)

– セキュリティ・ポリシー (認可プロバイダ)

– セキュリティ・ロール (ロール・マッピング・プロバイダ)

– 資格証明 (資格マッピングプロバイダ)

使用可能なセキュリティ・プロバイダ・データベース

– 組み込みLDAPサーバ ... デフォルト設定

– RDBMS … ドメイン作成時(or 作成後)に指定可能

セキュリティ

プロバイダ

データベース

セキュリティ

プロバイダ

Page 13: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 13

組み込みLDAPサーバ

ストア先

– $DOMAIN/servers/<server_name>/data/store/ldap

– 管理サーバのデータがマスタ。マルチ・サーバ・ドメインでは管理対象サーバ側にもレプリカが作成される

組み込みLDAPの設定は管理コンソールを使用

– バックアップ、キャッシュ、資格など

組み込み

LDAP

セキュリティ

プロバイダ

Tips: 組み込みLDAPサーバは大量のユーザ管理には向かない… • 管理すべきユーザが多数いる場合は、別のユーザストアが存在するケースが多い

• ユーザ管理はAdministrationコンソール or WLST

Page 14: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 14

RDBMSセキュリティ・ストア

次のセキュリティ・プロバイダではデータ・ストアとしてRDBMSを使用可能

– 認可プロバイダ

– ロール・マッピング・プロバイダ

– 資格証明マッピング・プロバイダ

– 証明書レジストリ・プロバイダ

ドメイン作成時に指定可能 (構成ウィザード)

– 事前にデータベースにテーブルを作成しておく

$WL_HOME/server/lib/rdbms_security_store_XXX.sql

– 複数サーバ構成のドメインではJMS通知を有効にする

RBDMS セキュリティ

プロバイダ

JDBC 接続

Page 15: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 15

セキュリティ・レルムの設定

デフォルトはmyrealm

– WebLogicセキュリティプロバイダで構成されたレルム

WebLogic Serverで標準実装として提供されるセキュリティプロバイダ実装

DefaultXXXという名前で設定されているプロバイダ

レルムは複数定義可能だがアクティブにできるレルムは一つだけ

– 必要に応じてmyrealmのセキュリティ・プロバイダ定義をカスタマイズ

構成が大きく異なるセキュリティ・レルム定義を行う場合は新規作成を検討

Page 16: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 16

まとめ: セキュリティ・レルムとは?

WebLogic Serverのセキュリティ・レルムの構成要素

– セキュリティ・プロバイダ

プロバイダの設定のストア先は組み込みLDAPとRDBMSを選択可

– ユーザ, グループ, セキュリティ・ロール

– セキュリティ・ポリシー

セキュリティ・レルムを構成しないとWebLogic Serverは起動しない

– ドメインにはmyrealmというデフォルト定義がある

– セキュリティ・プロバイダの構成は必要に応じてカスタマイズできる

Page 17: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 17

レルムを構成するセキュリティ・プロバイダ

セキュリティ・レルムを構成するセキュリティ・プロバイダは任意で追加・削除可能

認証プロバイダ 認可プロバイダ 資格証明マッピング

・プロバイダ

証明書の検索と

検証のプロバイダ

裁決プロバイダ

ロール・マッピング

・プロバイダ

プリンシパル検証

プロバイダ

IDアサーション

・プロバイダ 監査プロバイダ

オプション

必須

Page 18: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 18

セキュリティ・プロバイダの種類

認証プロバイダ

– ユーザの認証を行い、信頼を確立する

– 認証プロバイダはセキュリティ・レルム内に1つ以上必要

IDアサーション・プロバイダ

– トークンを検証してユーザIDにマップする。境界認証用。

認可プロバイダ

– セキュリティ・ロールとセキュリティ・ポリシーに基づくアクセス制御

監査プロバイダ

– ユーザ操作の記録を否認防止を目的として収集、格納する

資格証明マッピング・プロバイダ

– WLS資格証明を他システムで使用される資格証明にマッピング。リモート・システムへのログインを実現

Page 19: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 19

認証プロバイダの設定

認証プロバイダは、指定されたユーザ名とパスワードの資格証明ペアに合致するユーザをデータ・ストアから見つけ出す

データ・ストアの種類によって複数の認証プロバイダを設定可能

– 組み込みLDAP (WebLogic認証プロバイダ)

– LDAP(OpenLDAP, Active Directory, Novell, OID, OVD …)

– Database

– …

Page 20: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 20

JAAS制御フラグ

認証プロバイダによる認証処理は制御フラグによって制御される

– 複数の認証プロバイダを構成する場合は認証プロバイダ毎に適切な制御フラグ値を設定する

Default Authenticatorのデフォルト設定はREQUIRED

新規作成時のデフォルト設定はOPTIONAL

フラグ値 認証成功要否 認証成功時 認証失敗時

REQUIRED ○ 次のプロバイダへ 次のプロバイダへ

REQUISITE ○ 次のプロバイダへ アプリケーションへ

SUFFICIENT × アプリケーションへ 次のプロバイダへ

OPTIONAL × 次のプロバイダへ 次のプロバイダへ

Page 21: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 21

認証順序の指定

複数の認証プロバイダを使用する場合は、認証順序に注意

– 認証順は管理コンソールで表示されるリストの順に認証処理される

– 設定を正しく行わないと意図しない動作になる

認証順

Page 22: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 22

設定例: LDAP認証

LDAP認証プロバイダをセキュリティ・レルムに追加定義する

– DefaultAuthenticatorと併用することで組み込みLDAP, 外部LDAP両方のユーザを認証可能

WebLogic Server

Default

Authenticator

組み込み

LDAP

OpenDS

Authenticator

ユーザ, グループ 参照

ユーザ, グループ 参照

Page 23: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 23

認証プロバイダの作成

Tips: 連携対象のLDAPサーバに対応する認証プロバイダを選択 - 各LDAP認証プロバイダ毎に一般的なディレクトリ・スキーマが定義されている

Page 24: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 24

制御フラグの設定

認証成功したらアプリケーションに制御を戻す場合はSUFFICIENTを設定

DefaultAuthenticatorの制御フラグ値(REQUIRED)も変更する

Page 25: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 25

LDAP検索設定(プロバイダ固有)

Page 26: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 26

認証順の設定

新しく定義した認証プロバイダはリストの最後に追加される

– 必要に応じて順序を変更する

Page 27: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 27

設定例: DB認証

認証プロバイダのタイプは SQLAuthenticator

– 事前準備:

データベースにユーザ, グループ用のテーブルを作成

SQLAuthenticatorが使用するデータソースを事前に作成

Page 28: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 28

参考: DBテーブル作成スクリプト

CREATE TABLE USERS (

U_NAME VARCHAR(200) NOT NULL,

U_PASSWORD VARCHAR(50) NOT NULL,

U_DESCRIPTION VARCHAR(1000));

ALTER TABLE USERS

ADD CONSTRAINT PK_USERS

PRIMARY KEY (U_NAME);

CREATE TABLE GROUPS (

G_NAME VARCHAR(200) NOT NULL,

G_DESCRIPTION VARCHAR(1000));

ALTER TABLE GROUPS

ADD CONSTRAINT PK_GROUPS

PRIMARY KEY (G_NAME);

注: SQLAuthenticatorにデフォルトで設定されている認証処理用SQLを動作させるため簡易スクリプト

CREATE TABLE GROUPMEMBERS (

G_NAME VARCHAR(200) NOT NULL,

G_MEMBER VARCHAR(200) NOT NULL);

ALTER TABLE GROUPMEMBERS

ADD CONSTRAINT PK_GROUPMEMS

PRIMARY KEY (

G_NAME, G_MEMBER);

ALTER TABLE GROUPMEMBERS

ADD CONSTRAINT FK1_GROUPMEMBERS

FOREIGN KEY ( G_NAME )

REFERENCES GROUPS (G_NAME)

ON DELETE CASCADE;

Page 29: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 29

まとめ: 認証プロバイダ設定時の考慮事項

認証プロバイダを追加すると組み込みLDAP以外のデータ・ストアに格納されたユーザでも認証できる

– LDAPサーバやRDBなど多様なデータ・ストアを活用できる

– DefaultAuthenticatorは削除しないことを推奨

組み込みLDAP(DefaultAuthenticator): 管理ユーザ

外部データ・ストア(追加認証プロバイダ): 一般ユーザ

– 複数の認証プロバイダを設定する場合は、認証順と制御フラグの設定に注意する

Page 30: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 30

デフォルト・グローバル・ロールの利用

Page 31: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 31

管理コンソールのアクセス制御

管理コンソールは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

Page 32: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 32

デフォルト・グローバル・ロール

ロール名 グループ名 起動・停止 デプロイ 設定変更 設定表示・モニタ

セキュリティ操作

Admin Administrators ○ ○ ○ ○ ○

Deployer Deployers × ○ △

(一部) ○ ×

Operator Operators ○ × × ○ ×

Monitor Monitors × × × ○ ×

•AppTester (AppTesters) … 管理チャネルを使用して管理モードで起動したアプリケーションにアクセス可能(プロダクション再デプロイメントなどで使用)

•ドメイン作成時に指定するユーザはAdministratorsグループに所属する = Adminロールに属する

•セキュリティ操作(ユーザロック解除を含む)を実行できるのはAdminロールのみのため、Admin

ロールに属するユーザを複数定義しておくことを推奨

Page 33: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 33

管理コンソールにアクセスするには?

次のいずれかを設定

– 認証プロバイダのデータ・ストアにデフォルト・グループと同名のグループを作成

– WebLogic Serverドメインのグローバル・ロール定義を変更

DefaultAuthenticator以外で定義されたユーザのアクセス

Page 34: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 34

グローバル・ロールの定義

ホーム >セキュリティ・レルムのサマリー >myrealm >ロールとポリシー >レルム・ロール

– グローバルロール→Rolesを選択

Page 35: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 35

管理コンソールでのユーザ管理の注意点

ユーザの追加・削除・変更は、ドメイン設定時のコンフィグレーション・ロックとは無関係

– ロック取り消し時も変更は反映されたまま

– ユーザ管理は他の管理タスクとは独立して行うことを推奨

管理コンソールでユーザ情報の変更ができるのはDefaultAuthenticator,

SQLAuthenticatorなど

– LDAPAuthenticatorなどを追加した場合のユーザ情報は表示のみ

編集はLDAPサーバ側で行う

Page 36: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 36

参考: WLSTでユーザ/グループを追加

# 認証プロバイダを参照(serverConfig or domainConfig階層)

wls:/domain/serverConfig> atnr=cmo.getSecurityConfiguration().getDefaultReal

m().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')

Page 37: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 37

まとめ: 管理コンソールのアクセス制限

管理コンソールもJava EEアプリケーションとしてデプロイされているため、Java EEの宣言的セキュリティを使用する

– グローバル・ロール毎にアクセス権限が異なるので作業レベルに応じてロールを使い分けることを推奨

管理コンソールを使用したユーザ設定変更はコンフィグレーション・ロックとは無関係

– ユーザ管理は他の管理タスクとは独立して行うことを推奨

○○というリソースにアクセスできるのは

△△というセキュリティ・ロール

Page 38: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 38

オラクルユニバーシティからのお知らせ

Page 39: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 39

Oracle Universityからのお知らせ

WebLogic Serverの管理方法を体系的に学習したい方に最適な研修コースをご提供しています。

– Classroomトレーニングだけでなく、Live Virtual Classや『Oracle トレーニング・オンデマンド』など多様な受講形態から選択いただけます。

Page 40: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 40

コース内容

■Oracle WebLogic Server概要

■ドメインの作成

■Administration Console

■ドメインのモニタリング

■アプリケーションのデプロイメント

■WebLogic Server セキュリティ

■ドメインのバックアップおよびリカバリ

■WebLogic Serverのインストールおよびパッチ適用

■サーバーの起動および停止

■JDBCデータソースの構成

■ノードマネージャ

■WebLogic Serverクラスタリング

■トランザクション・サービスのコンフィグレーション

受講前提条件 ・Linux の基本的な操作方法の理解 ・Java EE の基礎知識(サーブレットや JSP など) ※推奨

対象者 ・Oracle WebLogic Server 管理者

・Javaアプリケーション開発者

・アーキテクト

コース日程 5日間 日程の詳細は Oracle University Webサイト にてご確認ください。

受講料 定価¥374,850(税込) ※Oracle PartnerNetwork会員様は、パートナー割引価格で受講いただけます。

Oracle WebLogic Server 12c の運用管理スキルをしっかり習得 待望のWebLogic Server 12c(12.1.2)対応研修がいよいよ提供開始です。

このコースでは、アプリケーション・サーバー管理者がOracle WebLogic Server 12cのインストールおよび設定方法を習得することがで

きます。管理コンソールやコマンドラインツール(WLST)などを使用してドメインを構成する方法やJava EEアプリケーションをサー

バーにデプロイする方法についても説明します。さらに、Oracle WebLogic Server のプロキシとしてOracle HTTP Serverを設定し、

WebLogic Serverクラスタによるアプリケーションのフェイルオーバーとロードバランシングをサポートする方法など、環境構築に必要

なスキルとWebLogic Serverのモニタリングやログ情報の収集など運用に必要なスキルを実機演習を通して習得できます。さらに、

Oracle WebLogic Server 12cで強化されたActive GridLink for RACの構成方法やWebLogic Server 12.1.2の新機能である動的クラスタなど

注目の新機能もカバーします。

Oracle WebLogic Server 12c: 管理 I

ミドルウェア

開催日程 ■ 2014年4月7日 (月) 〜 11 日 (金)

Page 41: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 41

Page 42: WebLogic Serverセキュリティ

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 42