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 グリーンバージョンのインストールと設定方法のグラフィックチュートリアル

推薦する

Dockerはプライベートライブラリイメージを完全に削除します

まず、インターネット上の一般的な慣行を見てみましょうデフォルトでは、プライベート ライブラリはイメー...

nginx+php-fpm サービスの HTTP ステータス コード 502 の詳細な分析

弊社の Web プロジェクトの 1 つでは、新しい都市の増加によりトラフィックと DB 負荷が増加し...

Vueカスタム命令とその使用方法の詳細な説明

目次1. 指令とは何ですか? Vue でよく使われる組み込みの v ディレクティブv-if と v-...

Vue lazyload 画像遅延読み込み例の詳細な説明

ドキュメント: https://github.com/hilongjw/vue-lazyload 1...

フロントエンドとバックエンド分離プロジェクトのDockerデプロイメントの実装例

目次1. 環境整備2. イメージを実行する問題を解決するRedis のインストールNginx のイン...

WeChatミニプログラムがシームレスなスクロールを実現

この記事の例では、WeChatアプレットのシームレスなスクロールを実現するための具体的なコードを参考...

VMware に Centos8 をインストールする詳細なチュートリアル

CentOS公式サイトアドレスhttps://www.centos.org/まず必要なファイルをダウ...

Vue で PC アドレスをモバイル アドレスにリダイレクトする方法

要件:PC側とモバイル側は2つの独立したプロジェクトです。2つのプロジェクトの内容は基本的に同じで、...

MySQL InnoDB MRR 最適化ガイド

序文MRR は Multi-Range Read の略で、ランダム ディスク アクセスを削減し、ラン...

CSS 要約ノート: 変換、遷移、アニメーションの例

1.移行遷移プロパティの使用法: transition :transition-property t...

LinuxサーバーでRabbitMQ管理ページにアクセスできない問題を解決

私のプロジェクトの特定の機能ではサーバーが rabbitmq にメッセージを送信する必要があるため、...

Web フォントの読み込みを最適化する方法をご存知ですか?

タイトル通りです!一般的に使用される font-family はブラウザの組み込みフォントを読み込み...

React+Typescriptはカウントダウンフックメソッドを実装します

まず、setIntervalはフックとしてカプセル化されます👇 'react' から...

LinuxにNginxをインストールする詳細な手順

1. Nginxのインストール手順1.1 公式サイトの紹介http://nginx.org/en/d...

Linux でプロセスを隠す方法と、遭遇する落とし穴

序文1. この記事で使用したツールは、https://github.com/gianlucabore...