HTML コマンドインジェクション保護チェック
コマンドインジェクション保護のしくみ
-
受信リクエストの場合、WAF はトラフィックにキーワードまたは特殊文字がないか調べます。受信リクエストに、拒否されたキーワードや特殊文字のいずれにも一致するパターンがない場合、リクエストは許可されます。それ以外の場合、要求は設定されたアクションに基づいてブロック、ドロップ、またはリダイレクトされます。
-
キーワードや特殊文字をリストから除外したい場合は、緩和ルールを適用して特定の条件下でセキュリティチェックをバイパスできます。
-
ロギングを有効にすると、ログメッセージを生成できます。ログを監視して、正当な要求に対する応答がブロックされているかどうかを判断できます。ログメッセージの数が大幅に増加すると、攻撃を開始しようとしたことを示している可能性があります。
-
また、統計機能を有効にして、違反やログに関する統計データを収集することもできます。stats カウンタの予期しない急増は、アプリケーションが攻撃を受けていることを示している可能性があります。正当な要求がブロックされた場合は、新しい緩和ルールを構成する必要があるか、既存の緩和ルールを変更する必要があるかを再確認するために、構成を再確認する必要があります。
コマンドインジェクションチェックで拒否されたキーワードと特殊文字
<commandinjection>
<keyword type="LITERAL" builtin="ON">7z</keyword>
<keyword type="LITERAL" builtin="ON">7za</keyword>
<keyword type="LITERAL" builtin="ON">7zr</keyword>
…
</commandinjection>
| ; & $ > < ' \ ! >> #
CLI によるコマンドインジェクションチェックの設定
set appfw profile <profile-name> –cmdInjectionAction <action-name> -CMDInjectionType <CMDInjectionType>]
CmdSplCharANDKeyWordとして設定されています。
set appfw profile profile1 -cmdInjectionAction block -CMDInjectionType CmdSplChar
-
None-コマンドインジェクション保護を無効にします。
-
Log:セキュリティー検査のコマンドインジェクション違反をログに記録します。
-
Block-コマンドインジェクションセキュリティー検査に違反するトラフィックをブロックします。
-
Stats-コマンドインジェクションのセキュリティ違反に関する統計を生成します。
-
SplCharコマンドです。特殊文字をチェックします
-
コマンドキーワード。コマンドインジェクションキーワードをチェック
-
CmdSplCharANDKeyWord. 特殊文字とコマンドインジェクションをチェックします。キーワードとブロックは、両方が存在する場合に限ります。
-
CmdSplCharORKeyWord. 特殊文字とコマンドインジェクションのキーワードとブロックのいずれかが見つかった場合はチェックします。
コマンドインジェクション保護チェックの緩和ルールの設定
bind appfw profile <profile name> –cmdInjection <string> <URL> -isregex <REGEX/NOTREGEX>
ヘッダーの正規表現の緩和ルールの例
bind appfw profile sample -CMDInjection hdr "http://10.10.10.10/" -location heaDER -valueType Keyword '[a-z]+grep' -isvalueRegex REGEX
hdrを許可します。
クッキー内の正規表現としてvalueTypeを持つリラクゼーションルールの例
bind appfw profile sample -CMDInjection ck_login "http://10.10.10.10/" -location cookie -valueType Keyword 'pkg[a-z]+' -isvalueRegex REGEX
NetScaler GUIを使用したコマンドインジェクションチェックの設定
-
NetScaler Web App Firewallプロファイルページで 、「 詳細設定 」セクションに移動し、「 セキュリティチェック」をクリックします。
-
「 セキュリティチェック 」セクションで、「 HTML コマンドインジェクション 」を選択し、「 アクション設定 」をクリックします。
-
HTML コマンドインジェクション設定ページで 、次のパラメータを設定します。
-
アクション。コマンドインジェクションセキュリティチェックのために実行するアクションを 1 つ以上選択します。
-
リクエストに含まれるものをチェックしてください。コマンドインジェクションパターンを選択して、受信リクエストにパターンがあるかどうかを確認します。
-
-
[OK] をクリックします。
GUI を使用してコマンドインジェクションパターンを表示またはカスタマイズする
-
警告:デフォルトのコマンドインジェクション要素を削除または変更する前に、注意が必要です。または、CMD パスを削除して行全体を削除する必要があります。シグニチャルールとコマンドインジェクションセキュリティチェックは、これらの要素に基づいてコマンドインジェクション攻撃を検出し、アプリケーションを保護します。SQL パターンをカスタマイズすると、編集中に必要なパターンが削除されると、アプリケーションがコマンドインジェクション攻撃に対して脆弱になる可能性があります。
コマンドインジェクショントラフィックおよび違反統計情報の表示
stat appfw profile profile1
| Appfw プロファイルのトラフィック統計 | レート (/s) | 合計 |
|---|---|---|
| リクエスト | 0 | 0 |
| 要求バイト数 | 0 | 0 |
| レスポンス | 0 | 0 |
| 送信バイト数 | 0 | 0 |
| 中止する | 0 | 0 |
| リダイレクト | 0 | 0 |
| 長期平均応答時間 (ミリ秒) | -- | 0 |
| 最近の平均応答時間 (ミリ秒) | -- | 0 |
| HTML/XML/JSON 違反の統計情報 | レート (/s) | 合計 |
|---|---|---|
| 開始URL | 0 | 0 |
| URL を拒否する | 0 | 0 |
| リファラーヘッダー | 0 | 0 |
| バッファオーバーフロー | 0 | 0 |
| Cookie の整合性 | 0 | 0 |
| Cookie ハイジャック | 0 | 0 |
| CSRF フォームタグ | 0 | 0 |
| HTML クロスサイトスクリプティング | 0 | 0 |
| HTML SQL インジェクション | 0 | 0 |
| フィールド形式 | 0 | 0 |
| フィールドの一貫性 | 0 | 0 |
| クレジットカード | 0 | 0 |
| セーフオブジェクト | 0 | 0 |
| シグネチャ違反 | 0 | 0 |
| コンテンツの種類 | 0 | 0 |
| JSON サービス拒否 | 0 | 0 |
| JSON SQLインジェクション | 0 | 0 |
| JSON クロスサイトスクリプティング | 0 | 0 |
| ファイルアップロードの種類 | 0 | 0 |
| コンテンツタイプ XML ペイロードを推測 | 0 | 0 |
| HTML CMD インジェクション | 0 | 0 |
| XML 形式 | 0 | 0 |
| XML サービス拒否 (XDoS) | 0 | 0 |
| XML メッセージ検証 | 0 | 0 |
| Web サービスの相互運用性 | 0 | 0 |
| XML SQL インジェクション | 0 | 0 |
| XML クロスサイトスクリプティング | 0 | 0 |
| XML 添付ファイル | 0 | 0 |
| SOAP フォールト違反 | 0 | 0 |
| XML ジェネリック違反 | 0 | 0 |
| 違反総数 | 0 | 0 |
| HTML/XML/JSON ログ統計 | レート (/s) | 合計 |
|---|---|---|
| URL ログの開始 | 0 | 0 |
| URL ログの拒否 | 0 | 0 |
| リファラーヘッダーログ | 0 | 0 |
| バッファオーバーフローログ | 0 | 0 |
| Cookie 整合性ログ | 0 | 0 |
| Cookie ハイジャックのログ | 0 | 0 |
| タグログからの CSRF | 0 | 0 |
| HTML クロスサイトスクリプティングログ | 0 | 0 |
| HTML クロスサイトスクリプティング変換ログ | 0 | 0 |
| HTML SQL インジェクションログ | 0 | 0 |
| HTML SQL 変換ログ | 0 | 0 |
| フィールド形式ログ | 0 | 0 |
| フィールド整合性ログ | 0 | 0 |
| クレジットカード | 0 | 0 |
| クレジットカード変換ログ | 0 | 0 |
| セーフオブジェクトログ | 0 | 0 |
| シグネチャログ | 0 | 0 |
| コンテンツタイプログ | 0 | 0 |
| JSON サービス拒否ログ | 0 | 0 |
| JSON SQLインジェクションログ | 0 | 0 |
| JSON クロスサイトスクリプティングログ | 0 | 0 |
| ファイルアップロードタイプログ | 0 | 0 |
| コンテンツタイプ XML ペイロードを推測 L | 0 | 0 |
| HTML コマンドインジェクションログ | 0 | 0 |
| XML 形式ログ | 0 | 0 |
| XML サービス拒否 (XDoS) ログ | 0 | 0 |
| XML メッセージ検証ログ | 0 | 0 |
| WSI ログ | 0 | 0 |
| XML SQL インジェクションログ | 0 | 0 |
| XML クロスサイトスクリプティングログ | 0 | 0 |
| XML 添付ファイルログ | 0 | 0 |
| SOAP フォールトログ | 0 | 0 |
| XML 汎用ログ | 0 | 0 |
| ログメッセージの総数 | 0 | 0 |