データベース・ファイアウォール導入への不安を解消する、5つの選定ポイントとは
「データベースへのアクセスの分類」で求められること
選定ポイント4:完全性を求めるならホワイト・リストでデータベースへのアクセスを分類
何が正規のアクセスなのかを把握せずして、不正なアクセスを把握することはできません。データベースへのアクセスが正規なのか不正なのかを判断するためには、まずどのようなアクセスがあり、それは、いつ、誰が、どこから、どのデータを、どのようにアクセスするのか把握しておくことが重要です。
どのようなアクセスが正規なのかを定義したものを「ホワイト・リスト」、不正なアクセスを定義したものを「ブラック・リスト」と呼びます。データベース・ファイアウォール製品では、正規、不正規を分類するために「ホワイト・リスト」または「ブラック・リスト」を定義します。
- ホワイト・リスト(注1)
- SQL、ユーザ、オブジェクト、日時、曜日、ネットワーク、アプリケーション等の複数の要素を組み合わせて実行を許可するアクセスを定義したリスト
- ブラック・リスト(注1)
- SQL、ユーザ、オブジェクト、日時、曜日、ネットワーク、アプリケーション等の複数の要素を組み合わせて実行を許可しないアクセスを定義したリスト
注1:製品により組み合わせできる要素は異なります。また製品によってはブラック・リストしか定義できないものもあります。
ホワイト・リストの場合、「定義されていないものはすべて不正アクセス」と見なしますが、ブラック・リストの場合は「定義されていないものはすべて正規アクセス」と見なすのが特徴です。つまりブラック・リストでは、網の目が粗ければ魚が逃げるように、定義が甘ければ不正を見逃すことになります。逆に定義の仕方によって正規のアクセスが不正と見なされる危険性もあります。また、ホワイト・リストでも同様に、正規アクセスがすべて定義されていなければ正規のアクセスであっても不正と見なされるので注意が必要です。
このようにホワイト・リストとブラック・リストのどちらを選択すべきかは非常に難しい問題であり、データベース・ファイアウォール製品ごとのポリシーの特徴が一番現れる部分です。「データベースへのアクセスの分類」という観点であえて選定ポイントを挙げるなら、「完全性を求めるのであればホワイト・リストを定義できる製品を選択すべき」です。データベース・ファイアウォール製品の中には、ブラック・リストしか定義できないものもあります。また、ホワイト・リストの生成をより簡単に行えるよう、データベースへのアクセス・ログからホワイト・リストを自動生成する機能が備わった製品も存在します。
「不正アクセスの検知とブロック」で求められること
選定ポイント5:高速かつ高度なSQL文法分析機能を備えているか
データベースへの不正アクセスによる被害を未然に防いだり、被害に遭ったとしても規模を最小限に留めるためには、不正アクセスを速やかに検知して管理者へ通報する、場合によっては不正なアクセスをブロックして切断するといった対処が必要です。
データベース・ファイアウォール製品では、前述の「データベースへのアクセスの分類」での定義に基づき、不正なアクセスであると判断した場合には管理者へ通報したり、不正アクセスのブロックや切断といった対処が可能です。ここで重要なのは、誤検知や検出漏れなく、いかに正確に実施できるかということです。特にホワイト・リストやブラック・リストの定義の中で、SQLの誤検知や検出漏れを発生させる可能性が最も高く、このSQLをいかに正確に把握できるかが重要なポイントとなります。
誤検知と検出漏れが与える影響
- 検出漏れがあるとセキュリティ事故になりかねない。
- 誤検知ばかりで監視が追いつかない、最悪の場合、業務停止状態となる。
しかし、「SQLをいかに正確に把握できるか」は非常に難しい問題です。以下のSQLを参照してください。これらのSQL文は記述方法は様々ですが、データベースではすべて同じものとして処理されます。同じものとして処理されるであろうパターンを漏れなく洗い出すには限界があります。
select empno,ename from emp SELECT empno,ename FROM emp select empno,ename from /* dept */ emp select empno,ename /* select custno,cname from customer */ from emp sel/* */ect empno,ename fr/* */om emp
つまり、SQL文を正確に把握するためには、上記のようなパターン・マッチング方式ではなく、データベースと同様のSQL文法解析機能が必要となります。また、文法解析処理がいかに正確であったとしても、データベースへのアクセスにパフォーマンス面で影響が大きければ業務への影響も大きくなってしまうため、極力パフォーマンスに影響を与えず高速に処理することが求められます。
データベース・ファイアウォール製品の選定に必要なポイント
このように、データベース・ファイアウォール製品の選定には以下の5つのポイントが挙げられます。
- 選定ポイント1:データベースへのすべてのアクセスを漏れなくログとして記録できるか。
- 選定ポイント2:データベースへのアクセス・ログ取得でパフォーマンス劣化しないか。
- 選定ポイント3:データベースへのアクセス・ログを高圧縮して保管できるか。
- 選定ポイント4:完全性を求めるならホワイト・リストでデータベースへのアクセスを分類
- 選定ポイント5:高速かつ高度なSQL文法分析機能を備えているか
この他にも、取得したアクセス・ログを有効活用するためのレポーティング機能の充実など、選定のポイントとなるものはありますが、データベース・ファイアウォール製品として最低限必要なポイントは上記5点です。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 終わりなきデータベースのセキュリティ対策で押さえるべきポイントとは
- 日本オラクル、データベースセキュリティ「Oracle Audit Vault and Database Firewall」を発表
- Webアプリケーション・セキュリティ
- WAF(Web Application Firewall)の役割と必要性
- アズジェント、データセキュリティソリューション「SecureSphere」を販売開始
- Web攻撃や内部犯罪に専用機で対抗
- 初めてでも安心! OCIチュートリアルを活用して、MySQLのマネージド・データベース・サービスを体験してみよう
- インターネット境界ゲートウエイでの監査証跡
- [DBA] データベース記憶域構造の管理
- エンジニアが知っておくべき4つのデータベース攻撃シナリオ