Nginx で DDoS 攻撃を防ぐ方法

Nginx で DDoS 攻撃を防ぐ方法

DDoS (分散型サービス拒否) 攻撃は、不正なデジタル通信戦術を介して、サーバー リソースに過負荷をかけます。この種の攻撃は、コンピューターの世界における組織的な襲撃です。悪意のある敵対者の無数の行為が組み合わさって、サーバーを強制的に停止させるほどの恐るべき脅威を生み出します。

何よりも悪いことに、そのようなホストに対してゲリラ的なウェブ「戦争」を仕掛ける手段は数多く存在します。幸いなことに、サーバーはそのような攻撃に耐えるように構成できます。

Unix マシン用の非常に人気のあるサーバー システムである Nginx には、DDoS 攻撃の有効性を大幅に制限する十分な機能が組み込まれています。

Nginx でそのような脅威に対処するための効果的なオプションをいくつか紹介します。

Nginx で DDoS 攻撃を防ぐにはどうすればよいですか?

設定ファイルのバックアップ

設定を変更する前に、必ずサーバーの構成の簡単なバックアップを作成してください。この目的には次のコマンドが機能します。

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup-original

Nginx で DDoS 攻撃を防ぐ方法

完了したら、続行する準備が整います。

交通状況を確認する

サーバー上のトラフィックを監視すると、セキュリティを最適化し、追加の戦略を実装することが簡単になります。 Nginx には、この目的のために特別に作成されたモジュールがあります。

ステータスページの設定

Nginx には通常、「スタブ ステータス」(http_stub_status_module) と呼ばれるモジュールが付属しておりこのタイプの機能をサーバー環境に簡単に統合できます。まず、次のコマンドを使用してテストします。

nginx -V

Nginx で DDoS 攻撃を防ぐ方法

または、次のコマンドを使用すると、より速く検索できます。

nginx -V 2>&1 | grep -o with-http_stub_status_module

Nginx で DDoS 攻撃を防ぐ方法

出力が上記のようであれば、すべて問題ありません。それ以外の場合は、付属のモジュールを使用して Nginx インストールをインストールまたは再コンパイルする必要があります。

確認できるステータス ページの設定は簡単ですが、セキュリティを維持するためにアクセスを最小限 (コンピューターのみ) に制限する必要もあります。まず、/etc/nginx/nginx.conf にあるサーバーのメイン構成ファイルを開きます

それを開き、次のコードを「http ディレクティブ」に追加してモジュールを有効にし、「localhost」、「/status_page」、および「127.0.0.1」内の独自の情報を置き換えます。

server {
listen 80;
listen [::]:80;
server_name localhost;
##
# Status Page Settings
##
location /status_page {
stub_status on;
allow 127.0.0.1;
allow ::1;
deny all;
}
}

: このファイルを変更するには sudo 権限が必要です。

Nginx で DDoS 攻撃を防ぐ方法

次に、構成をテストします。

sudo nginx -t

Nginx で DDoS 攻撃を防ぐ方法

すべてが正常であれば、サーバーにリロード信号を送信します。

sudo systemctl reload nginx

Nginx で DDoS 攻撃を防ぐ方法

ステータス ページにアクセスするには、Web ブラウザで、または、curl などのコマンド ライン ツールを使用して、server_nameに続いて「/status_page」という場所にアクセスします (これは、ブラウザのキャッシュが自動的に更新されない場合に役立ちます)。例のページにアクセスするためのcurlコマンドは次のとおりです。

curl localhost/status_page

Nginx で DDoS 攻撃を防ぐ方法

ブラウザでは、上記のコマンド出力は次の画像のように表示されます。

Nginx で DDoS 攻撃を防ぐ方法

アクセスログを確認する

上記で設定したステータス ページを確認するときに異常なトラフィックに気付いた場合は、サーバーのアクセス ログを確認することをお勧めします。サーバーのアクセスログは「/var/log/nginx/access.log」で確認できます。ログには、使用された HTTP メソッド、アクセス試行の日時、ユーザー エージェント、およびアクセスされたページがリストされます。

Nginx で DDoS 攻撃を防ぐ方法

接続制限

DDoS 攻撃を防ぐための有効な戦術は数多くありますが、試してみる価値はあります。その中で、最も簡単で効果的な方法の 1 つは、受信トラフィックの速度を制限することです。

理想的には、妥当なレートを維持しながら、悪意のあるボットがサーバーに負荷をかけるのを防ぐのに十分なアクセスを制限する必要があります。 Nginx では、これはlimit_req_zoneおよびlimit_reqディレクティブを使用して実行できます次のコードは、サーバーが表示するように構成されている場所で使用するメモリと速度の制約を設定します。

limit_req_zone $binary_remote_addr zone=speedbump:10m rate=10r/s;

「ゾーン」は、ユーザー要求が保存されるメモリ空間の名前と容量 (この場合はメガバイト単位) を指定します。「レート」は、 Nginx が 1 秒あたりに受け入れるリクエストの合計数を設定します (この例では 10 リクエスト)。このコードをルールとして考えてください。次に、そのルールの使用法を示します。

limit_req zone=speedbump burst=20;

上記のコードは実際には、制限ルールを実装するだけではありません。また、正規の接続を適切に処理するために、最大 20 件のリクエストの小さなキューが追加されます。これは通常よりも少し速くレンダリングされ、ルールとキューの両方を超過して、クライアントに 503 エラーが発生します。両方のディレクティブは、nginx.conf では次のようになります。

Nginx で DDoS 攻撃を防ぐ方法

IPアドレスのブラックリストを作成する

サーバー上で DDoS 攻撃を実行しているIP アドレスを取得した場合は、それをブラックリストに登録し、この IP アドレスからの接続をすべて排除することができます。

次のコードをサーバー ディレクティブに追加します。

location / {
deny 123.123.123.0/28;
# ...
}

特定のファイルに対するリクエストをブロックする

DDoS 攻撃がサーバー上の特定のファイル (たとえば、WordPressxmlrpc.phpファイル(これはほとんどの WordPress サーバーで一般的に標的とされるファイルです) をターゲットにしている場合)、それらすべての要件をブロックできます。このコードをサーバー ディレクティブに追加します。

location /xmlrpc.php {
deny all;
}

上記のプロセスに従うことで、ほとんどの DDoS 攻撃を制限できるようになります。適用できる追加のセキュリティ オプションについては、Nginx のドキュメントを必ずご確認ください。

成功することを願っています。


Yahoo ツールバーと検索を完全に削除する方法。ヤフー。コム?

Yahoo ツールバーと検索を完全に削除する方法。ヤフー。コム?

Yahoo 検索は正規の検索エンジンです。ただし、ユーザーを検索にリダイレクトするブラウザ ハイジャッカーとも考えられます。ヤフー。コム。このブラウザ ハイジャッカーは、Web ブラウザのホームページと検索エンジンの設定をハイジャックして、以前に設定したホームページと検索エンジンの代わりに Yahoo 検索のホームページと検索エンジンを表示します。

Windows のタスクの終了機能について学習します。

Windows のタスクの終了機能について学習します。

タスクの終了は、Microsoft Windows タスク マネージャーの機能です。これは [アプリケーション] タブにあり、ユーザーは応答するプログラムまたは応答しないプログラムを閉じることができます。

Windows + V: 多くの Windows ユーザーが知らない便利なショートカット

Windows + V: 多くの Windows ユーザーが知らない便利なショートカット

他の多くのプラットフォームと同様に、Windows にも「クリップボード履歴」と呼ばれる特殊なクリップボード マネージャーがあります。

Windows 10 に macOS Big Sur/iOS 14 ウィジェットをインストールする方法

Windows 10 に macOS Big Sur/iOS 14 ウィジェットをインストールする方法

macOS Big Sur バージョンは、最近の WWDC カンファレンスで正式に発表されました。また、Rainmeter ツールを使用すると、macOS Big Sur のインターフェイスを Windows 10 に完全に持ち込むことができます。

RDStealer マルウェアからリモート デスクトップを保護する方法

RDStealer マルウェアからリモート デスクトップを保護する方法

RDStealer は、RDP サーバーに感染し、そのリモート接続を監視することで資格情報とデータを盗もうとするマルウェアです。

ファイルエクスプローラーに代わるWindows用の7つの最高のファイル管理ソフトウェア

ファイルエクスプローラーに代わるWindows用の7つの最高のファイル管理ソフトウェア

ファイル エクスプローラーに別れを告げ、サードパーティのファイル管理ソフトウェアを使用する時期が来たのかもしれません。ここでは、Windows ファイル エクスプローラーの代替となる 7 つの最良のツールを紹介します。

LoRaWAN はどのように機能しますか? IoT にとってなぜ重要なのでしょうか?

LoRaWAN はどのように機能しますか? IoT にとってなぜ重要なのでしょうか?

LoRaWAN (長距離ワイヤレス エリア ネットワーク) は、長距離にわたる低電力デバイス間の通信に役立ちます。

Windows 10 で詳細スタートアップ オプションを開く 8 つの方法

Windows 10 で詳細スタートアップ オプションを開く 8 つの方法

詳細スタートアップ オプションに移動すると、Windows 10 のリセット、Windows 10 の復元、以前に作成したイメージ ファイルからの Windows 10 の復元、起動エラーの修正、コマンド プロンプトを開いてオプションの実行、別のオプションの選択、UEFI 設定を開いて、スタートアップ設定の変更を行うことができます。 ..

ソーシャル ネットワーク アカウントでログインする前に慎重に検討する必要があるのはなぜですか?

ソーシャル ネットワーク アカウントでログインする前に慎重に検討する必要があるのはなぜですか?

新しいサービスにサインアップするたびに、ユーザー名とパスワードを選択するか、Facebook または Twitter でログインすることができます。しかし、それをすべきでしょうか?

Google DNS 8.8.8.8 および 8.8.4.4 の変更手順

Google DNS 8.8.8.8 および 8.8.4.4 の変更手順

DNS Google 8.8.8.8 8.8.4.4 は、特にネットワーク アクセスを高速化するため、またはブロックされた Facebook へのアクセスを目的として、多くのユーザーが使用することを選択する DNS の 1 つです。