【B4】InterBaseテクニカルセッション「InterBaseセキュリティパワーアップ」
セキュリティ改善のコツとツール
キムラデービー代表
木村明治(きむらめいじ)
http://kimuradb.com

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

1アジェンダ• DBセキュリティとは？
• InterBase本体が持つセキュリティ機能• 通信経路の暗号化• 格納データの暗号化

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

2

1

DBセキュリティとは？

3

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

概略 全体図InterBaseで設定

監査

InterBase

Backup
ファイル

ＤＢファイル

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

ユーザ名とパスワード
アクセス
制御ユ｜
ザ認
証

ネットワーククライアントOS・その他の設定

42

InterBase本体が持つセキュリティ機能

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

5

基本機能のおさらい• Grant/Revoke• User/User Role
• DB alias• ibconfig

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

63

GRANT文GRANT privileges

アクセス
制御ユ｜
ザ
認
証

ユーザ名とパスワード

ネットワーククライ
アント

ON [TABLE] {tablename | viewname}TO {object|userlist [WITH GRANTOPTION]|GROUP UNIX_group}
基本は、WITH GRANTするかどうか。
権限剥奪はREVOKE文で、おこなう。
7

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

USER ROLE
InterBase 5.xからアクセス
制御ユ｜
ザ
認証

ユーザ名とパスワード

ネットワーククライ
アント

USER ROLEの機能があり！
CREATE ROLE FULL_ACCESS;GRANT ALL ON TEST_SCORES TO
FULL_ACCESS;GRANT FULL_ACCESS TO BJONES;

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

84

USER ROLE
ただ、GRANTしただけアクセス
制御ユ｜ザ認証

ユーザ名とパスワード

ネットワーククライ
アント

では使えない！→接続時に指定する必要がある。
SQL>connect tempemployee.gdb user bjones password bjonesrole full_access;
Database: tempemployee.gdb, User: bjones, Role: full_access

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

9Viewを使ったアクセス制限• 表に直接アクセスさせるのではなく、Viewに必要最小限の情報だけを与える。
• SELECT文でのカラム• WHERE句での条件指定• WITH CHECKオプションによる、範囲外へのINSERT,UPDATEの抑止

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

105

Viewを使ったアクセス制限

ユーザ/ロール

View: V_Empinfo
実表: Empinfo

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

11

SPを使ったアクセス制限• SP(Stored Procedure)を使う。
• データへのアクセスをSP経由だけにして、アクセス制限を行う。
• Viewに似ているが、さらにフレキシブルなものにできる。
• トリガによる監査はUPDATE/INSERT/DELETEのみになるが、SELECTによる監査も可能になる。

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

126

SPを使ったアクセス制限

ユーザ/ロール
実行可能
Stored Procedure
アクセス権限を持つ
実表: Empinfo

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

13DB alias• InterBase 7.5以降で追加。
• Gsecコマンドで、データベースに別名を付けることが出来る。
• 以下のような利点あり• 接続文字列にデータベースフルパス指定なしでよい。
• Unix, Windowsのパス区切りをクライアント側で意識する必要がない。

• http://dn.codegear.com/jp/article/37600
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

147

ibconfig• #EXTERNAL_FILE_DIRECTORY• ## If your external files are not in <interbase_home>/ext,• ## specify their location here. For security reasons, do not• ## put other files in this directory.

• #EXTERNAL_FUNCTION_DIRECTORY• ## If your UDF library is not in <interbase_home>/UDF, thenspecify• ## the location of the library here. For security reasons, do not• ## put other files in this directory.

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

15

その他のTips• SYSDBAを使わないようにしよう！
• データベースをSYSDBA以外のユーザーで作る。
• 一部ツールなどでは問題が起こる可能性あり。

• パスワードを変更しよう！
• ‘masterkey’を使わないように。

• クライアントにパスワードを平文で格納しないようにしよう！
• 付箋でモニターにパスワード張っているのとおなじ。
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

168

Memo & Demo

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

17

通信経路の暗号化

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

189InterBaseの通信イメージ

InterBase

ポート3050
で平文

クライ
アント

ネットワーク19

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

InterBaseの通信イメージ

InterBase

ネットワーク

セキュア
トンネル

InterBase
ZeBeDee

ポート3050
で平文

クライ
アント

クライ
アント

ネットワーク暗号化・圧縮 ZeBeDee

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

20

10

通信経路の暗号化• ZeDeBee• http://www.winton.org.uk/zebedee/• http://www.linux.or.jp/JM/html/zebedee/zebedee.pod.html• 暗号化とTCP/IPの圧縮• Zlib による圧縮• Blowfish による暗号化• Diffie-Hellman による認証
本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

21

シンプルな設定• ZeBeDeeサーバー側• Zebedee –s localhost:3050• クライアント側(kimuradb.comをサーバ名とする)• Zebedee 3051:kimuradb.com:3050• 接続文字列• Localhost/3051:データベースパス名(or DB Alias)

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

22

11

複雑な設定 & more…
• サーバサイド、クライアントサイドで、設定ファイルを作成。
• さらに詳細な設定が可能。

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

23

格納データの暗号化

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

24

12

格納データの暗号化

InterBase

ＤＢファイルOS・その他の設定

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

25

データファイルの暗号化• OS自体の機能• Windows: 「暗号化によるデータの保護」• http://www.microsoft.com/japan/windowsxp/pro/usi
ng/howto/security/encryptdata.mspx• TrueCrypt• Windows/Linux/Mac OS X
• http://www.truecrypt.org/

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

26

13

Windowsの機能(EFS)を使う。
•暗号化するフォルダを右クリックし、[プロパティ] をクリックします。
•[全般] タブの [詳細設定]をクリックします。
•[内容を暗号化してデータをセキュリティで保護する]チェック ボックスをオンにします。

27

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

Windowsの機能(EFS)を使う

InterBase

ＤＢファイル

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

このディレクト
リ下のファイルが暗号化
OS・その他の設定

28

14

TrueCryptを使う•通常のOSファイルをボリュームとして割り当て、マウントするイメージ。

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

29

TrueCryptを使う•暗号化やハッシュのアルゴリズムやサイズを選ぶことができる。
•暗号の強度とスピードはトレードオフ。ベンチマークで確認することができる。

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

30

15

TrueCryptを使う•サイズを指定する。
•ボリュームのパスワードを設定する。

31

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

TrueCryptを使う & more…

InterBase

ＤＢファイル

本文書の一部または全部の転載を禁止します。本文書の著作権は、著作者に帰属します。

このボリュームはOSからは通常ファイルに見える
OS・その他の設定

3216