この章の内容は、次のとおりです。
このマニュアルの最新バージョンは、Oracle Technology NetworkサイトのDatabaseセクションにあるOracle Database Firewall Webサイトからダウンロードできます。URLは次のとおりです。
http://www.oracle.com/technetwork/indexes/documentation/index.html
この項の内容は、次のとおりです。
Oracle Database Firewallシステムは、Oracle、Microsoft SQL Server、Sybase Adaptive Server Enterprise(ASE)、Sybase SQL Anywhere SQLおよびIBM DB2 SQL(Linux、UNIXおよびMicrosoft Windows)データベースのデータの安全性を保証し、データを保護します。試行された攻撃をブロックし、アクティビティをログに記録し、関連する警告を発行します。脆弱性を査定し、暗号化やユーザー認証など、既存のデータベース・セキュリティ機能を強化するツールを提供します。
従来のシステムは通常、事前定義の式を認識したうえで、データベースに渡された文の構文をテストします。この方法を使用したルール・セットの作成は手作業によるアプローチを必要とし、データベースの知識が豊富なユーザーでも非常に時間がかかり複雑になる可能性があります。大規模なリソースによって既知の脅威に対して十分な保護を作成した場合でも、未知の脅威に対してはまったく保護されない可能性があります。Database Firewallは、このような難題を処理します。
Oracle Database Firewallシステムは、データベース・クライアントからデータベースへ送信されるSQL文の意味を分析することによって機能します。攻撃のソースまたは既知のセキュリティ脅威の構文認識に依存していないため、従来のデータベース・ファイアウォールよりはるかに高度な保護を実現します。
Analyzerで分析可能なSQL文の長さには制限がなく、文の先頭から2000文字までが表示されます。また、製品固有のSQLのみでなく、すべてのタイプのSQL文が検査されます。たとえば、Oracle PL/SQLに加えて、標準のANSI SQLも検査されます。
データベース・ファイアウォールは、組織を個別にターゲットとした攻撃も含めて、まだ認知されていない攻撃(ゼロデイ攻撃と呼ばれます)をブロックできます。ゼロデイ攻撃はより一般的になりつつあり、このような攻撃からデータベースを保護する必要性が高まっています。また、データベース・ファイアウォールは、ブラインドSQLインジェクション攻撃もブロックします。
Oracle Database Firewallは、データベース・サーバーまたはそのクライアント・アプリケーションのパフォーマンスに影響を与えずに、データベース・サーバーを保護します。外部ソースからのみでなく、ファイアウォールの内側から行われた攻撃からも保護します。
Oracle Database Firewallシステムの中心機能は、監視対象データベースで送受信されるSQLトラフィックをスキャンし、ログに記録することです。Database Firewallシステムは、データベースに渡されたすべてのSQL文をリアルタイムでスキャンします。ユーザーは、強制ポイントを、トラフィックの監視、潜在的な攻撃に対する警告の生成、および有害な文のブロックに構成することができます。
図1-1は、Oracle Database Firewallの一般的なデプロイメントを示しています。
主なコンポーネントは次のとおりです。
データベース・クライアントおよびアプリケーション: これらは、アプリケーションのエンド・ユーザーを表します。
Oracle Database Firewall: Database Firewallは、ユーザーがOracle Database Firewall Analyzerで作成したデータ・ポリシーを実施します。Oracle Database Firewallは、20までの保護対象データベースに対して、最低1つのDatabase Firewallを使用します。各Database Firewallは、これらのデータベースからSQLデータを収集し、Management Serverに送信した後、そのSQLデータをローカルで削除します。Database Firewallは、保護対象データベースで送受信されるSQLトランザクション・リクエストとレスポンスのリアルタイムの記録および分析を処理します。Database Firewallは、リモートおよびローカルのモニタリング機能を使用して、ネットワーク・トラフィックをリモートまたはローカルのデータベースからDatabase Firewallに転送できます。
保護対象データベース: Oracle、Microsoft SQL Server、Sybase Adaptive Server Enterprise(ASE)、Sybase SQL Anywhere SQLおよびIBM DB2 SQL(Linux、UNIXおよびMicrosoft Windows)データベースを保護できます。
Oracle Database Firewall Analyzer: サイトの保護対象データベースを監視できるように、Analyzerを使用してデータ・ポリシーを作成します。詳細は、「Oracle Database Firewall Analyzer」および「ポリシー・ファイルを使用したデータ・ポリシーの作成」を参照してください。
Oracle Database Firewall Management Server: Database Firewall Management Serverは、接続されているすべてのDatabase Firewallを管理します。これらのファイアウォールからのSQLの累積、ログ・ファイルの保存と管理、ビジネス・レポートの生成、および必要に応じてサード・パーティ・アプリケーションとの統合を実行します。ポリシー管理を担当する管理者は、Management Serverを使用してポリシーのアップロードやモニタリング・モードの設定などを行います。詳細は、「Oracle Database Firewall管理コンソール」を参照してください。
ポリシー・ファイルは、データベースに対するSQLトラフィックを監視するときにDatabase Firewallで使用されるルールのセットです。Database Firewallはポリシー・ファイルを使用して受信SQL文を比較し、SQL文のインターセプト時に実施するアクションを決定します。アクションには、Database Firewallがデータベースに渡す各SQL文に対する許可、ブロック、または警告の発行があります。ポリシー・ファイルによって、特定のデータベース・ユーザーによるログインまたはログアウト時にアラートを発行したり、ログイン試行の失敗が指定した回数に達したデータベース・ユーザーをブロックすることができます。
Oracle Database Firewall Analyzerを使用すると、保護対象データベースの正確なニーズにあわせてポリシー・ファイルをカスタマイズでき、組織の内部または外部の両方から、異常なシステム・アクティビティを検出できます。たとえば、ポリシー・ファイルによって、SQL文のまだ認知されていないクラスの出現時に警告を生成したり、指定した表の情報に対して削除またはアクセスを試行するインジェクトされたSQL文をブロックできます。
Analyzerを使用して、通常のデータベース・トラフィックの監視時にDatabase Firewallによってログ記録されたSQL文から、初期ポリシー・ファイルを作成します。Database Firewallシステムは自分自身を、保護対象データベースの情報を使用して自動的にトレーニングします。このプロセスによって、データベースの実際の使用方法を反映した、ログ記録されたSQL文のセットが生成され、通常動作時のモデルが提供されます。このモデルには、ポリシーの作成に使用したすべての設定と、ログ記録されたSQL文を以前のデータ・セットに対してテストした結果が格納されます。その後、Analyzerにより、ログ記録されたこれらの文からポリシーが生成されます。
Analyzerは、トレーニング・ファイルまたはサーバー・トレース・ファイルからポリシー・ファイルを生成することもできます。詳細は、「Oracle Database Firewall Analyzerの使用」を参照してください。
すべてのケースで、サイトおよび保護対象データベースの特定の要件にあわせて、ポリシー・ファイルをさらにカスタマイズできます。
動作上のニーズ(ポリシーの設計に反映されます)に応じて、Database Firewallはモニタリング・モードまたはブロッキング・モードのいずれかで動作できます。詳細は、「データベースの保護レベルの計画」を参照してください。
この項の内容は、次のとおりです。
Database Firewallによってログに記録された情報は、次の目的で使用できます。
システムのモニタリングおよびレポート生成: 潜在的な攻撃についてシステムを監視し、これらの結果に基づいてレポートを生成できます。
ポリシーの作成に使用したデータの分析および比較: Analyzerで動作変更を検出し、ポリシーを改善できます。
新しいログ・データを分析するプロセスによって、予期していない権限の変更など、時間の経過とともに発生する可能性がある、データベース・クライアント・アプリケーションの有害で新しい機能を検出できます。このように、Database Firewallは、データベースの存続期間全体にわたってセキュリティを注視し続けることに役立ちます。
監査またはコンプライアンスを目的としたデータベース・アクティビティの個別ロギング: たとえば、ログに記録された情報は、データベースにアクセスした方法およびアクセスしたユーザーを判別するためのフォレンジック分析に使用できます。
Database Firewallでは、特定のクラスタと一致する文のロギング、またはすでに認知されているクラスタと一致しない文のロギングなど、ターゲット指定ロギングを実行できます。ターゲット指定ロギングによって、ログ記憶域要件が削減され、必要な情報のみが確実に保存されます。ロギング・ルールはポリシーに保存されます。
注意: 情報目的で、ブロックするアクションのロギングは常に有効にしておく必要があります。 |
Database Firewallは、データの信頼性および作成元を示すために、すべてのログ・データにデジタル署名します。
Database Firewallでは、3つのログが保持されます。
トラフィック・ログ: ポリシーに必要なすべてのSQL文、およびデータベースのログイン・イベントとログアウト・イベントが格納されます。
ログ記録されたそれぞれの文およびイベントには、オリジネータに関する追加情報を提供する、次の情報を含む属性のセットを含めることができます。
データベース・ユーザーのログイン名
データベース・クライアントのIPアドレス
ユーザーのオペレーティング・システムのログイン名
クライアント・プログラム名
オリジネータに関する情報をSQLトラフィックから直接入手できない場合は、直接データベース問合せ(DDI)機能を使用すると、Database Firewallでデータベースへの問合せを実行して、情報を取得できます。DDIは、必要に応じて有効または無効にできます。DDIは、Microsoft SQL ServerおよびSybase SQL Anywhereでのみ使用できます。
関連項目: 詳細は、『Oracle Database Firewall管理ガイド』を参照してください。 |
さらに、保護対象データベースがSQL文に対して行うすべてのレスポンス、およびログイン・リクエストとログアウト・リクエストをトラフィック・ログに格納する、データベース・レスポンス・モニタリング機能を有効にできます。
イベント・ログ: オペレーティング・システムの警告など、Database Firewallソフトウェアに直接関連しないシステム・イベントが格納されます。
管理ログ: 停止、再起動、およびポリシーのアップロードなどのシステム・アクションの構成を管理コンソールで変更したユーザーのログインIDが格納されます。
この項では、Database Firewallポリシーの作成に使用するDatabase Firewallアプリケーションについて説明します。
Oracle Database Firewall Analyzerを使用して、データベースに対するSQL文をブロック、警告、ログに記録、または許可するためにDatabase Firewallで使用されるポリシーを作成します。Analyzerは、Database Firewallで作成されるログを読み込むことによってこれを実行します。SQLにあまり詳しくないユーザーにとってはポリシーを自動的に開発できるものであり、SQLに詳しいユーザーにとってはポリシーのカスタマイズを可能にするものです。
ポリシーの開発プロセスの一部として、Analyzerは以前のデータ・セットに対してログ・データをテストします。これにより、ユーザーは新しい潜在的な脅威を識別して、ポリシーをさらに改善できます。
Oracle Database Firewall Analyzerは、Microsoft Windowsクライアント・コンピュータにインストールされ、Database FirewallまたはDatabase Firewall Management Serverに対してセキュアな通信を使用します。
アナライザの使用およびポリシーの作成の詳細は、第3章「Oracle Database Firewall Analyzerの使用」を参照してください。
注意: Oracle Database Firewall Analyzerにはオンライン・ヘルプが用意されており、[F1]キーを使用してアクセスできます。 |
この項の内容は、次のとおりです。
管理コンソールは、システムを構成、管理および監視するためのWebブラウザベースのアプリケーションです。これを表示するには、WebブラウザからDatabase FirewallまたはDatabase Firewall Management Serverにログインします。
管理コンソールの使用の詳細は、第2章「管理コンソールの使用」を参照してください。
様々なタイプのレポートを管理コンソールから直接生成できます。レポートは、Adobe Acrobat PDFドキュメントまたはMicrosoft Excelスプレッドシートとして生成および表示できます。
レポートは、毎日、毎週または毎月など、定義した間隔で自動的に実行するようにスケジュールできます。スケジュールされたレポートは、指定された電子メール・アドレスに自動的に転送されます。
Oracle Database Firewallのレポートの詳細は、第6章「Oracle Database Firewallのレポートの生成」を参照してください。
ストアド・プロシージャの監査およびユーザー・ロールの監査は、Database Firewallのレポート作成システムの一部です。
ストアド・プロシージャ監査では、指定したデータベース・サーバー上のストアド・プロシージャに対する変更または追加が記録されます。
ユーザー・ロール監査では、新しいユーザー・ロールまたは変更されたユーザー・ロールが記録されます。ユーザー・ロール監査では、直接付与されたロールのみでなく、ネストされたロールに関する情報も取得されます。
管理コンソールのオプションを使用すると、指定したデータベース・サーバー上のデータベース内のストアド・プロシージャおよびユーザー・ロールに対する変更を監査および承認できます。
ストアド・プロシージャの監査およびユーザー・ロールの監査の構成に関する詳細は、『Oracle Database Firewall管理ガイド』を参照してください。
ストアド・プロシージャおよびユーザー・ロール監査に対する変更の表示および承認の詳細は、第4章「ストアド・プロシージャおよびロールの監査」を参照してください。
動作上のニーズに応じて、Database Firewallは次のいずれかのモードで動作できます。
データベース・アクティビティ・モニタリング(DAM): 異常なアクティビティを検出してログに記録し、警告を発行しますが、潜在的な脅威をブロックしません。これは、デプロイメントの初期段階においてポリシーの開発および調整中に役立ちます。モニタリング・モードとも呼ばれます。
データベース・ポリシー強制(DPE): データベース・アクティビティ・モニタリングのすべてのアクションを実行し、潜在的な攻撃をブロックします。ブロッキング・モードとも呼ばれます。
これらの動作は、Analyzerまたは他のDatabase Firewallアプリケーションから独立して続行できます。たとえば、1つのDatabase Firewallで、ある保護対象データベースを監視すると同時に、別の保護対象データベースをブロックできます。
Oracle Database Firewallで実行する処理について考えてみます。次の処理が必要かどうかを考えます。
監査ロギング
潜在的な攻撃の警告
潜在的な攻撃のブロック
通常、監査ロギングのみの実装の場合、十分なポリシーの作成に必要な事前の開発時間は最小限で済みます。SQL文のブロッキングの場合、開発時間は最も長くなりますが、最も優れた保護が提供されます。
デプロイメントの1つの方法は、監査ロギングのみで開始し、潜在的な攻撃からデータベースを保護できるポリシー・ファイルを後日デプロイすることです。これは、ユーザーがデプロイメントを理解するのに役立ちます。
最終的にSQL文をブロックする場合は、データベース・アクティビティ・モニタリング(DAM)を使用すると、システムを完全にデプロイする前に信頼性を確立できます。
DAMモードを設定すると、ポリシーにブロック・アクション・レベルを組み込むことができますが、指定したアクション・レベルを含む文はそのまま通過します。Syslogイベントおよびレポートには、文がブロックされたと表示されますが、実際には文は通常どおり通過しています。この結果、文のブロッキングをオンにする前に、実際の環境でシステムを評価できます。この評価段階で、ポリシーを変更してシステム・レスポンスを変更できます。