アクセス制御の抜け穴となりがちな特権をどのように管理するか:今さら? 今こそ! データベースセキュリティ(11)(2/2 ページ)
本連載では、データベースセキュリティの「考え方」と「必要な対策」をおさらいし、Oracle Databaseを軸にした「具体的な実装方法」や「Tips」を紹介していきます。今回は特権ユーザーの管理について紹介します。
データベースの運用管理を委託する際、委託先の運用担当者にデータベース管理者(SYS、SYSTEM)アカウントを利用させるケースも多いと思いますが、そのような場合でも、委託先に業務データは見せないようにすることができます。
データを保護する領域:レルム
Oracle Database Vaultのレルム機能を利用することで、管理者であっても表にアクセスできないような、強力なアクセス制御を実施できます。レルムを管理するのは、データベース管理者(SYS、SYSTEM)とは別の、セキュリティ管理者(Database Vaultオーナー)です。管理者がDBAロールやSELECT ANY TABLE権限など、全ての表にアクセスできる特権を持っていても、レルムに含まれる表にアクセスする際には、セキュリティ管理者による認可が追加的に必要となります。
データのアクセスには、従来の権限とOracle Database Vaultの認可の2つが必要ですので、セキュリティ管理者も、従来の権限をデータベース管理者やデータの所有者から付与してもらわない限り、データにはアクセスできません。
レルムに追加可能なオブジェクトは、次の通りです。
レルムを定義する際には、ワイルドカード(%)が利用可能ですので、特定のスキーマ、例えばアプリケーションが利用するスキーマの全てのオブジェクトをレルムに追加するといった設定も簡単にできます。
Oracle Database12c R1からは、「必須レルム(Mandatory Realm)機能」が追加されました。通常のレルムでは、DBAロールやSELECT ANY TABLE権限などの特権を利用したアクセスから表を保護することはできますが、個別にオブジェクト権限を付与されているユーザーやオブジェクトの所有者からのアクセスは許可していました。必須レルムとしてレルムを作成すると、データベース管理者からの特権アクセスだけではなく、オブジェクト権限を持っているユーザーやオブジェクトの所有者であっても、セキュリティ管理者から認可を受けていないとアクセスができないという「強制アクセス制御(MAC:Mandatory Access Control)」が実現できます。
SQLコマンドごとの実行制限:コマンドルール
Oracle Database Vaultのコマンドルール機能を利用すると、特定コマンドの実行を制限できます。例えば、TRUNCATE文を発行するためには表をDROPする権限が必要となりますが、コマンドルールでDROP文の利用を制限することで、「表をTRUNCATEはできるがDROPできない状態」にすることができます。
コマンドルールで制御可能なSQL文には、例えば以下のようなものがあります。
より詳細なアクセス制御を定義するためのルールセット
レルム、コマンドルールのどちらも、特定データベースユーザーについて「表にアクセスできる/できない、コマンドを実行できる/できない」という、データベースユーザー単位よりもさらに詳細なレベルのアクセス制御を提供します。その際のアクセス制御条件を定義するのがルールセットです。ルールセットで作成するルールには、データベースで取得できる情報であれば何でも利用できます。例えば、IPアドレスやアプリケーション名などのセッション情報、月日や曜日、時刻の情報が使用できます。
ルールセットを通じてレルムとコマンドルールを組み合わせることで、例えば「アプリケーションユーザーは、特定のアプリケーションでのみアプリケーションサーバからデータベースサーバに接続できる、アプリケーションのデータが参照できる」といった、詳細なアクセス制御が実現できます。
Oracle Database Vaultで実現可能なことは、まずはデータベース管理者のアクセス制御ですが、上記のような詳細なアクセス制御を実施することで、アプリケーションが利用するデータベースのユーザー名/パスワードが何らかの理由で流出してしまっても、成りすましによる不正アクセスを防ぐことができます。
次回もOracle Database Vaultについて説明します。
筆者紹介
福田知彦(ふくだ ともひこ)
日本オラクルでセキュリティ関連のプロダクトやソリューションを長年担当。出荷前製品検証からプリセールス、コンサルティングと、さまざまな部署を転々とするも、担当はだいたいいつもデータベースセキュリティかIDマネジメント。出荷前から構築、運用、トラブル対応まで製品の一生を見守るエンジニア
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 攻撃者が狙うのはデータベース、それなのに「データベース保護の対策が見落とされがち」ではありませんか?
企業活動において重要なのは何か。セキュリティ対策において「データベースの保護が見落とされがち」と、オラクルは警鐘を鳴らしている。データベースセキュリティの“考え方”をキーパーソンに確認する。 - 実録・4大データベースへの直接攻撃
- オラクルの考える「データベースセキュリティ」とは
日本オラクルは2016年2月10日、Oracle Databaseユーザー向けに、データベースや周辺システムに関するセキュリティ診断を無償で行う「Oracle Database セキュリティ・リスク・アセスメント」サービスの提供を開始すると発表した。 - データベースセキュリティの基本的な考え方
- 「データベースセキュリティ」の視点から見る「ユーザー管理」「監査証跡(ログ)管理」のポイント
システムの開発・運用に携わっているけれど、セキュリティに少し不安がある。そんなシステム担当者の方は多いのではないでしょうか? 本連載「システムインテグレーションとセキュリティ」では、“SI視点”に立って、システム担当者が考慮すべきセキュリティ上のポイントについて、身近な例を取り上げながら分かりやすく解説します。最初のテーマは、「データベースセキュリティ」です。