“健康診断”しなければ気付かないDBの隠れたリスクFortiDBによるDBリスク診断

データベースのセキュリティ対策は、運用中のパッチ当て程度と考えていないだろうか。実は、実装前の脆弱性診断がそのセキュリティ強度を大きく左右するのだ。見落としがちなリスク検証の重要性を考える。

2009年07月23日 00時00分 公開
[ITmedia]

 体力作りは、病気にかかっていない健康な体で始めることが基本だ。風邪をひきながら筋トレをしても、体力は普段よりマイナスの状態のままか、むしろさらに落ち込む可能性すらある。まずはゼロの基本状態にまで治すことが先決だ。

 データベースセキュリティについても同様のことが当てはまる。弱った部分がない健康な状態でいて初めて、セキュリティ対策を施す意味がある。

 データベースが健康であるとは、どういう意味か。それは、データベースが何らかのセキュリティリスクを抱えていない、もしくは最小限に抑えられている状態のことをいう。設定ミスやバグが残った不健康なデータベースでは、脆弱性への攻撃や設定の不具合によるサービス停止などを引き起こしかねない。

 だが、こうしたデータベースの“健康診断”はなかなか実施されないのが現状だ。しかも、リスクが内在することに気付かず、運用が続けられている。その原因はどこにあるのだろうか?

DBのリスク検証なしに動いているシステムがほとんど

 Webアプリケーションサービスを構築するとき、多くの場合はサービス利用側のパフォーマンスや使用感など、利益に直結する側面にフォーカスして構築を行う。加えて、昨今の厳しいコスト削減の影響から、現場は短期間かつ低コストで構築することが求められている。その結果、フロントエンドのWebアプリケーションや回線などサービス面のセキュリティ強化は行うものの、バックエンドのシステムには十分なアクセスコントロールを施さないシステムが増えている。データベースに至っては、購入した状態のままデフォルト設定で運用している企業も少なくない。

 データベースの設定をデフォルトのまま運用すると、どのような問題が発生し得るのか。

 例えば、パスワードをベンダー設定のまま運用したとする。一般的に、デフォルトでのインストールで自動的に設定されるアカウントのパスワードは、同一の製品内では決まったものになる。この事実を知っている者にとっては、実行中のデータベースインスタンスでこれらのアカウントが設定されたままであることを知りさえすれば、自由にアクセスできてしまうことになる。これではパスワードを設定している意味がない。

 また、データベース管理者に特権ユーザーのアカウントを作成し、アクセス権限をデフォルトのまま運用したとしよう。このデータベース管理者は全データにアクセスできる。しかし、データベース管理者が人事データベースや経理データベースの情報を自由に閲覧できていいのだろうか? 最近の企業の情報漏えい事件が、こうしたアクセス権限を持った内部の関係者によって引き起こされていることを考えると、決して好ましい状態とはいえない。

 こうした脆弱性、言い換えればセキュリティリスクを抱えながらデータベースを運用することは、いつ爆発するか分からない爆弾を抱えているのと同じである。そのような状態で、いくら最新のセキュリティパッチを適用したとしても、本当にセキュリティが強化されたとはいえないだろう。

 そこで重要となってくるのがデータベースの「体質改善」、すなわち「脆弱性(リスク)診断」である。脆弱性診断は、大きく2つの観点で実施する。

  1. 構成レベルの脆弱性
  2. 製品固有の脆弱性

 1つ目は、設定内容の変更で対応できる脆弱性の診断だ。「利用者不在のデータベースアカウントはないか」「アカウントと利用者のロールに応じたアクセス権限が設定されているか」などを検証して修正する。ここにはパスワードを90日ごとに変更するといった、稼働時に対応できる項目も含まれる。

 2つ目は、データベース製品のセキュリティバグなどの診断だ。データベースベンダーが発表するアップデート情報を確認し、適宜対応させていく。

 問題は、これらを実行するには以下の条件をクリアしなければならない点だ。

  • 利用データベースの全種類に対して、脆弱性診断を実施できるだけの知識を持った専任者がいる
  • 日々更新される最新情報の確認と対応を製品ごとに常時実施することが可能

 特に、システム内に異なるベンダーのデータベースサーバが何十台もある場合、マンパワーだけで対応するのは不可能に近いだろう。

混在環境で自動診断を実行できるFortiDB

 データベースの脆弱性診断機能と監査機能を備えたフォーティネットの「FortiDB」は、健全なデータベース運用を支援するアプライアンス製品だ。セキュリティリスクとなり得る脆弱性を洗い出し、実運用に耐えられる「健康」(リスクのない状態)を取り戻す。

写真 フォーティネットのデータベースセキュリティアプライアンス「FortiDB」

 FortiDBは、データベースの構成情報をすべて取得して総合的な脆弱性診断を行う。現状を把握して対策を施すことで、正確かつ効果的な監査ができるようになる。

画像 脆弱性診断のイメージ

 同製品はOracle DatabaseやIBM DB2、Microsoft SQL Server、Sybase Adaptive Server、MySQLなどマルチデータベース環境に対応しており、Oracleであれば181項目、Sybaseは108項目、SQL Serverは146項目など、かなり詳細まで検証ができる。データベース製品がそれぞれ提供する脆弱性診断ツールを実行し、異なるリポートを参照して対応するのに比べて、作業負荷は圧倒的に軽減される。

 なお、診断自体は1、2分で終了する。集計結果はグラフなどで出力され、一目で確認できる。例えば下の画面では、管理者権限の割り当てやパスワード設定といった各種項目に対して、オレンジ色の「Minor(危険度低)」、濃いオレンジ色の「Major(危険度大)」、赤色の「Critical(緊急)」といった具合に対応の緊急度を色と数値で表示している。

画像 リスク判定結果《クリックで拡大》

 もちろん、気になる項目があれば詳細までブレークダウンできる。下の画面を例に取ると、強力な管理者権限が与えられたアカウントにもかかわらず、監査の対象となっていないものが検出されている。

画像 Oracleでの脆弱性評価例。強力な管理者権限(DBA)を付与されているが、監査の設定がなされていないアカウントが3つ検出されている(赤色の囲み部分)ことが分かる《クリックで拡大》

 FortiDBの魅力は検出だけにとどまらない。あるバージョンの脆弱性を発見したら、どのような設定に変更すべきか、明確な指示をリポートとして出力する。セキュリティパッチを当てる場合は、どのベンダーのどのサイトからダウンロードできるかも示してくれる。しかも、診断項目は自動でアップデートされ次回の脆弱性診断に反映されるので、常に最新のセキュリティリスクを検証できるというわけだ。

 脆弱性診断からリポート出力までの一連の流れは、完全に自動化されている。各データベース環境に応じたベストプラクティスに基づき、診断する項目を選択および設定しておけば、後は何もしなくても定期的に自動診断が実行される。緊急の対応を要する項目は適宜管理者に通知されるので、対応忘れやミスもなくなる。「1週間に一度の診断サイクルであっても、管理者の負荷なくデータベースを最適なセキュリティ状態に保つことができる」(フォーティネットジャパン インフォメーション・セキュリティBU シニアコンサルティングエンジニアの成田泰彦氏)

 さらに、FortiDBは同社のUTM(統合脅威管理)アプライアンス「FortiGate」と連動し、ウイルスやスパイウェアなどに対応する最新パッチを当てることが可能だ。フォーティネットには世界6カ国に独自のセキュリティ研究センターを設置しており、24時間365日体制でウイルスなどの脅威を監視している。新種の発生や脆弱性が発見された場合は即座に分析し、シグネチャを作成してFortiGateへ送り込む。「この情報網と連携することで、最新のデータベースへの脅威にも対応できる」と、フォーティネットジャパン マーケティングマネージャの菅原継顕氏は言う。

PCI DSS基準も満たす高レベルのセキュリティが実現

 データベースの脆弱性診断は、PCI DSS(Payment Card Industry Data Security Standard)への準拠といった観点でも重要となる。PCI DSSは、顧客などのクレジットカードを取り扱う業者が満たすべきグローバルセキュリティ基準のことである。非常に具体的な項目が規定されていることから、最近はクレジットカード情報を扱わない一般企業でも自社のセキュリティ基準として採用するところが増えている。

 例えば、PCI DSSの要件2の2.1では、導入前にパスワードの変更や不要なアカウントの削除を行うなど、デフォルト値を必ず変更するよう明記されている。FortiDBであれば、診断結果の改善項目としてデフォルトポートやパスワードの変更、デフォルトで作成された不要なアカウントの削除、サンプルデータベースの削除など、デフォルトのまま運用しないための洗い出しを行うことができる。

 データベースのセキュリティ対策は、リスクの洗い出しをして初めて、そのスタートラインに立つことができる。真のセキュリティ実装を目指す上で、これからのシステム構築の要件として脆弱性診断を盛り込むことが企業には求められるだろう。

■問い合わせ先

フォーティネットジャパン株式会社

TEL:03-6434-8531/8533

URL:http://www.fortinet.co.jp/contact/