ホームページ  >  記事  >  運用・保守  >  リクエストレートを制限し、悪意のあるリクエストを防ぐためのNginxのセキュリティ保護戦略についての深い理解

リクエストレートを制限し、悪意のあるリクエストを防ぐためのNginxのセキュリティ保護戦略についての深い理解

PHPz
PHPzオリジナル
2023-08-07 10:21:261000ブラウズ

リクエスト率を制限し、悪意のあるリクエストを防ぐための Nginx のセキュリティ保護戦略についての深い理解

Nginx は、静的 Web サイト、リバース プロキシ、および負荷が分散されているため、一連のセキュリティ保護戦略を通じてサーバーを悪意のあるリクエストから保護することもできます。この記事では、リクエスト レートを制限し、悪意のあるリクエストを防ぐための Nginx のセキュリティ保護戦略に焦点を当て、関連するコード例を示します。

  1. リクエストレートを制限する

悪意のあるリクエストは多くの高頻度の方法で開始され、サーバーに多大な負荷をかけます。サーバーの過負荷を避けるために, Nginx モジュールを使用してリクエストのレートを制限できます。

Nginx 構成ファイルでは、limit_req_zone ディレクティブを使用して、リクエスト レート制限のある共有メモリ領域を作成できます。例:

http {
    limit_req_zone $binary_remote_addr zone=limit:10m rate=1r/s;
}

上記の構成では、10MB が作成されます。 size 同じクライアント IP アドレスから開始されるリクエストの数を 1 秒あたり 1 回以下に制限するメモリ領域。次に、特定のリクエスト処理ブロックで limit_req ディレクティブを使用して、この制限を適用できます。例:

server {
    location /api/ {
        limit_req zone=limit burst=5;
        proxy_pass http://backend;
    }
}

上記の構成は、/api/## の下に表されます。 # path リクエスト レートを制限し、バースト制限値を 5 に設定します。このようにして、多数のリクエストが制限レートを超えた場合、Nginx はクライアントに 503 エラーを返し、これらのリクエストを破棄します。

    #悪意のあるリクエストの防止
#リクエスト率を制限することに加えて、次のような他の戦略を通じて悪意のあるリクエストを防ぐこともできます。 #IP ホワイト リスト/ブラックリスト:

allow

および
    deny
  • 命令を使用して IP アクセス制御を設定し、ホワイトリスト内の IP へのアクセスのみを許可したり、ブラックリスト内の IP をブロックしたりできます。例:
    location /admin/ {
        allow 192.168.1.0/24;
        deny all;
    }
    上記の構成は、192.168.1.0/24 ネットワーク セグメント内の IP のみが /admin/
  • パスへのアクセスを許可されることを意味します。

URI ブラックリスト: if

ディレクティブと正規表現を使用して、悪意のあるリクエスト URI を傍受できます。例:
  • location / {
        if ($uri ~* "/wp-admin" ) {
            return 403;
        }
    }
    上記の設定は、要求された URI に /wp-admin
  • が含まれている場合、403 エラーが返されることを意味します。

Referer チェック: リクエスト ヘッダーの Referer フィールドをチェックすることで、リクエストのソースが正当であるかどうかを判断できます。例:

server {
    location / {
        if ($http_referer !~* "^https?://example.com") {
            return 403;
        }
    }
}
    上記の構成は、Referer フィールドが
  • http://example.com
  • または
https://example.com で始まらない場合を意味します。

の場合、403 エラーが返されます。 要約すると、Nginx は、リクエスト レートを制限し、悪意のあるリクエストを防ぐための豊富なセキュリティ保護戦略を提供します。 Nginx を適切に構成することで、サーバーを悪意のあるリクエストから保護し、サーバーの安定性とセキュリティを向上させることができます。 上記は、リクエスト率を制限し、悪意のあるリクエストを防ぐための Nginx のセキュリティ保護戦略を深く理解するための入門書であり、読者の役に立つことを願っています。

(注: 上記は単なるコード例であり、本番環境に完全に適用できるわけではありません。実際の状況と Nginx の公式ドキュメントに従って設定してください。)

以上がリクエストレートを制限し、悪意のあるリクエストを防ぐためのNginxのセキュリティ保護戦略についての深い理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。