ここがポイント! DBセキュリティの実装(3)

診断ツールでデータベースの健全性を保つ

 

フォーティネットジャパン株式会社
セールスエンジニアリング部 シニアコンサルティングSE
成田泰彦
2010/3/5

 データベースの脆弱性評価ツールを積極的に活用することによって、セキュリティ上どのような効果が狙えるのか、いくつか例を挙げて紹介します。

狙いその1:内部の人為的ミス・不正行為に備える

●権限チェック

  データベース脆弱性評価ツールでは、データベースに登録されているすべてのユーザーアカウントがどのようなアクセス権限を所持しているのかをチェックできます。それにより、一般ユーザーアカウントが必要以上に高い権限を持っていたり、データベース管理者がデータ操作をしてはならないテーブルの更新権限を持っていたりといった問題を洗い出すことができます。

●認証処理

 パスワード設定に関するよくある脆弱性問題として「デフォルトパスワードをそのまま運用している」というものがあります。脆弱性評価ツールでは、このようなアカウントが登録されたままとなっている状況を見つけ出したり、データベース利用者が容易に推測できるようなパスワードを設定していないかどうかまで確認が可能です。また、長期間パスワードを更新していない利用者の洗い出し、パスワードの入力ミスを繰り返した場合のログイン、ロック設定、パスワード設定時の強度チェック(最小文字数、文字タイプの組み合わせ、使用禁止ワードなどのチェック)など、アカウントの状況を日々の運用の中で継続して行うことができます。

 パスワードのセキュリティで見落としがちな点としては、データベースアカウントの認証情報(ID/パスワード)の秘匿性があります。利用者によるID/パスワードの直接入力で認証する場合の通信はHTTPSなどで暗号化されていても、データベースインスタンス間を連携させるデータベースリンクのパケット内ではデータベースアカウントの認証情報がプレーンテキストのままであることです。このような問題は、データベースの設定次第で通信自体は暗号化処理をしなくても、認証文字列を暗号文字列として送るといったことが可能です。脆弱性評価ツールであれば、このような見落としがちな脆弱性までチェックすることができます。

●データベースインスタンスの検出

 会社内には、しっかりと管理されている基幹データベース以外に、監査部門もしくはセキュリティ 監督部門が認識しきれていないデータベースインスタンスが存在していることが往々にしてあります。例えば、ある営業部門が利便性のために自分たちの部署が必要とする顧客リストや契約内容の複製データを、部門で構築したデータベースインスタンスに格納しているような状況です。

 こうしたローカルデータベースはMySQLやPostgreSQLなどのオープンソースデータベースを利用しているケースが多かったり、中にはOracleなどのライセンスが必要なデータベースを正規のライセンスなしに使用してしまっていることもないとはいいきれません。基幹にあるデータベースのセキュリティ管理は万全であったとしても、このようなローカルインスタンスのデータベースから重要なデータが漏えいしてしまう危険性があります。

 脆弱性評価ツールが持つデータベース検出機能を使うことによって、セキュリティ部門のコントロール外のデータベースインスタンスを見つけ出し、その用途や保持しているデータの内容をしっかりと把握し、セキュリティのコントロール下に置くことができます。

狙いその2:バックドアからの侵入に備える

●最新セキュリティパッチの適用

 データベースのバグや、バグを踏み台にした脆弱性といったものが日々新たに見つかり、データベースベンダから最新のセキュリティパッチがリリースされています。データベース管理者はベンダからの情報を常にチェックして、新たなパッチのリリースがあったときは、そのバグの内容と影響および対処方法を調査し、対応策の検討が必要になります。しかし、このようなバグの内容把握と、社内にあるデータベースインスタンスへの影響範囲を洗い出すことは多くの工数を必要とします。

 脆弱性評価ツールには、データベースベンダから最新のセキュリティパッチがリリースされたタイミングで、そのパッチの適用状況をチェックする機能があり、あたかもウイルスチェックソフトのシグネチャ定義のように最新のチェックモジュールとしてオンラインで更新される仕組みが実装されています。これにより、社内に複数存在しているデータベースインスタンスの中からパッチ適用が必要となる対象のインスタンスをピックアップし、パッチ情報と併せて管理者に通知メールを自動送信するといった運用が可能になり、データベース管理者の工数削減と対応漏れのリスクをなくせます。

●不必要なプロシージャやサービスは無効にする

 データベースには、非常に柔軟な処理を行うことができるプロシージャやサービスといった機能があります。これらはプログラム開発においてはとても役に立つ機能ですが、その柔軟性があだとなり、ときにはセキュリティ上の脅威となる両刃の剣といえます。

 正しいコールの仕方さえしていれば何ら問題を引き起こさないプロシージャも、ある特殊なコールの仕方をしたときにバッファーオーバーフローを引き起こし、攻撃の踏み台にされることもあります。脆弱性評価ツールは、こうした危険性を抱えたプロシージャやサービスがどのようにコンフィグレーションされているかをすべて洗い出し、最適なアドバイスを管理者に提供します。

●図3 脅威となり得るプロシージャの例:xp_cmdshell(SQL Server、Sybase)

プロシージャxp_cmdshellは、SQL ServerもしくはSybaseが稼働しているOS上で、データベースインスタンスの中からOSコマンドを実行できてしまう。

上記の例では、Cドライブのファイルのリストを作成しているだけだが、データベースユーザーアカウントの権限設定が適切になされていない場合には、権限の範囲内においてファイル削除などのコマンドが実行できてしまう。


前のページへ 2/3 次のページへ

Index
診断ツールでデータベースの健全性を保つ

Page 1
データベースの脆弱性評価とは?
→
Page 2
狙いその1:内部の人為的ミス・不正行為に備える
狙いその2:バックドアからの侵入に備える

Page 3
狙いその3:すべての人に安心感を
脆弱性評価ツールの効果的な活用を

ここがポイント! DBセキュリティの実装


Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Database Expert 記事ランキング

本日月間