DBセキュリティの第2弾、アクセス・コントロールと権限管理

2010年11月9日(火)
田口 裕也(たぐち ゆうや)

管理者の権限を分割するRBAC

管理者権限を分割する指針として、役割ベースのアクセス制御(RBAC: Role Based Access Control)について記述したプロテクション・プロファイルが提供されています。OS用として開発されていますが、データベースの権限管理にも共通することが多くあります。

Role Based Access Control Protection Profile Version 1.0
http://www.niap-ccevs.org/pp/pp_rbac_v1.0.pdf

データベースにおいても、一般ユーザーに対しては、役割ベース(ロール・ベース)で権限を管理できます。しかし、管理者自身の権限を役割ベースで行うことは、あまり認知されていません。

ブルート・フォース攻撃などによってパスワード認証の突破を狙われる場合、ある回数以上失敗するとアカウントをロックすることによって防ぐことができます。しかし、(一般アカウントから管理者権限への)権限昇格の脆弱性などが発生した場合は、パスワード認証を介すことなく管理者権限を奪取されてしまいます。

そこで、全権を持つ管理者権限をあらかじめ廃止しておき、以下のような役割ごとに権限を分割する仕組みが必要になります。

  • セキュリティ管理者
  • データベース管理者
  • アカウント管理者
  • データベース運用者
  • アプリケーション管理者

図5: 主なデータベース管理者権限の分割例


管理者権限をアカウントごとに分割しておくことにより、脆弱性を突かれて管理者権限の奪取を狙うような攻撃を受けたとしても、データベースに対する全権を奪取されることを防ぐことができます。これにより、被害の影響を小さくできます。このような仕組みを「職務の分離(Separation of Duties)」と呼びます。

データベースの標準機能だけでは、一般ユーザーの操作を制御することはできても、データベース管理者の操作までを制御することはできません。しかし、実際の脅威として存在しているのは、管理者権限を悪用されたときの被害の大きさです。被害を小さくするためには、強制アクセス制御と役割ベースの権限管理を組み合わせて実装するような、追加的な方式を検討する必要があります。

【参考文献】

著者
田口 裕也(たぐち ゆうや)
データベース・セキュリティ・コンソーシアム(DBSC)

日本オラクル株式会社 データベースソリューション部に所属。CISSP。
Oracleデータベースのセキュリティ、アップグレード、競合対策、性能監視など幅広く挑戦中。最近は再びセキュアOSとSunRayシンクライアントにも熱が入る日々を送っています。
著書に『Oracle Database 11g セキュリティガイド』(共著、アスキー・メディアワークス)、『情報セキュリティプロフェッショナル教科書』(共著、アスキー・メディアワークス)、『SELinuxシステム管理』(監訳書、オライリー・ジャパン)。セキュアOS関連の寄稿、講演も多数ある。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています