主なデータベースセキュリティ対策は、「アクセス制御」「監査」「暗号化」の3つです。各対策の概要と各対策におけるOracle Databaseの機能と特徴を順に説明します。
データベースへの接続を制御することにより、意図しない不正アクセスや職務外のコマンド実行を防ぎます。アクセス制御には、運用ポリシーや設定の見直しによる制御と製品機能による制御があります。
職務分掌による役割や権限の明確化、アカウント管理方法、セキュリティホールとなり得る設定を見直します(表1)。製品機能による制御に比べ、コスト、工数が低く、実施の容易なことが特徴です。
運用ポリシー、環境設定見直し内容 | ポイント |
---|---|
オブジェクトの所有者とアプリケーションユーザーの分離 | 職務分掌による役割や権限の明確化と、最小化を行います |
アプリケーションユーザーとデータメンテナンスユーザーの分離 | 職務分掌による役割や権限の明確化と、最小化を行います |
SYSDBA、SYSOPER、ANY権限、権限の付与権限の削減 | 過剰な権限が付与されていないか、見直しを行います |
不要なユーザーの削除やアカウントロック | SCOTT、DBSNMP、MDSYS、WMSYSなど、業務で利用していないアカウントを使用不可にします |
作業端末の限定 | データベースにアクセス可能な端末を限定します |
SYSユーザーのOS認証からパスワード認証への変更 | 特権ユーザーの認証を強化します |
ユーザーパスワードの定期的な変更 | プロファイル機能により、パスワード管理を強化します |
初期化パラメーターの見直し | UTL_FILE_DEST、O7_DICTIONARY_ACCESSIBILITYパラメーターの設定変更により、セキュリティホールを縮小します |
リスナーによるアクセス制御設定 | アクセス許可IPアドレスを制限します |
定期的なパッチ(Patch Set Update)の適用 | 製品仕様や不具合によるセキュリティホールを縮小します |
表1 設定見直し例(Oracle Databaseの場合) |
Oracle Databaseでは製品機能によりアクセス制御を実行できます。製品機能を用いてアクセス制御を行う場合のポイントは、アクセス制御の条件となる情報の設定と制御内容の定義です。
どの部署がどのデータを扱ってよいのか、どの端末からどのようなプログラムでアクセスがあるのかなど、事前にしっかりと確認し、目標とする状態を明確にしておく必要があります。これをおろそかにしてしまった場合、効果的なアクセス制御は行えません。また、設定を誤った場合には、必要なデータにアクセスできず業務に支障が出ることも考えられます。
Oracle Virtual Private Database(VPD)は、Oracle Databaseが提供するアクセス制御機能の一つです。ユーザーの職責などに応じたアクセス制御ポリシーを設定し、これを基にSQLを自動的にリライトすることでユーザーがアクセス可能な行や列を制御します(図1)。
VPDはデータベース側でアクセスを制御するため、どのような経路からのアクセスでも制御できる点がメリットです。ただし、SYSユーザーは制御できないため、正規の管理者からのアクセスは制御できません。
ユーザーの職責に応じた適切なアクセス権限の付与とアクセス制御を実施することで、データベースへの不正なアクセスを防止できます。しかし、不正なアクセスが行われていないかどうか、万が一、情報漏えいが発生した場合の発生経路や被害範囲の特定などを行うことはできません。
そのため、データベースに対して「いつ」「誰が」「どのデータを」「どのように操作したのか」という情報(アクセスログ)を取得、保全、分析する「データベース監査」が必要です。データベース監査によって次のような対応を実現できるため、データベースセキュリティの中でも重要かつ優先度の高い対策に位置付けられています。
Copyright © ITmedia, Inc. All Rights Reserved.