検索
ホームページ運用・保守Nginxフラッド攻撃を防ぐために Nginx サーバーを構成する方法

テスト

nginx の制限付きリクエスト モジュールを構成する方法と、DDoS またはその他の http ベースのサービス拒否攻撃による攻撃から Web サイトを保護する方法を簡単に説明します。

このテストでは、limit_req ディレクティブをテストするためにサンプル ページを blitz.io (現在は無料サービス) に保存し、about.html という名前を付けました。

まず、blitz に保存しました。次のコマンドを使用して、1075 の同時リクエストを開始し、1 分間継続します。応答タイムアウトは 2 分に設定され、地域はカリフォルニアで、ステータス 200 を除く他のすべての州は異常ステータスに設定されます。503 であっても失敗したと見なされます。

-p 1-1075:60 --status 200 -t 2000 -r カリフォルニア http://kbeezie.com/about.html

フラッド攻撃を防ぐために Nginx サーバーを構成する方法

悪くないですよね? しかし、これが php ドキュメントの場合は、一部のユーザーが php プロセスの 502/504 ステータスを引き起こし、サーバーがクラッシュしたり応答しなくなったりする可能性が非常に高くなります。特に、保護された vps などを使用している場合は特にそうです。安価なサーバーは故障率が高くなります。 (元の広告、ここではブロックされています)

もちろん、サーバーのパフォーマンスと応答性を向上させるためにキャッシュやその他のツールを使用することもできます。たとえば、wordpress を使用する場合は、wordpress キャッシュ プラグインを使用する必要があります。これらのタイプの場合は da制限リクエスト モジュールを使用できます。

nginx ではリージョン http { } を作成し、1 秒あたり 5 つのリクエストを設定することをブリッツと呼び、収容できる最大データ量は 10 MB です。私はこれを使用します。 $binary_remote_addr をセッション変数として指定します $remote_addr への通常の訪問者より 10MB を超えるスペースにアクセスできるようにします。

コードをコピーします。コードは次のとおりです:

limit_req_zone $binary_remote_addrzone=blitz: 10m rate=5r/s;

Ran Zhou はサーバーでこれらのルールを定義します。

コードをコピーします。コードは次のとおりです。

location = /about.html {

limit_reqzone=blitz nolay;
}

次に、nginx 設定をリロードして、効果を確認します。

フラッド攻撃を防ぐために Nginx サーバーを構成する方法

現在サーバーにアクセスできるのは 285 人だけで、1 秒あたりのリクエスト数は 4.75 で、設定した 1 秒あたり 5 回を超えていないことがわかります。ログを確認すると、アクセスされていないリクエストは http であることがわかります。 503、アクセスされるリクエストはすべて http 200 です。

このように使用します。この設定は、リージョンへのアクセスを制限する場合に役立ちます。すべての php リクエストに適用することもできます。

php リクエスト制限の適用##すべての PHP アプリケーション制限を制限したい場合は、これを行うことができます:

コードをコピーします コードは次のとおりです:

location ~ \.php {

limit_reqzone=flood;

include php_params.conf;
fastcgi_pass unix:/tmp/php5-fpm.sock;
}
# #突然の要件や遅延のない要件に対処するために、加速や減速などの設定を調整するのに役立ちます。設定項目の詳細は、ここをクリックしてください: httplimitreqmodule.
Note:

上の表は次のとおりです。 1075 件のユーザー リクエストをテストしましたが、すべてのアクセス リクエストがカリフォルニアにある同じサーバーから送信されているため、誤解を招きます。ip(50.18.0.223).

実際の高トラフィック ネットワークを実装するのは困難です。または ddos​​ (分散型サービス拒否攻撃). これが、アクセスに成功したユーザーの数が IP と同じではない理由です. 非常に大きい. サーバーの負荷は、テス​​ト ユーザーのアクセス数や地域にも影響します. 無料版では、アクセスできる同時ユーザーの最大数は 50 です。もちろん、1 日あたり 49 ドルを支払えば、1,000 人のユーザーが Web サイトにアクセスできるようにすることもできます。

十分なメモリと帯域幅があれば、非常に簡単にアクセスできます。単一の IP アドレスを使用してテストします。このツールを使用すると、高い同時実行性、ab、openload などを実現できます。これは、UI を使用せず、ターミナル インターフェイス内で実行されます。それだけです。

もちろん、テストする必要があります。 blitz は約 5 秒後にアクセス要求に応答するため、自分自身でもステータス フラグを使用することを忘れないでください。

より良い代替手段

ここでは詳細は説明しませんが、 DDoS 攻撃やマルチサービス攻撃によるサーバーへの攻撃の防止に真剣に取り組んでいる場合は、iptables (linux)、pf (bsd 用のパケット フィルター) などの優れたソフトウェア ツールが他にもあります。また、サーバーがハードウェアを提供している場合は、ハードウェア ファイアウォールを使用することもできます。上記の制限モジュールは、http リクエストによるフラッド攻撃のみを防止します。ping パケットのフラッド攻撃やその他の脆弱性は防止しません。この場合、不要なサービスや不要なポートを閉じて、他人の侵入を防ぐことができます。

たとえば、サーバーが外部ネットワークに公開するポートは http/https と ssh だけです。mysql のようなサービスの中で、ローカル接続をバインドします。また、一部の共通サービスを、一般的に使用されないポートに設定して、それらが外部ネットワークに公開されないようにすることもできます。 (この状況では iptables/pf が役に立ちます)。

以上がフラッド攻撃を防ぐために Nginx サーバーを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
NginxとApache:重要な違​​いを理解するNginxとApache:重要な違​​いを理解するApr 26, 2025 am 12:01 AM

NginxとApacheにはそれぞれ独自の利点と欠点があり、選択は特定のニーズに基づいている必要があります。 1.Nginxは、非同期の非ブロッキングアーキテクチャのため、高い並行性シナリオに適しています。 2。Apacheは、モジュラー設計のため、複雑な構成を必要とする低変動シナリオに適しています。

Nginxユニット:主要な機能と機能Nginxユニット:主要な機能と機能Apr 25, 2025 am 12:17 AM

Nginxunitは、複数のプログラミング言語をサポートし、動的構成、ゼロダウンタイム更新、組み込みのロードバランシングなどの機能を提供するオープンソースアプリケーションサーバーです。 1。動的構成:再起動せずに構成を変更できます。 2。多言語サポート:Python、Go、Java、PHPなどと互換性があります。 4。ビルトインロードバランシング:リクエストは、複数のアプリケーションインスタンスに配布できます。

Nginxユニットvs他のアプリケーションサーバーNginxユニットvs他のアプリケーションサーバーApr 24, 2025 am 12:14 AM

nginxunitは、多言語プロジェクトや動的な構成要件に適した、apachetomcat、gunicorn、node.jsビルトインHTTPサーバーよりも優れています。 1)複数のプログラミング言語をサポートします。2)動的な構成リロード、3)高いスケーラビリティと信頼性を必要とするプロジェクトに適した組み込みの負荷分散機能を提供します。

Nginxユニット:アーキテクチャとその仕組みNginxユニット:アーキテクチャとその仕組みApr 23, 2025 am 12:18 AM

Nginxunitは、モジュラーアーキテクチャと動的な再構成機能により、アプリケーションのパフォーマンスと管理性を向上させます。 1)モジュラー設計には、マスタープロセス、ルーター、アプリケーションプロセスが含まれ、効率的な管理と拡張をサポートします。 2)動的再構成により、CI/CD環境に適した、実行時に構成をシームレスに更新できます。 3)多言語サポートは、言語ランタイムの動的なロードを通じて実装され、開発の柔軟性が向上します。 4)イベント駆動型モデルと非同期I/Oによって高性能が達成され、高い並行性の下でも効率的なままです。 5)申請プロセスを分離し、アプリケーション間の相互の影響を減らすことにより、セキュリティが改善されます。

Nginxユニットの使用:アプリケーションの展開と管理Nginxユニットの使用:アプリケーションの展開と管理Apr 22, 2025 am 12:06 AM

nginxunitを使用して、アプリケーションを複数の言語で展開および管理できます。 1)nginxunitをインストールします。 2)PythonやPHPなどのさまざまなタイプのアプリケーションを実行するように構成します。 3)アプリケーション管理に動的構成関数を使用します。これらの手順を通じて、アプリケーションを効率的に展開および管理し、プロジェクトの効率を向上させることができます。

Nginx vs. Apache:Webサーバーの比較分析Nginx vs. Apache:Webサーバーの比較分析Apr 21, 2025 am 12:08 AM

NGINXは、高い並行接続の処理に適していますが、Apacheは複雑な構成とモジュール拡張が必要な​​シナリオにより適しています。 1.Nginxは、高性能と低リソース消費で知られており、高い並行性に適しています。 2. Apacheは、その安定性とリッチモジュール拡張機能で知られています。これは、複雑な構成ニーズに適しています。

Nginxユニットの利点:柔軟性とパフォーマンスNginxユニットの利点:柔軟性とパフォーマンスApr 20, 2025 am 12:07 AM

Nginxunitは、動的な構成と高性能アーキテクチャにより、アプリケーションの柔軟性とパフォーマンスを向上させます。 1.動的構成により、サーバーを再起動せずにアプリケーション構成を調整できます。 2.高性能は、イベント駆動型および非ブロッキングアーキテクチャおよびマルチプロセスモデルに反映され、同時接続を効率的に処理し、マルチコアCPUを利用できます。

Nginx vs. Apache:パフォーマンス、スケーラビリティ、効率Nginx vs. Apache:パフォーマンス、スケーラビリティ、効率Apr 19, 2025 am 12:05 AM

NginxとApacheはどちらも強力なWebサーバーであり、それぞれがパフォーマンス、スケーラビリティ、効率の点で独自の利点と短所を備えています。 1)nginxは、静的なコンテンツを処理し、逆プロキシを逆にするときにうまく機能します。 2)Apacheは、動的コンテンツを処理するときにパフォーマンスが向上し、リッチモジュールサポートが必要なプロジェクトに適しています。サーバーの選択は、プロジェクトの要件とシナリオに基づいて決定する必要があります。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、