データベースセキュリティの必要性とその対策:ゼロからのリレーショナルデータベース入門(11)(3/3 ページ)
前回は、データベースシステムの安定稼働を実現するためのデータベースシステムの監視について説明しました。今回は、データそのものを守るためのデータベースセキュリティについて、その必要性や種類を考えるとともに、データベースセキュリティの中心となる「監査」のポイントについて説明します。【更新版】
監査を行う際のポイント
次に、データベース監査を行う上でのポイントについて説明します。
監査対象ログの精査
監査の目的やデータベースへの負荷などを考慮し、取得対象とすべきアクセスログを検討、決定します(表2)。
取得条件 | |
---|---|
取得対象 | 表、ユーザー、SQL文のタイプ、SQL文の成功と失敗、ログオンやログオフなど |
取得範囲 | 端末、プログラム、時間帯など |
表2 取得対象、範囲と条件 |
Oracle Databaseの監査機能を使用した場合、アクセスログの生成量によりデータベースへの負荷が大きく変わります。また、アクセスログが大量に生成される場合、取得したログ(監査ログ)を保存するためのリソースや後述するモニタリング時の負荷にも影響します。
全てのアクセスログを取得するのではなく、目的に応じて必要なアクセスログのみを取得するのがポイントです。
例えば、業務アプリケーション側で統制が取れている場合や業務アプリケーションの実行ログを取得している場合は、データベース監査で業務アプリケーションからのアクセスログを取得する必要はないと考えられます。この場合、データベース監査で取得対象とすべきは、業務アプリケーション以外からのアクセスログや特権ユーザーのアクセスログです。
保全
監査ログは、改ざんされないように保全します。監査ログが容易に改ざんできるような状態では、ログの信頼性や証拠能力が低下してしまいます。データベース管理者や一般ユーザーが監査ログにアクセスできないよう保存形式や場所を検討します。
モニタリング
監査ログを保存しているだけでは、監査になりません。定期的にログをチェックし、不正アクセスの有無や統制の有効性を確認する必要があります。事前に設定した目的に従い、ログのチェック条件や周期を決定します。また、不正アクセス発生時にリアルタイムで警告を通知できる仕組みや定期的なレポート作成など、運用時を想定した仕組みも併せて検討します。
- 監査ログを監査対象内部の表やOS上のファイルに出力するためだけの機能(図2)
監査ログの生成量が負荷に影響するので、取得対象の絞り込みが大切 - 監査ログを保全、モニタリングする仕組みが別途必要
暗号化
最後に、データベースの格納データやデータベースとアプリケーション間のネットワーク通信データを可読不能な状態にする「暗号化」について説明します。
データベースの格納データや通信データは、デフォルトでは暗号化されていません。データベースファイルやバックアップメディアが盗難、紛失した場合、それらのメディアから情報が漏えいする可能性があります。また、通信データは、スニッフィングなどで傍受される可能性があります。格納データや通信データを暗号化することで、前述したような情報漏えいを防ぐことができます。
Oracle Databaseでは、バージョンやエディションによって暗号化の方式や暗号化の可能なデータ型が異なります。Oracle Databaseの暗号化機能を検討する際は注意が必要です(表3、表4、図4)。
また、暗号化と復号の頻度が高い場合には、パフォーマンスへの影響が大きくなります。PCI DSSや個人情報保護法の順守など、暗号化実装に至った目的を考慮し、必要なデータのみを暗号化するのがポイントです。
- 実装に伴うアプリケーションの変更は不要
- 許可されたユーザーがアクセスした場合、サーバプロセスが暗黙的にデータの暗号化/復号を行う
さまざまなセキュリティ対策の種類、必要な機能の取捨選択を
データベースセキュリティ実装の流れと、主なデータベースセキュリティ対策の種類、ポイントを説明しました。データベースへのセキュリティ対策は費用や手間がかかり、データベースの負荷も高くなりがちです。そのため、運用ポリシーや設定の見直しによるアクセス制御と、有効性評価のための監査のみを行っているところが一般的です。
データベースへのセキュリティ対策を効果的に実現するためには、まず目的と目標(対策すべきこと)を明確にし、その達成に必要不可欠な対策のみを検討、実装することが肝要です。
今回の内容がデータベースセキュリティ対策を考える際の一助となれば幸いです。
更新履歴
【2018/12/27】2018年時点の状況に合わせて、内容を追記更新しました
【2009/08/26】初版公開
著者紹介
浜島大
株式会社アシスト データベース技術本部所属。Oracle Databaseのサポートエンジニア、フィールドエンジニアを経てOracle Databaseやインサイトテクノロジー製品のプロダクト担当。日々酒を求め彷徨う初老の男。主な生息地は浅草橋、京成立石。
初版:塩原浩太
株式会社アシスト データ基盤ソフトウェア事業部所属(当時)。Oracle Databaseやインサイトテクノロジー社製品のフィールドエンジニアとして営業同行、構築、DB診断、トラブル対応、PISOなどを担当。お客様のお力になることを喜びとし、日夜奮闘中。趣味はサーフィンとキックボクシング。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- なぜ、今「データベースセキュリティ」なのか──安全なデータベースに必要な「5つ」の基本
本連載では、データベースセキュリティの「考え方」と「必要な対策」をおさらいし、Oracle Databaseを軸にした「具体的な実装方法」や「Tips」を紹介していきます。初回は、「データベースセキュリティの基本的な考え方」を解説します。 - 攻撃者が狙うのはデータベース、それなのに「データベース保護の対策が見落とされがち」ではありませんか?
企業活動において重要なのは何か。セキュリティ対策において「データベースの保護が見落とされがち」と、オラクルは警鐘を鳴らしている。データベースセキュリティの“考え方”をキーパーソンに確認する。 - 「データベースセキュリティ」の視点から見る「ユーザー管理」「監査証跡(ログ)管理」のポイント
システムの開発・運用に携わっているけれど、セキュリティに少し不安がある。そんなシステム担当者の方は多いのではないでしょうか? 本連載「システムインテグレーションとセキュリティ」では、“SI視点”に立って、システム担当者が考慮すべきセキュリティ上のポイントについて、身近な例を取り上げながら分かりやすく解説します。最初のテーマは、「データベースセキュリティ」です。