40
セキュリティー機能強化 に含まれている情報は、正式なIBMのテストを受けていません。また、明記にしろ、黙的にしろ、なんらの保証もなしに配布されるものです。 この情報の使用またはこれらの技術の実施は、いずれも、使用先の責任において行われるべきものであり、それらを評価し、実際に使用する環境に統合する 使用先の判断に依存しています。それぞれの項目は、ある特定の状態において正確であることがIBMによって調べられていますが、他のところで同じまたは同 様の結果が得られる保証はありません。これらの技術を自身の環境に適用することを試みる使用先は、自己の責任において行う必要があります。 © Copyright IBM Japan Systems Engineering Co., Ltd. 2009 DB2 V9.7新機能ワークショップ

DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

セキュリティー機能強化

本書に含まれている情報は、正式なIBMのテストを受けていません。また、明記にしろ、暗黙的にしろ、なんらの保証もなしに配布されるものです。

この情報の使用またはこれらの技術の実施は、いずれも、使用先の責任において行われるべきものであり、それらを評価し、実際に使用する環境に統合する使用先の判断に依存しています。それぞれの項目は、ある特定の状態において正確であることがIBMによって調べられていますが、他のところで同じまたは同

様の結果が得られる保証はありません。これらの技術を自身の環境に適用することを試みる使用先は、自己の責任において行う必要があります。

© Copyright IBM Japan Systems Engineering Co., Ltd. 2009

DB2 V9.7新機能ワークショップ

Page 2: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

2 © 2009 ISE Corporation

• 目的目的目的目的

• DB管理者とセキュリティー管理者の権限を分離

• 必要以上の権限をユーザーやグループに与えないようにする

• 目的目的目的目的

• データ暗号化の強化

• SSL通信の設定の簡素化

内容

•SYSADM、SECADM、DBADMの明確な役割分担

•SSL設定はDBM CFGで実施

主主主主なななな変更点変更点変更点変更点

権限権限権限権限のののの分離分離分離分離

ネットワークネットワークネットワークネットワーク機能強化機能強化機能強化機能強化

Page 3: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

3 © 2009 ISE Corporation

権限の分離権限の分離

Page 4: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

4 © 2009 ISE Corporation

権限の分離 ~内容~

• DB2のののの権限権限権限権限

• インスタンスインスタンスインスタンスインスタンス権限権限権限権限のののの変更点変更点変更点変更点

• SYSADM

• SYSMON

• データベースデータベースデータベースデータベース権限権限権限権限のののの変更点変更点変更点変更点

• SECADMの変更

• DBADMの変更点

• 新新新新しいしいしいしいデータベースデータベースデータベースデータベース権限権限権限権限

• SQLADM

• WLMADM

• EXPLAIN

• 移行移行移行移行

Page 5: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

5 © 2009 ISE Corporation

DB2の権限 以前まで

SYSADMSYSADMSYSADMSYSADM

システム管理システム管理

SYSCTRLSYSCTRLSYSCTRLSYSCTRLシステム制御システム制御

SYSMAINTSYSMAINTSYSMAINTSYSMAINTシステム保守システム保守

データベースデータベースデータベースデータベースデータベースデータベースデータベースデータベース

インスタンスインスタンスインスタンスインスタンス

SYSSYSSYSSYSMONMONMONMON

システムシステム・モニター・モニター

SECADMSECADMSECADMSECADMセキュリティー管理セキュリティー管理

V9.1 ~~~~

DBADMDBADMDBADMDBADMデータベース管理権限データベース管理権限

SYSADMには暗黙的にDBADMが付与されている

SYSADMはSECADM、DBADM権限の付与が可能

新規新規新規新規DBDBDBDB環境環境環境環境をををを構築構築構築構築するとするとするとすると…

Page 6: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

6 © 2009 ISE Corporation

DB2の権限 V9.7から

SYSADMSYSADMSYSADMSYSADM

システム管理システム管理

SYSCTRLSYSCTRLSYSCTRLSYSCTRL****

システム制御システム制御

SYSMAINTSYSMAINTSYSMAINTSYSMAINT****

システム保守システム保守

インスタンスインスタンスインスタンスインスタンス

SYSSYSSYSSYSMONMONMONMON********

システムシステム・モニター・モニター

SECADMSECADMSECADMSECADMセキュリティー管理セキュリティー管理

V9.1 ~~~~

DBADMDBADMDBADMDBADM

データベース管理権限データベース管理権限

EXPLAINEXPLAINEXPLAINEXPLAINEXPLAINEXPLAINEXPLAINEXPLAIN

WLMADMWLMADMWLMADMWLMADMWLMADMWLMADMWLMADMWLMADM

SQLADMSQLADMSQLADMSQLADMSQLADMSQLADMSQLADMSQLADM

ACCESSCTRLACCESSCTRLACCESSCTRLACCESSCTRLACCESSCTRLACCESSCTRLACCESSCTRLACCESSCTRL

DATAACCESSDATAACCESSDATAACCESSDATAACCESSDATAACCESSDATAACCESSDATAACCESSDATAACCESS

*:変更なし**:マイナー変更

××××

××××SYSADMはSECADM、DBADM権限を付与できない

SYSADMには暗黙的にDBADM権限が付与されない

新規新規新規新規DBDBDBDB環境環境環境環境をををを構築構築構築構築するとするとするとすると…

データベースデータベースデータベースデータベースデータベースデータベースデータベースデータベース

Page 7: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

7 © 2009 ISE Corporation

SYSADMの変更点 インスタンス権限

• DBADM権限権限権限権限はははは付与付与付与付与されないされないされないされない

• 以前の権限が必要な場合、明示的にDBADM権限を付与する

• SECADM権限権限権限権限をををを付与付与付与付与できないできないできないできない

• SECADM権限の付与はSECADMのみ可能に

• V9.7からはからはからはからはSYSADMはははは以下以下以下以下のみのみのみのみ実行可能実行可能実行可能実行可能

• Upgrade database

• Restore database

• DBM CFG の変更

Page 8: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

8 © 2009 ISE Corporation

(参考)SYSMONの変更点 インスタンス権限

• 実行可能実行可能実行可能実行可能ななななLISTコマンドコマンドコマンドコマンドのののの拡張拡張拡張拡張

• db2mtrkのののの実行実行実行実行がががが可能可能可能可能

GET DATABASE MANAGER MONITOR SWITCHES

GET MONITOR SWITCHES

GET SNAPSHOT

LIST ACTIVE DATABASES

LIST APPLICATIONS

LIST DCS APPLICATIONS

RESET MONITOR

UPDATE MONITOR SWITCHES

db2GetSnapshot

db2GetSnapshotSize

db2MonitorSwitches

db2ResetMonitor

GET DATABASE MANAGER MONITOR SWITCHES

GET MONITOR SWITCHES

GET SNAPSHOT

LIST ACTIVE DATABASES

LIST APPLICATIONS

LIST DATABASE PARTITION GROUPS

LIST DCS APPLICATIONS

LIST PACKAGES

LIST TABLES

LIST TABLESPACE CONTAINERS

LIST TABLESPACES

LIST UTILITIES

RESET MONITOR

UPDATE MONITOR SWITCHES

db2GetSnapshot

db2GetSnapshotSize

db2MonitorSwitches

db2mtrk

db2ResetMonitor

V9.5

V9.7

Page 9: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

9 © 2009 ISE Corporation

SECADMの変更 データベース権限

• データベースデータベースデータベースデータベース権限権限権限権限のののの GRANT/REVOKE をすべてをすべてをすべてをすべて管理管理管理管理

• DBADM、SECADMなど

• RoleややややGroupにににに対対対対してしてしてしてSECADMををををGRANT/REVOKE可能可能可能可能

• 以前はUserにのみ可能

• 以下以下以下以下ののののAuditストアードストアードストアードストアード・・・・プロシージャープロシージャープロシージャープロシージャーやややや表関数表関数表関数表関数をををを実行実行実行実行するするするする必要必要必要必要がないがないがないがない

• AUDIT_ARCHIVES

• AUDIT_LIST_LOGS

• AUDIT_DELIM_EXTRACT

以前は、SECADMのみ実行可能

V97では、上記のEXECUTE特権を他のユーザにGRANT可能になった

Page 10: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

10 © 2009 ISE Corporation

DBADMの変更点 データベース権限

• DBADMををををGrant/Revokeできるのはできるのはできるのはできるのは、、、、SECADMのみのみのみのみ

• DBADM権限権限権限権限をををを付与付与付与付与するするするする時時時時、、、、以下以下以下以下のののの権限権限権限権限もももも付与付与付与付与するかするかするかするか選択可能選択可能選択可能選択可能

• DATAACCESS

• データアクセス可否に関する権限

• デフォルトは WITH DATAACCESS

• ACCESSCTRL

• 権限のGrant/Revokeに関する権限

• デフォルトは WITH ACCESSCTRL

• 以前以前以前以前ははははDBADMはははは自動的自動的自動的自動的ににににGrant/Revoke権限権限権限権限、、、、データデータデータデータののののアクセスアクセスアクセスアクセス権権権権がががが付与付与付与付与されていたがされていたがされていたがされていたが、、、、V9.7からはからはからはからは、、、、選択可能選択可能選択可能選択可能

例GRANTE DBADM WITH DATAACCESS WITH ACCESSCTRLWITH DATAACCESS WITH ACCESSCTRLWITH DATAACCESS WITH ACCESSCTRLWITH DATAACCESS WITH ACCESSCTRL

ON DATABASE TO USER XXXX

Page 11: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

11 © 2009 ISE Corporation

(参考)DBADM権限のREVOKE

• 今今今今まではまではまではまではDBADM権限権限権限権限ををををREVOKEしてもしてもしてもしても以下以下以下以下のののの権限権限権限権限はははは残残残残るるるる

• BINDADD

• CONNECT

• CREATETAB

• CREATE_EXTERNAL_ROUTINE

• CREATE_NOT_FENCED_ROUTINE

• IMPLICIT_SCHEMA

• QUIESCE_CONNECT

• LOAD

• V97ではではではでは自動的自動的自動的自動的にににに上記上記上記上記のののの権限権限権限権限ももももREVOKEされるされるされるされる

Page 12: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

12 © 2009 ISE Corporation

その他の新しいデータベース権限

• ACCESSCTRL

• Grant/revoke権限

• DBADMに対する権限(デフォルトは付与される)

• DATAACCESS

• データへのアクセス権限

• DBADMに対する権限(デフォルトは付与される)

• WLMADM

• Workload manager用の権限

• SQLADM

• SQLチューニング用の権限

• EXPLAIN

• EXPLAIN実行用の権限

Page 13: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

13 © 2009 ISE Corporation

WLMADM

• Workload Manager用用用用のののの権限権限権限権限

• work action sets、Work class setsなどの作成

• DBADM権限権限権限権限ののののサブセットサブセットサブセットサブセット

SECADMSECADMSECADMSECADMセキュリティー管理セキュリティー管理

V9.1 ~~~~

DBADMDBADMDBADMDBADMデータベース管理権限データベース管理権限

EXPLAINEXPLAINEXPLAINEXPLAINEXPLAINEXPLAINEXPLAINEXPLAIN

WLMADMWLMADMWLMADMWLMADMWLMADMWLMADMWLMADMWLMADM

SQLADMSQLADMSQLADMSQLADMSQLADMSQLADMSQLADMSQLADM

Page 14: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

14 © 2009 ISE Corporation

SQLADM

• SQLステートメントステートメントステートメントステートメントののののモニタリングモニタリングモニタリングモニタリングにににに使用使用使用使用するするするする権限権限権限権限

• CREATE EVENT MONITOR、REORG、RUNSTATS など

• DBADM権限権限権限権限ののののサブセットサブセットサブセットサブセット

SECADMSECADMSECADMSECADMセキュリティー管理セキュリティー管理

V9.1 ~~~~

DBADMDBADMDBADMDBADMデータベース管理権限データベース管理権限

EXPLAINEXPLAINEXPLAINEXPLAINEXPLAINEXPLAINEXPLAINEXPLAIN

WLMADMWLMADMWLMADMWLMADMWLMADMWLMADMWLMADMWLMADM

SQLADMSQLADMSQLADMSQLADMSQLADMSQLADMSQLADMSQLADM

Page 15: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

15 © 2009 ISE Corporation

EXPLAIN

• 以下以下以下以下のののの実行実行実行実行のみのみのみのみ可能可能可能可能

• EXPLAIN、EXPLAIN関数

• PREPARE

• DESCRIBE SELECT

• 例:describe select (*) from table

• ただし、データへのアクセス権限はなし

• SQLADM権限権限権限権限ののののサブセットサブセットサブセットサブセットSECADMSECADMSECADMSECADM

セキュリティー管理セキュリティー管理

V9.1 ~~~~

DBADMDBADMDBADMDBADMデータベース管理権限データベース管理権限

EXPLAINEXPLAINEXPLAINEXPLAINEXPLAINEXPLAINEXPLAINEXPLAIN

WLMADMWLMADMWLMADMWLMADMWLMADMWLMADMWLMADMWLMADM

SQLADMSQLADMSQLADMSQLADMSQLADMSQLADMSQLADMSQLADM

Page 16: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

16 © 2009 ISE Corporation

データベース作成者のデフォルト権限

• 以前以前以前以前までまでまでまで

• 自動的にDBADM権限が付与される

• V9.7からからからから

• 自動的に、DBADM(ACCESSCTRL と DATAACCESS付) 、SECADM 権限が付与される

必要以上の権限が付与されるため、必要に応じて明示的に権限をREVOKEする

Page 17: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

17 © 2009 ISE Corporation

一般的な移行パターン

SECADMSECADMSECADMSECADMセキュリティー管理セキュリティー管理

DBADMDBADMDBADMDBADM

データベース管理権限データベース管理権限

SYSADMSYSADMSYSADMSYSADMシステム管理システム管理

SYSADMSYSADMSYSADMSYSADMシステム管理システム管理

DBADMDBADMDBADMDBADM

データベース管理権限データベース管理権限

SECADMSECADMSECADMSECADMセキュリティー管理セキュリティー管理

DBADMDBADMDBADMDBADM

データベース管理権限データベース管理権限

SYSADMSYSADMSYSADMSYSADMシステム管理システム管理

SYSADMSYSADMSYSADMSYSADMシステム管理システム管理

DBADMDBADMDBADMDBADM

データベース管理権限データベース管理権限

移行移行移行移行パターンパターンパターンパターン2222

移行移行移行移行パターンパターンパターンパターン1111

V9.7V9.5

V9.7V9.5

変化変化変化変化なしなしなしなし

SECADMがががが

移行移行移行移行ユーザーユーザーユーザーユーザーにににに付与付与付与付与

Page 18: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

18 © 2009 ISE Corporation

移行後の権限

• SYSADMにににに自動的自動的自動的自動的にににに以下以下以下以下のののの権限権限権限権限がががが付与付与付与付与されるされるされるされる

• DBADM(DATAACESS と ACCESSCTRL権限付)

• DBADMをををを持持持持つつつつユーザユーザユーザユーザにににに自動的自動的自動的自動的にににに以下以下以下以下のののの権限権限権限権限がががが付与付与付与付与されるされるされるされる

• DATAACCESS と ACCESSCTRL

• 移行移行移行移行するするするするユーザーユーザーユーザーユーザーにににに自動的自動的自動的自動的ににににSECADM権限権限権限権限がががが付与付与付与付与されるされるされるされる

• ただし、SECADM権限にUSERタイプのIDがいないとき

移行後は各ユーザー、グループの権限の妥当性をチェックする

必要に応じてSYSADMからDBADMなどの権限を明示的にREVOKEする

Page 19: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

19 © 2009 ISE Corporation

(参考)テスト結果 ~移行パターン1~

NNNN

NNNN

YYYY

YYYY

YYYY

YYYY

YYYY

YYYY

YYYY

YYYY

YYYY

Instance Instance Instance Instance User User User User

YYYY

NNNN

NNNN

NNNN

NNNN

NNNN

NNNN

NNNN

NNNN

NNNN

NNNN

Security Security Security Security UserUserUserUser

QUIESCE_CONNECTQUIESCE_CONNECTQUIESCE_CONNECTQUIESCE_CONNECT

LOADLOADLOADLOAD

IMPLICIT_SCHEMAIMPLICIT_SCHEMAIMPLICIT_SCHEMAIMPLICIT_SCHEMA

DBADMDBADMDBADMDBADM

SECADMSECADMSECADMSECADM

LIBRARYLIBRARYLIBRARYLIBRARY

CREATE_NOT_FENCED_ROUTINECREATE_NOT_FENCED_ROUTINECREATE_NOT_FENCED_ROUTINECREATE_NOT_FENCED_ROUTINE

CREATE_EXTERNAL_ROUTINECREATE_EXTERNAL_ROUTINECREATE_EXTERNAL_ROUTINECREATE_EXTERNAL_ROUTINE

CREATETABCREATETABCREATETABCREATETAB

CONNECTCONNECTCONNECTCONNECT

BINDADDBINDADDBINDADDBINDADD

AUTHORITIESAUTHORITIESAUTHORITIESAUTHORITIES

NNNN

NNNN

NNNN

NNNN

NNNN

YYYY

NNNN

NNNN

NNNN

NNNN

NNNN

NNNN

NNNN

NNNN

NNNN

NNNN

Security Security Security Security UserUserUserUser

YYYYYYYYDATAACCESSDATAACCESSDATAACCESSDATAACCESS

YYYYYYYYACCESSCTRLACCESSCTRLACCESSCTRLACCESSCTRL

NNNNNNNNEXPLAINEXPLAINEXPLAINEXPLAIN

NNNNNNNNSQLADMSQLADMSQLADMSQLADM

NNNNNNNNWLMADMWLMADMWLMADMWLMADM

NNNNNNNNSECADMSECADMSECADMSECADM

NNNNNNNNLIBRARYLIBRARYLIBRARYLIBRARY

NNNNYYYYQUIESCE_CONNECTQUIESCE_CONNECTQUIESCE_CONNECTQUIESCE_CONNECT

NNNNYYYYIMPLICIT_SCHEMAIMPLICIT_SCHEMAIMPLICIT_SCHEMAIMPLICIT_SCHEMA

NNNNYYYYLOADLOADLOADLOAD

YYYYYYYYDBADMDBADMDBADMDBADM

NNNNYYYYCREATE_NOT_FENCED_ROUTINECREATE_NOT_FENCED_ROUTINECREATE_NOT_FENCED_ROUTINECREATE_NOT_FENCED_ROUTINE

NNNNYYYYCREATE_EXTERNAL_ROUTINECREATE_EXTERNAL_ROUTINECREATE_EXTERNAL_ROUTINECREATE_EXTERNAL_ROUTINE

NNNNYYYYCREATETABCREATETABCREATETABCREATETAB

NNNNYYYYCONNECTCONNECTCONNECTCONNECT

NNNNYYYYBINDADDBINDADDBINDADDBINDADD

SYSADMSYSADMSYSADMSYSADM_GROUP_GROUP_GROUP_GROUP

Instance Instance Instance Instance User User User User

AUTHORITIESAUTHORITIESAUTHORITIESAUTHORITIES V9.7V9.5

手順:instance user にて実行

1. db2iupgrade <instance user>

2. db2 upgrade database

自動的自動的自動的自動的にににに作成作成作成作成

必要に応じて権限を revoke

Page 20: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

20 © 2009 ISE Corporation

(参考)テスト結果 ~移行パターン2~

YYYYQUIESCE_CONNECTQUIESCE_CONNECTQUIESCE_CONNECTQUIESCE_CONNECT

YYYYLOADLOADLOADLOAD

YYYYIMPLICIT_SCHEMAIMPLICIT_SCHEMAIMPLICIT_SCHEMAIMPLICIT_SCHEMA

YYYYDBADMDBADMDBADMDBADM

NNNNSECADMSECADMSECADMSECADM

NNNNLIBRARYLIBRARYLIBRARYLIBRARY

YYYYCREATE_NOT_FENCED_ROUTINECREATE_NOT_FENCED_ROUTINECREATE_NOT_FENCED_ROUTINECREATE_NOT_FENCED_ROUTINE

YYYYCREATE_EXTERNAL_ROUTINECREATE_EXTERNAL_ROUTINECREATE_EXTERNAL_ROUTINECREATE_EXTERNAL_ROUTINE

YYYYCREATETABCREATETABCREATETABCREATETAB

YYYYCONNECTCONNECTCONNECTCONNECT

YYYYBINDADDBINDADDBINDADDBINDADD

Instance Instance Instance Instance User User User User

AUTHORITIESAUTHORITIESAUTHORITIESAUTHORITIES

YYYYYYYYDATAACCESSDATAACCESSDATAACCESSDATAACCESS

YYYYYYYYACCESSCTRLACCESSCTRLACCESSCTRLACCESSCTRL

NNNNNNNNEXPLAINEXPLAINEXPLAINEXPLAIN

NNNNNNNNSQLADMSQLADMSQLADMSQLADM

NNNNNNNNWLMADMWLMADMWLMADMWLMADM

NNNNYYYYSECADMSECADMSECADMSECADM

NNNNNNNNLIBRARYLIBRARYLIBRARYLIBRARY

NNNNYYYYQUIESCE_CONNECTQUIESCE_CONNECTQUIESCE_CONNECTQUIESCE_CONNECT

NNNNYYYYIMPLICIT_SCHEMAIMPLICIT_SCHEMAIMPLICIT_SCHEMAIMPLICIT_SCHEMA

NNNNYYYYLOADLOADLOADLOAD

YYYYYYYYDBADMDBADMDBADMDBADM

NNNNYYYYCREATE_NOT_FENCED_ROUTINECREATE_NOT_FENCED_ROUTINECREATE_NOT_FENCED_ROUTINECREATE_NOT_FENCED_ROUTINE

NNNNYYYYCREATE_EXTERNAL_ROUTINECREATE_EXTERNAL_ROUTINECREATE_EXTERNAL_ROUTINECREATE_EXTERNAL_ROUTINE

NNNNYYYYCREATETABCREATETABCREATETABCREATETAB

NNNNYYYYCONNECTCONNECTCONNECTCONNECT

NNNNYYYYBINDADDBINDADDBINDADDBINDADD

SYSADMSYSADMSYSADMSYSADM_GROUP_GROUP_GROUP_GROUP

Instance Instance Instance Instance User User User User

AUTHORITIESAUTHORITIESAUTHORITIESAUTHORITIES V9.7V9.5

自動的自動的自動的自動的にににに作成作成作成作成

必要に応じて権限を revoke

手順:instance user にて実行

1. db2iupgrade <instance user>

2. db2 upgrade database

Page 21: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

21 © 2009 ISE Corporation

ネットワーク機能強化ネットワーク機能強化

Page 22: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

22 © 2009 ISE Corporation

ネットワークを流れるデータのセキュリティー強化

• AES暗号化暗号化暗号化暗号化 256bit アルゴリズムアルゴリズムアルゴリズムアルゴリズムををををサポートサポートサポートサポート

• SSL通信通信通信通信のののの設定設定設定設定をををを簡易化簡易化簡易化簡易化

Page 23: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

23 © 2009 ISE Corporation

AES暗号化の設定

• AUTHENTICATIONパラメータパラメータパラメータパラメータががががSERVER_ENCRYPTのののの場合場合場合場合

• ユーザーID、パスワードを暗号化する

• 暗号化方法暗号化方法暗号化方法暗号化方法はははは ALTERNATE_AUTH_ENC DBM構成構成構成構成パラメータパラメータパラメータパラメータでででで設定設定設定設定

• 以前の DB2_SERVER_ENCALG は非推奨

• ALTERNATE_AUTH_ENC

• NOT_SPECIFIED(デフォルト)

• クライアントの暗号化アルゴリズムをサーバーが受け入れる

• AES_CMP

• クライアントがAESをサポートする場合、サーバーはAESで交渉

• クライアントがAESをサポートしない場合、DESで接続

• AES_ONLY

• サーバーはAESのみ受け入れる

• クライアントがAESをサポートしない場合、接続は拒否される

NEW!

Page 24: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

24 © 2009 ISE Corporation

SSLクライアントサポートの拡張と構成の簡易化

• すべてのすべてのすべてのすべての non-Java DB2 クライアントクライアントクライアントクライアントををををサポートサポートサポートサポート

• CLI/ODBC Client

• .Net Data Provider

• Embedded SQL

• CLP

• SSL設定設定設定設定ががががDBM CFGでででで可能可能可能可能

• 今までは SSLconfig.ini と SSLClientconfig.ini に設定

• 移行時は自動的に DBM CFG に設定される

Page 25: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

25 © 2009 ISE Corporation

サーバー側での SSL 設定項目(DBM CFG)

• 新新新新しいしいしいしいパラメーターパラメーターパラメーターパラメーター

• SSL_SVR_KEYDB ::::Keystore DBファイル名(絶対パス)

• SSL_SVR_STASH ::::Stashファイル名(絶対パス)

• SSL_SVR_LABEL :デジタル署名のラベル

• SSL_SVCENAME ::::SSL ポート

オプション

• SSL_CIPHERSPECS ::::cipher suitesの暗号化方法

• SSL_VERSIONS ::::SSL と TLS バージョン

Page 26: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

26 © 2009 ISE Corporation

クライアント側での SSL 設定項目

• DBM CFG 新新新新しいしいしいしいパラメーターパラメーターパラメーターパラメーター

• SSL_CLNT_KEYDB :Keystore DBファイル名(絶対パス)

• SSL_CLNT_STASH :Stashファイル名(絶対パス)

• CLI/ODBC用用用用のののの新新新新しいしいしいしいパラメーターパラメーターパラメーターパラメーター

• ssl_client_keystoredb : Keystore DBファイル名(絶対パス)

• ssl_client_keystash : Stashファイル名(絶対パス)

• DB2 .Net Provider用用用用のののの新新新新しいしいしいしいパラメーターパラメーターパラメーターパラメーター

• SSLClientKeystoredb : Keystore DBファイル名(絶対パス)

• SSLClientKeystash : Stashファイル名(絶対パス)

• Security :SSL

Page 27: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

27 © 2009 ISE Corporation

テスト ~SSL接続例~

SSL

1. SSLのサーバー Keystore DB を作成

2. サーバー鍵DBの stash file を作成

3. SSL証明書を抽出

4. DBM CFG設定

1. SSLのクライアント Keystore DB を作成

2. クライアント鍵DBの stash file を作成

3. サーバーのSSL証明書をインポート

4. DBM CFG設定

5. データベースカタログ

*stash file : Keystore DBの暗号化されたパスワードファイル

Page 28: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

28 © 2009 ISE Corporation

テスト ~SSL設定:サーバー側 鍵と証明書の作成~

KeystoreKeystoreKeystoreKeystore DB DB DB DB のののの作成作成作成作成

$ gsk7capicmd -keydb -create -db SeverKey_cms.kdb -pw password -type cms -expire 365 –stash

自己証明書自己証明書自己証明書自己証明書のののの作成作成作成作成

$ gsk7capicmd -cert -create -db SeverKey_cms.kdb -pw password -label cmskeylabel-dn "CN=db2.ibm.com,O=IBM,C=JP" -expire 365 -ca true

証明書証明書証明書証明書のののの抽出抽出抽出抽出

$ gsk7capicmd -cert -extract -db SeverKey_cms.kdb -pw password -label cmskeylabel-target ServerCert.arm -format ascii

以下以下以下以下ののののファイルファイルファイルファイルがががが作成作成作成作成されるされるされるされる

$ ls –ltr-rw------- 1 yanav97 db2adm 80 May 29 10:07 SeverKey_cms.rdb-rw------- 1 yanav97 db2adm 80 May 29 10:07 SeverKey_cms.crl-rw------- 1 yanav97 db2adm 129 May 29 10:07 SeverKey_cms.sth ← stash file-rw------- 1 yanav97 db2adm 125080 May 29 10:07 SeverKey_cms.kdb ← keystore db-rw-r--r-- 1 yanav97 db2adm 729 May 29 10:07 ServerCert.arm ← certificate

証明書はClientに

送信する

Page 29: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

29 © 2009 ISE Corporation

テスト ~SSL設定:サーバー側 DBの設定~

DBM CFGDBM CFGDBM CFGDBM CFGのののの設定設定設定設定

$ db2 update dbm cfg using SSL_SVR_KEYDB /home/yanav97/ServerKey_cms.kdb$ db2 update dbm cfg using SSL_SVR_STASH /home/yanav97/SeverKey_cms.sth$ db2 update dbm cfg using SSL_SVR_LABEL cmskeylabel$ db2 update dbm cfg using SSL_SVCENAME 60138

$ db2 get dbm cfg | grep SSL

SSL server keydb file (SSL_SVR_KEYDB) = /home/yanav97/SeverKey_cms.kdbSSL server stash file (SSL_SVR_STASH) = /home/yanav97/SeverKey_cms.sthSSL server certificate label (SSL_SVR_LABEL) = cmskeylabelSSL service name (SSL_SVCENAME) = 60138SSL cipher specs (SSL_CIPHERSPECS) =SSL versions (SSL_VERSIONS) =SSL client keydb file (SSL_CLNT_KEYDB) =SSL client stash file (SSL_CLNT_STASH) =

証明書を作成したときに指定したラベル名

別途SSL用のportをあける (/etc/services)

Page 30: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

30 © 2009 ISE Corporation

テスト ~SSL設定:クライアント側 鍵DBの作成~

ikeymanを使用

新規データベースを作成

Page 31: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

31 © 2009 ISE Corporation

テスト ~SSL設定:クライアント側 Stashファイル作成~

CMSを選択

Keystore DBファイル名を指定

保存先ディレクトリを指定パスワードを設定

有効期限を設定

Stash file を作成

Stash file が作成される

Page 32: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

32 © 2009 ISE Corporation

テスト ~SSL設定:クライアント側 証明書の追加~

新規CA証明書を追加

Page 33: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

33 © 2009 ISE Corporation

テスト ~SSL設定:クライアント側 証明書の追加~ASCIIを選択

証明書ファイル名を指定

保存先ディレクトリを指定

ラベルを設定

証明書が追加された

Page 34: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

34 © 2009 ISE Corporation

Note:

• ikeyman はははは、、、、DB2ににににバンドルバンドルバンドルバンドルされていますがされていますがされていますがされていますが、、、、Javaのみのみのみのみ対応対応対応対応((((CMSにににに対応対応対応対応していないしていないしていないしていない))))

• <DB2 install Dir>¥java¥jdk¥jre¥bin¥ikeyman.exe

• <instance home dir>/sqllib/java/jdk64/jre/bin/ikeyman

• MQににににバンドルバンドルバンドルバンドルされているされているされているされている ikeyman ははははCMSにににに対応対応対応対応

• <MQ install Dir>¥gskit¥jre¥bin

• ikeyman以外以外以外以外にもにもにもにも、、、、keytool、、、、gsk7capicmd ははははDB2ををををインストールインストールインストールインストールしていればしていればしていればしていれば使用可能使用可能使用可能使用可能

• keytool

• <DB2 install Dir>¥java¥jdk¥bin¥keytool

• <instance home dir>/sqllib/java/jdk64/jre/bin/keytool

• gsk7capicmd

• C:¥Program Files¥IBM¥gsk7¥bin¥gsk7capicmd

• gsk8capicmd_64

• <instance home dir>/sqllib/gskit/bin

Page 35: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

35 © 2009 ISE Corporation

テスト ~SSL設定:クライアント側 DB設定~

DBM CFG DBM CFG DBM CFG DBM CFG 設定設定設定設定

C:¥> db2 update dbm cfg using SSL_CLNT_KEYDB C:¥temp¥ClientKey.kdbC:¥> db2 update dbm cfg using SSL_CLNT_STASH C:¥temp¥ClientKey.sth

C:¥>db2 get dbm cfg | find “SSL“SSL サーバー keydb ファイル (SSL_SVR_KEYDB) =SSL サーバー stash ファイル (SSL_SVR_STASH) =SSL サーバー証明書ラベル (SSL_SVR_LABEL) =SSL サービス名 (SSL_SVCENAME) =SSL 暗号仕様 (SSL_CIPHERSPECS) =SSL バージョン (SSL_VERSIONS) =SSL クライアント keydb ファイル (SSL_CLNT_KEYDB) = C:¥temp¥ClientKey.kdbSSL クライアント stash ファイル (SSL_CLNT_STASH) = C:¥temp¥ClientKey.sth

作成作成作成作成されるされるされるされるファイルファイルファイルファイル

C:¥temp> dir | find “Client”2009/05/29 10:22 80 ClientKey.crl2009/05/29 10:22 120,080 ClientKey.kdb ← keystore db2009/05/29 10:22 80 ClientKey.rdb2009/06/02 13:29 129 ClientKey.sth ← stash file

Page 36: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

36 © 2009 ISE Corporation

テスト ~SSL設定:クライアント側 DBカタログ~

DBDBDBDBののののカタログカタログカタログカタログ

C:¥> db2 catalog tcpip node SSLNODE remote x.xxx.xxx.xx server 60138 security sslC:¥> db2 catalog db srcdb as SSLDB at node SSLNODE

C:¥>db2 list node directory

ノード名 = SSLNODEコメント =ディレクトリー項目タイプ = LOCALプロトコル = TCPIPホスト名 = x.xxx.xxx.xxサービス名 = 60138セキュリティー・タイプ = SSL

C:¥>db2 list db directory

データベース別名 = SSLDBデータベース名 = SRCDBノード名 = SSLNODEデータベース・リリース・レベル = d.00コメント =ディレクトリー項目タイプ = リモートカタログ・データベース・パーティション番号 = -1代替サーバー・ホスト名 =代替サーバーのポート番号 =

Page 37: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

37 © 2009 ISE Corporation

テスト ~SSL接続~

C:¥>db2 connect to ssldb user yanav97 using xxxxx

データベース接続情報

データベース・サーバー = DB2/AIX64 9.7.0SQL 許可 ID = YANAV97ローカル・データベース別名 = SSLDB

gsk8sys.dllのライブラリーが見つからないとのエラーが出た場合は、PATHを設定

C:¥> set PATH=C:¥Program Files¥IBM¥gsk8¥lib; C:¥Program Files¥IBM¥gsk8¥bin;%PATH

Page 38: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

38 © 2009 ISE Corporation

テスト~SSL通信確認~

“Client Hello”

SSLの最初のHandshake

※ wireshark を使用

Page 39: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

39 © 2009 ISE Corporation

参考資料

• Technote::::Authorization errors due to changes to the SYSADM authority scope

• http://www-01.ibm.com/support/docview.wss?uid=swg21385801&myns=swgimgmt&mynp=OCSSEPGG&mync=E

• DB2インスタンスインスタンスインスタンスインスタンスののののSecure Socket Layer(SSL)サポートサポートサポートサポートのののの構成構成構成構成

• http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.sec.doc/doc/t0025241.html

• DB2 technical tip: Set up Secure Sockets Layer (SSL) for DB2 on Windows

• http://www.ibm.com/developerworks/data/library/techarticle/dm-0806sogalad/index.html

• SSL のののの入門入門入門入門およびおよびおよびおよびikeymanユーザーズユーザーズユーザーズユーザーズ・・・・ガイドガイドガイドガイド

• http://publib.boulder.ibm.com/tividd/td/ITAME/SC32-1363-00/ja_JA/PDF/ss7aumst.pdf

• GSK7c_CapiCmd_UserGuide

• ftp://ftp.software.ibm.com/software/webserver/appserv/library/v61/ihs/GSK7c_CapiCmd_UserGuide.pdf

• keytool

• http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/tooldocs/solaris/keytool.html

• SSL Return Codes

• http://publib.boulder.ibm.com/infocenter/tsminfo/v6/index.jsp?topic=/com.ibm.itsm.tshoot.doc/r_pdg_retcodes.html

• Wireshark

• http://www.wireshark.org/

Page 40: DB2 V9.7 新機能ワークショップ - IBM · db2 の権限v9.7 から sysadm システム管理 sysctrl**** システム制御 sysmaint**** システム保守 インスタンス

40 © 2009 ISE Corporation

ブランクブランクブランクブランク・・・・ページページページページ