nginx-naxsi ホワイトリストルールの詳細な説明

nginx-naxsi ホワイトリストルールの詳細な説明

ホワイトリストルールの構文:

基本ルール wl:ID [否定] [mz:[$URL:target_url]|[match_zone]|[$ARGS_VAR:varname]|[$BODY_VARS:varname]|[$HEADERS_VAR:varname]|[NAME]]

wl:ID (ホワイトリストID)ホワイトリストに含まれる傍受ルール
0 ですすべての傍受ルールをホワイトリストに追加する
wl:42 ID 42の傍受ルールをホワイトリストに追加する
窓:42,41,43 ID 42、41、43 の傍受ルールをホワイトリストに追加する
ワット数:-42 ID 42 のインターセプトルールを除くすべてのインターセプトルールをホワイトリストに追加します。

mz:(マッチゾーン)

ARGS GET パラメータ全体、例: foo=bar&in=%20
$ARGS_VAR GET パラメータのパラメータ名 (例: foo=bar&in=%20 の foo および in)
$ARGS_VAR_X正規表現に一致するGETパラメータのパラメータ名
ヘッダーHTTPプロトコルヘッダー全体
$HEADERS_VAR HTTP ヘッダー名
$HEADERS_VAR_X正規表現に一致するHTTPプロトコルヘッダーの名前
POSTのパラメータ内容全体
$BODY_VAR POSTパラメータ名
$BODY_VAR_X正規表現に一致するPOSTパラメータのパラメータ名
メールアドレスURL(前?)
URL_X通常の一致する URL (以前?)
ファイル拡張子ファイル名(POSTを使用してファイルをアップロードするときにアップロードされるファイル名)

ホワイトリストの設定例

ルール #1000 を例に挙げます。ルール #1000 は、select、update、delete、insert などの SQL キーワードをフィルターするルールです。

ルール例示する
基本ルール wl:1000;このサブルールのインターセプト ルール #1000 を完全に無効にします。地域が指定されていないため、すべてがホワイトリストに追加されます。
基本ルール wl:1000 "mz:$ARGS_VAR:foo";

fooという名前のすべてのGETパラメータ値に対してインターセプトルール#1000を無効にする

デモからの http://mike.hi-linux.com/?foo=select * のようなリクエストはフィルタリングされません。

基本ルール wl:1000 "mz:$URL:/bar|ARGS";

URL /bar の GET リクエストのパラメータのインターセプト ルール #1000 を無効にする

次の類似リクエストはフィルタリングされません。

http://mike.hi-linux.com/bar?my=select * デモからhttp://mike.hi-linux.com/bar?from=weibo

基本ルール wl:1000 "mz:ARGS|NAME";

すべての GET リクエストのすべてのパラメータ名 (名前のみ、パラメータ値ではない) に対してインターセプト ルール #1000 を無効にします。

次のリクエストはフィルタリングされません。

http://mike.hi-linux.com/bar?from=weibo

次のリクエストはフィルタリングされます:

http://mike.hi-linux.com/bar?foo=select

select はパラメータ値であり、ホワイトリスト内にないためです。

基本ルール wl:0 "mz:$URL_X:^/upload/(.*).(.*)$|URL";

すべてのリクエストで ^/upload/(.*).(.*)$ の通常ルールに一致する URL のすべてのインターセプトルールを無効にします。

http://mike.hi-linux.com/upload/select.db のようなリクエストはフィルタリングされません (インターセプト ルール #1000 がトリガーされます)。

実際の戦闘のためのホワイトリストルール# vi naxsi_BasicRule.conf
基本ルール wl:1010,1011 "mz:$ARGS_VAR:rd";
基本ルール wl:1015,1315 "mz:$HEADERS_VAR:cookie";

nginx-naxsi ホワイトリストルールの詳細な説明は、エディターが皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • geo モジュールを使用して Nginx でホワイトリストを設定する例
  • nginx でディレクトリ ホワイトリストと IP ホワイトリストを設定する方法
  • nginx にアクセスホワイトリストを動的に追加する方法
  • Nginxサーバーのブラックリストまたはホワイトリスト機能を備えたファイアウォールを構成する

<<:  Bootstrapはカルーセルの効果を実現します

>>:  MySQL 5.7.21 winx64 グリーンバージョンのインストールと設定方法のグラフィックチュートリアル

推薦する

MySQL Routerのインストールと展開

目次01 MySQLルーターの紹介MySQL Router とは何ですか? 02 MySQLルータの...

Vue命令の動作原理と実装方法

Vue の紹介現在のビッグフロントエンドの時代は、混乱と衝突の時代です。世界は多くの派閥に分かれてお...

CSS3 で translate と transition を使用する方法

translate と transition は非常に強力で、習得するのは不可能だといつも感じていま...

MySQL インデックスがソートに与える影響の分析例

この記事では、例を使用して、MySQL インデックスがソートに与える影響を説明します。ご参考までに、...

JS+Canvas が抽選ホイールを引く

この記事では、宝くじターンテーブルを描画するJS + Canvasの具体的なコードを参考までに共有し...

MySQL トリガーの原理と使用例の分析

この記事では、例を使用して、MySQL トリガーの原理と使用方法を説明します。ご参考までに、詳細は以...

サーバーストレステストの概念と方法 (TPS/同時実行性)

目次1 ストレステストの指標1.1 秒あたり1.2 クォータ1.3 平均処理時間(RT) 1.4 同...

WindowsでiTunesのバックアップパスを変更する方法

0. 準備: • iTunesを閉じる• タスクマネージャーでiTunesから始まるサービスを終了し...

Mysql 5.6.37 winx64 インストール デュアル バージョン mysql ノート

マシンに MySQL バージョン 5.0 がすでに存在する場合は、最新バージョンの MySQL のイ...

jsvc を使用して tomcat を起動する方法 (通常のユーザーとして実行)

jsvc の紹介実稼働環境では、Tomcat はデーモン モードで実行する必要があります。Tomc...

英語: リンクタグはIEでhrefを自動的に補完します

英語: IE では、リンク タグによって href が自動的に補完されます。 Ajax Link T...

MySQLクエリデータを時間別に表示します。データがない場合は0を入力してください。

需要背景統計インターフェースでは、フロントエンドは 2 つの配列を返す必要があります。1 つは 0 ...

アコーディオン効果を実現するネイティブ js

実際のWebページ開発でも、アコーディオンは頻繁に登場します。簡単なアコーディオンを作ったのですが、...

ネイティブ JS 音楽プレーヤー

この記事の例では、音楽プレーヤーを実装するためのJSの具体的なコードを参考までに共有しています。具体...

Docker 構成コンテナの場所とヒントのまとめ

Docker の使用に関するヒント1. 停止したDockerコンテナをすべてクリーンアップする停止し...