DBSCが解説! データベース・セキュリティ 2

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

管理者の権限を分割する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)」と呼びます。

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

【参考文献】

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る