Oracle Databaseのさまざまなデータ、通信暗号化機能をマスターする:今さら? 今こそ! データベースセキュリティ(8)(2/3 ページ)
本連載では、データベースセキュリティの「考え方」と「必要な対策」をおさらいし、Oracle Databaseを軸にした「具体的な実装方法」や「Tips」を紹介していきます。今回は透過的データ暗号化で既存のアプリケーションのデータを暗号化する方法と、データベース外部に保存したデータを保護する方法、通信暗号化機能について紹介します。
データファイル以外の保存データの暗号化
データベースに格納されたデータは表領域暗号化機能で保護できますが、データが保存されるのはデータベース内部だけではありません。本連載の初回で、データベースを安全に運用するために必要な5つのポイントの1つとして「重要なデータは集中管理し、アクセス経路を限定する」と、保存場所をなるべく限定する重要性を説明しました。しかし、バックアップやデータ連携のために、重要なデータをデータベースの外側に保持することもあります。オラクルではデータベース外部に保存したデータを保護する方法として、バックアップの暗号化とエクスポートダンプファイルの暗号化機能を提供しています。
バックアップの暗号化
Oracle Databaseでは、バックアップのための機能としてリカバリマネージャ(RMAN)を提供していますが、RMANのコマンドに簡単なオプション指定をするだけで、暗号化表領域だけでなくデータベース全体のバクアップセットを暗号化することができます。RMANで作成するバックアップセットを暗号化するためのコマンドは以下の通りです。
CONFIGURE ENCRYPTION FOR DATABASE ON;
暗号化では、キーストアを利用した透過的暗号化の他に、パスワードを利用した暗号化も利用できます。
RMANで利用可能な暗号化アルゴリズムは、V$RMAN_ENCRYPTION_ALGORITHMSビューから確認できます。
SQL> select algorithm_name from v$rman_encryption_algorithms; ALGORITHM_NAME ---------------------------------------------------------------- AES128 AES192 AES256
利用するアルゴリズムを指定するコマンドは以下の通りです。
CONFIGURE ENCRYPTION ALGORITHM TO 'AES256';
あとは、通常通りバックアップを取得するだけで、バックアップセット全体が暗号化されます。
エクスポートダンプファイルの暗号化
Data Pumpによるエクスポートを行う際に出力されるダンプファイルを、暗号化することができます。
expdpコマンドラインインタフェースを利用する場合には、ダンプファイル暗号化のための引数が用意されています。キーストアを利用して透過的に復号できる暗号化(「ENCRYPTION_MODE=TRANSPARENT」)、パスワードを利用して復号する暗号化(「ENCRYPTION_MODE=PASSWORD」)、およびキーストアでもパスワードでも復号できる暗号化(「ENCRYPTION_MODE=DUAL」)が選択できます。エクスポートしたデータベースと同一のデータベースにインポートする場合には、キーストアを利用した暗号化が便利ですが、エクスポートしたデータベースと別のデータベースにインポートする場合には、キーストアを利用しようとするとエクスポートしたデータベースのキーストアをインポートするデータベースに配布しなくてはいけなくなるため、パスワードを利用した方が便利です。
暗号化アルゴリズム(ENCRYPTION_ALGORITHM)については、AES128、AES192、AES256を選択できます。また、ダンプファイル全体を暗号化する(「ENCRYPTION=ALL」)か、ダンプファイル内のメタデータを除いたアプリケーションデータのみを暗号化する(「ENCRYPTION=DATA_ONLY」)かなども選択できます。ダンプファイルを暗号化するexpdpコマンドの例は、次の通りです。
expdp hr/oracle@localhost/orclpdb.jp.oracle.com DIRECTORY=dpump_dir1 DUMPFILE=hr_enc.dmp ENCRYPTION=all ENCRYPTION_MODE=dual ENCRYPTION_ALGORITHM=AES256 ENCRYPTION_PASSWORD=123456
なお、暗号化されたファイルは、ランダムな文字列となりますので、圧縮効率が非常に低くなります。出力されたダンプファイルをzipなどで暗号化して保存していた場合、圧縮効率の低下により、暗号化前と比べてファイルサイズが大きくなることがありますのでご注意ください。なお、dpexpコマンドの圧縮オプション(「COMPRESSION」)を利用することにより、ダンプファイルを圧縮してから暗号化しますので、暗号化されたダンプファイルのサイズを小さくすることができます。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 攻撃者が狙うのはデータベース、それなのに「データベース保護の対策が見落とされがち」ではありませんか?
企業活動において重要なのは何か。セキュリティ対策において「データベースの保護が見落とされがち」と、オラクルは警鐘を鳴らしている。データベースセキュリティの“考え方”をキーパーソンに確認する。 - 実録・4大データベースへの直接攻撃
- オラクルの考える「データベースセキュリティ」とは
日本オラクルは2016年2月10日、Oracle Databaseユーザー向けに、データベースや周辺システムに関するセキュリティ診断を無償で行う「Oracle Database セキュリティ・リスク・アセスメント」サービスの提供を開始すると発表した。 - データベースセキュリティの基本的な考え方
- 「データベースセキュリティ」の視点から見る「ユーザー管理」「監査証跡(ログ)管理」のポイント
システムの開発・運用に携わっているけれど、セキュリティに少し不安がある。そんなシステム担当者の方は多いのではないでしょうか? 本連載「システムインテグレーションとセキュリティ」では、“SI視点”に立って、システム担当者が考慮すべきセキュリティ上のポイントについて、身近な例を取り上げながら分かりやすく解説します。最初のテーマは、「データベースセキュリティ」です。