必要な機能を実装するクライアントサーバーソフトウェアを使用することが必要になる場合がありますが、SQLインジェクションに対して非常に脆弱です。 これらは主に、サイバー犯罪者を含む幅広いユーザーがアクセスできるWebサイト、ネットワークアプリケーション、およびその他のサービスです。 さまざまな理由により、アプリケーションレベルでのSQLインジェクションを常に防止できるとは限りません。ソースコードが閉じられたり、オープンソースの場合、変更を行うための十分な知識がなかったり、この操作に費用がかかります。
この場合、GreenSQLはアプリケーションのセキュリティ(SQLサーバーのファイアウォールまたはプロキシ)の確保に役立ちます。 GreenSQLサービスは、アプリケーションとSQLサーバーの間に配置され、アプリケーションからsqlクエリを受け入れ、その信頼性に応じて、それらをターゲットSQLサーバーにリダイレクトするか拒否します。
GreenSQLはMicrosoft SQL 2000/2005/2008、MySQL 4.x / 5.x、PostgreSQL 7.x / 8.xをサポートし、クロスプラットフォームです。 公式にサポートされているプラットフォームには、Microsoft Windows Server 2003/2008、Ubuntu、CentOSがあります。 32ビットおよび64ビットシステムがサポートされています。
費用に関しては、プログラムにはいくつかの修正があります-無料のExpress、Lite、Proは毎月の支払いが必要です。 有料バージョンと無料バージョンの主な違いは、テクニカルサポートと自動更新を省略した場合、その場でリクエストを変更し、安全なSSL接続で作業できることです。
GreenSQLの各バージョンは、いくつかの操作モードをサポートしています。
リスクベース-IPS / IDSは、潜在的に危険なSQLクエリを識別するための基本的なアルゴリズムを実装しています。 つまり GreenSQLはクエリのセマンティック分析を実行し、間接的な指示により、その信頼性の程度を判断します。 危険度の計算は、次のパラメーターを考慮して実行されます。
- テーブルの構造を変更する操作
- サービステーブルとデータベースへのクエリ
- ファイルシステムアクセスを使用したクエリ
- 管理クエリ、例:SHOW TABLES、SHOW CREATE TABLE
- 常にTRUEを返す比較演算。たとえば、1 = 1、フィールド=フィールド
- リクエスト内のコメント
- リクエストでORを使用する
- ユーザー、アカウント、支払いなどの個人情報を含むテーブルの操作
- リクエストで空のパスワードを渡す。たとえば、password = ``、pwd = ''、passw = ''
必要なブロックされた要求を許可リスト(ホワイトリスト)に追加できます。
Database Firewallは、ホワイトリストリストからのリクエストのみをスキップできるアクティブな保護モードです。
学習モード -すべてのリクエスト(またはクエリテンプレート)が許可リスト(ホワイトリスト)に含まれるトレーニングモード。 したがって、トレーニングモードでは、「クリーン」リクエストのデータベースを収集するようにアプリケーションをテールとたてがみで実行し、未知のリクエストをすべてブロックして「戦闘」モードをオンにできます(データベースファイアウォール+アクティブ保護)。
プログラム設定
GreenSQLはサービス(デーモン)として起動します。 設定は、
127.0.0.1 :5000にあるWebインターフェースを介して管理されます。
デフォルトのユーザー名/パスワードはadmin / pwdです
承認後、アプリケーション統計ページに移動します。 [システム]> [ライセンス]セクションに移動し、ダウンロードリンクのあるレターに記載されているライセンスキーを指定します(ダウンロードするに
は、開発者のサイトで登録が必要です)。
開始するには、プロキシを作成する必要があります。 無料版では、プロキシを1つだけ作成できます。 作成するには、[データベース]> [プロキシの作成]に移動します。
- プロキシ名 -GreenSQL内の識別のためのプロキシ名
- データベースタイプ -保護されたDBMSのタイプ
- ユーザー名とパスワード-DBMSでの承認のためのログインとパスワード。 これはオプションですが、それらの指示は、リストからデータベースオブジェクトを選択し、手動で入力しないようにさらに設定するのに役立ちます
- フロントエンドIP-プロキシが機能するIP(マシン上の複数のネットワーク接続の場合に実際)。 0.0.0.0は、すべてのネットワークインターフェイスで動作することを意味します
- フロントエンドポート -プロキシが機能するポート。 DBMSに接続するためにアプリケーションで使用する必要があるのはこのポートです
- バックエンドサーバー名 -保護されたDBMSの名前。 それは何でも構いません。GreenSQL内での識別に必要です(localhostを記述します)
- バックエンドIP-保護されたDBMSが実行されているIPアドレス(127.0.0.1など)
- バックエンドポート -保護されたDBMSが実行されているポート(通常、MySQLの場合-3306、MSSQLの場合-1433、PostgreSQLの場合-5432)
プロキシを作成した後、指定したポートでプロキシが起動されます。 アプリケーションでGreenSQLの使用を開始するには、プロキシ(ポリシー)のルールを設定するだけです。 原則として、すでにこの段階で、GreenSQLで動作するようにアプリケーションを構成することができますが、「透過」モードで動作します。
- ルールタイプ - ルールタイプ (学習モード、データベースファイアウォール、リスクベース)。 選択したタイプに応じて、入力用のフィールドが変更されます。
- データベース -DBMSの保護されたデータベースの名前
- プロキシ -ルールが適用されるプロキシ。
- IPS / IDS(モード) -すべてのタイプのルールに共通です。
- IPS / IDSなし -自動攻撃検出を使用しません
- アクティブ保護 -潜在的に危険な要求をブロック
- 監視 -潜在的に危険な要求を記録し、ブロックしません
これで、GreenSQLを使用するようにアプリケーションを構成できます。
性能
GreenSQLの公式
Webサイトから取得したパフォーマンステスト。 テストの本質は、Apache Benchを通じて、400ヒットと10の競合クエリで複数の測定が行われたことです。 テスト結果は画像に示されています。
GreenSQLには、適切な使用法のドキュメントが付属しています。 ここでは、翻訳を試みませんでしたが、プログラムの基本機能の一般的な目的と設定の概要を説明しました。 GreenSQLの以前のバージョン(最大1.2、最新-1.5)はGPLで配布されていました。
公式サイト
www.greensql.com 、
www.greensql.net