本連載では、データベースセキュリティの「考え方」と「必要な対策」をおさらいし、Oracle Databaseを軸にした「具体的な実装方法」や「Tips」を紹介していきます。今回は、「データベースのセキュリティ対策で考えるべき3つの軸とコストバランスの考え方」を解説します。
前回まで、「データベースのセキュリティ対策」といっても特別なことをするのではなく、結局は「アカウント管理」「アクセス制御」「暗号化」「監査・監視」であると説明してきました。今回はあらためて、「データベースでのセキュリティ対策の全体像」で誤解されがちなことをまとめてみます。
まず、アクセス制御や暗号化と、監査・監視には大きな違いがあります。アクセス制御と暗号化は「不正アクセスを防ぐため」の手段ですが、監査・監視ではそれを防ぐことはできません。監査・監視でできるのは「それを見つける」ことです。
セキュリティ対策のうち、主に不正アクセスを防ぐ対策を「予防的統制」、不正アクセスを検知する対策を「発見的統制」と呼びます。データベースへのセキュリティ対策は、この2つの統制に加えて、セキュリティパッチの適用、想定外のデータベースの設定変更が行われていないかのチェック、そもそも守るべき対象の定義やアカウント管理などを行う「構成管理」を含めた3つの軸で分類できます(図1)。
前述した3つの要素「予防的統制」「発見的統制」「構成管理」は、このうちのどれかを対策すれば安全というものではありません。
「まずは監査から」と監査だけを行って、他の対策をしていなければどうなるでしょう。この場合、いつ被害に遭ったかどうかは分かるかもしれませんが、被害は食い止められません。また、監査するだけで満足して、監視やアラートレポートを行っていなければ、現在進行形で攻撃を受けていることにも気付けません。発見的統制は、あくまで事後に発見したり、検知したりするための対策だからです。
一方、事前の対策となる予防的統制はどうでしょう。事前に対策するといっても、どうしても防げないリスクは多々あります。例えば内部不正。業務上必要なデータにアクセスできる正当な権限を持ったユーザー、あるいはそのユーザーを装った人物による情報漏えいやデータ改ざんは、外部対策向けの画一的なアクセス制御を施すだけでは対応できません。監査で従業員への抑止効果を図ったり、監視で実質的な被害が出る前に見つけたりする発見的統制での対応が必要です。
つまり、どれかの対策に偏ることなく、「構成管理」「予防的統制」「発見的統制」の3つの要素をバランスよく実施することが重要です。このように、複数の軸の対策を組み合わせてデータを守ることも「多層防御」といえます。
ただし、1つ重要な視点があります。「全てのデータベースのセキュリティ対策を“網羅的”に実施する必要はない」ということです。
前述したことと矛盾していると思えたかもしれません。しかしセキュリティ対策には、当然、それなりの「コスト」が発生します。もちろん「全て」対策できるに越したことはありませんが、重要ではないと判断されるデータしか格納されていないデータベース、例えば一般公開されているカタログ情報を検索するシステムのデータベースに対しては、機密性保護のためのセキュリティ対策までは不要といえます。
どの企業も、「公開(ラベルなし)」「社外秘」「関係者限定」「極秘」といったように、ファイルや資料などのメディアを問わず、企業情報に対して何段階かの機密レベルを定義しているはずです。この機密レベルをベースに、対象とするデータベースにもどの程度のセキュリティ対策を実施するかを的確に定めることで、過度な投資によるコスト増を回避しながらもパフォーマンスに優れたセキュリティ対策を実施できます。
Copyright © ITmedia, Inc. All Rights Reserved.