PSA酒徳です。ESP(エコシステム ソリューション パターン)として、NEC様よりInfoCage SiteShellのご紹介を頂きます。
会社名: 日本電気株式会社
製品 / ソリューション名: InfoCage SiteShell
製品ロゴ:
システム構成図
製品/ソリューション概要:
SQLインジェクション等、Webアプリケーションの脆弱性を利用した攻撃からWebシステムを守る、Webアプリケーションファイアウォール(WAF)製品です。ソフトウェアWAFのため、AWSに適した柔軟な導入形態、オートスケールに対応した拡張性が特長です。
■AWSに適した柔軟な導入形態
ソフトウェア型なのでお客様環境に応じた導入形態をとること可能です。Webサーバに直接インストールすることも、ネットワーク上にプロキシとして配置することもできます。
□ ネットワーク型
ネットワーク上にリバースプロキシとしてWAFを設置。
特徴
- 導入時にNW設計が必要
- スループットはWAFを導入するインスタンスタイプに依存
- WAFの冗長構成の考慮が必要
- Webサーバ自体への影響はなし
□ ホスト型
WebサーバにWAFソフトウェアをインストール。Webサーバ上でWAFのチェックを実施する。
特徴
- 導入時のネットワーク設計不要
- Webサーバへの影響の考慮が必要
- パフォーマンスはWebサーバのインスタンスタイプに依存
- WAF自体の冗長構成の考慮不要
※ネットワーク型、ホスト型ともにAWS導入ガイドを用意しております。導入方法等詳細はこちらをご参照ください。
http://jpn.nec.com/infocage/siteshell/download_aws.html
■ オートスケールに対応した管理機能
稼働中のWAFを専用運用管理コンソールで一括管理し、オートスケールでサーバが増えても管理コンソールに自動追加する機能があります。事前にInfoCage SiteShellを導入したAMIを作成することで、オートスケールで増加したサーバにはInfoCage SiteShellが導入された状態で起動します。また、運用管理コンソールは増加したInfoCage SiteShellを自動で登録しますので、増加したサーバも自動で管理します。
※動作イメージは本ページ冒頭のシステム構成図をご参照ください。
■ 最新の攻撃への迅速な対応が可能
SiteShellは、自動更新にて提供されるブラックリストに既知の攻撃パターンが多数登録されており、様々なアプリケーション脆弱性攻撃への対応が可能です。さらに、ブラックリストに登録されていない最新の攻撃に対しても、ユーザルール定義を作成することにより、迅速な対応が可能です。
【SiteShell ユーザルール定義とは】
ユーザが個別に設定する、防御設定です。例えば、ブラックリストには載っていない特定の文字列を攻撃とみなしたり、特定のフィールドへの入力を制限するなどの定義が可能です。この定義はSiteShellのインストールフォルダ配下に設置された「ユーザルール定義ファイル」に保存され、SiteShellの管理用ツール(運用管理コンソール)から追加/変更することが可能です。
【ユーザルール定義の設定方法】
2014年9月末に発見されたbashのぜい弱性(CVE-2014-6271等)の対応方法を例に説明します。※ 最新の脆弱性対策パッケージはこの内容を含むため、ユーザルールを作成する必要はありません。
1.SiteShellの運用管理コンソールにログインします。
2.対象のノード(またはグループ)を選択し、「ユーザルール定義」のタブをクリックします。
3.「レシピ追加」をクリックします。
※SiteShellでは、ユーザルール定義で作成するひとつひとつの定義のことを「レシピ」と呼びます。
4.以下のような画面が表示されますので、それぞれの属性を以下のように入力します。
【各属性の入力値】 ・RuleSet Name 意味:ルールセットの名前。 値:(任意のルールセット名) ・Stage 意味:ルールセットの処理対象 値:request ・Content Type 意味:ルールセットの処理対象とするContent Type 値:なし ・Condition 意味:本ルールセット内で指定するルール要素間の関係 値:or ・Action Name 意味:本ルールセットにマッチした際の対処動作。 値:forward ・Action Arg 意味: 「Action Name」で「forward」を選択した場合、遷移先のurl を 「~.html」の形式で指定する。 値:SiteShellError.html
・ルール①: ・Operator 意味:ルールの正規表現式マッチの真偽判定 値:regex ・Rule Arg 意味:ルールのチェックするパラメータ名を指定する。 値:headers[*],paramValues[*] ・Rule Value 意味:チェックする値。 値:^\(\) \{ ・Decode 意味 「Rule Value」で指定した値をチェックする前のデコード処理 値:なし ・Charset 意味:「Decode」属性において「M(マルチバイト除去)」を実施する際の 文字コードを指定。省略時は、マルチバイト除去を行わない。 なし
・ルール②: ・Operator 意味:ルールの正規表現式マッチの真偽判定 値:regex ・Rule Arg 意味:ルールのチェックするパラメータ名を指定する。 値:paramNames[*] ・Rule Value 意味:チェックする値。 値:\(\) \{ ・Decode 意味 「Rule Value」で指定した値をチェックする前のデコード処理 値:なし ・Charset 意味:「Decode」属性において「M(マルチバイト除去)」を実施する際の 文字コードを指定。省略時は、マルチバイト除去を行わない。 値:なし
・ルール③: ・Operator 意味:ルールの正規表現式マッチの真偽判定 値:regex ・Rule Arg 意味:ルールのチェックするパラメータ名を指定する。 値:uri ・Rule Value 意味:チェックする値。 値:(%28|\()(%29|\))(%20| |\+)(%7b|\{) ・Decode 意味 「Rule Value」で指定した値をチェックする前のデコード処理 値:なし ・Charset 意味:「Decode」属性において「M(マルチバイト除去)」を実施する際の 文字コードを指定。省略時は、マルチバイト除去を行わない。 値:なし |
5 「ルールセット追加」をクリックします。
※SiteShellでは、レシピ内の詳細な防御設定(検知文字列の定義等)を「ルールセット」という単位で登録します。
6 「変更」をクリックし、その後の画面で「適用」をクリックすれば、設定は完了です。
【動作確認】
WebブラウザのURL入力欄に以下のように入力します。
http://(上記設定を行ったWebサイトのURL) ? () { :;}; attack
※動作確認用のサンプル文字列であり、実際の攻撃文字列とは異なります。
SiteShellの防御動作(上記例の設定であれば、エラーページ「SiteShellError.html 」への画面遷移)が確認できれば、正しく設定が行われています。
このようにSiteShellによって迅速に最新の攻撃への対策を行うことができます。
システム要件/利用するAWSサービス:
動作環境:
OS:Amazon Linux、RHEL、CentOS、Windows Server
Webサーバ:Apache、IIS
詳細:http://jpn.nec.com/infocage/siteshell/requirement.html
AWSでの導入実績:
・国内大手企業を中心に150社以上
・転職情報サイト様での導入事例:http://jpn.nec.com/case/cdc/index.html
費用:
価格URL
http://jpn.nec.com/infocage/siteshell/price.html
その他情報:
製品URL
http://jpn.nec.com/infocage/siteshell/index.html
AWS向け導入/運用ガイド
http://jpn.nec.com/infocage/siteshell/download_aws.html
お問い合わせ先:
以下サイトよりお問い合わせください。
http://jpn.nec.com/infocage/siteshell/contact.html
-------------------------------------------------
エコシステム ソリューション部
パートナー ソリューションアーキテクト
酒徳 知明