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 のドキュメントを必ずご確認ください。

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


Windows 10で欠落しているデフォルトの電源プランを復元する方法

Windows 10で欠落しているデフォルトの電源プランを復元する方法

このガイドでは、Windows 10でデフォルトの電源プラン(バランス、高パフォーマンス、省電力)を復元する方法を詳しく解説します。

Windows 10 で BlueStacks 5 の仮想化 (VT) を有効にする方法

Windows 10 で BlueStacks 5 の仮想化 (VT) を有効にする方法

仮想化を有効にするには、まず BIOS に移動し、BIOS 設定内から仮想化を有効にする必要があります。仮想化を使用することで、BlueStacks 5 のパフォーマンスが大幅に向上します。

WiFi接続に接続する際のドライバーの切断を修正

WiFi接続に接続する際のドライバーの切断を修正

WiFi 接続に接続するときにドライバーが切断されるエラーを修正する方法を解説します。

Windows での DIR コマンドの使用方法

Windows での DIR コマンドの使用方法

DIR コマンドは、特定のフォルダーに含まれるすべてのファイルとサブフォルダーを一覧表示する強力なコマンド プロンプト コマンドです。 Windows での DIR コマンドの使用方法を詳しく見てみましょう。

ソフトウェアを使わずに Windows 10 アプリをバックアップおよび復元する方法

ソフトウェアを使わずに Windows 10 アプリをバックアップおよび復元する方法

ソフトウェアなしで Windows 10 アプリをバックアップし、データを保護する方法を説明します。

Windows でローカル グループ ポリシー エディターを開くための 11 のヒント

Windows でローカル グループ ポリシー エディターを開くための 11 のヒント

Windows のローカル グループ ポリシー エディターを使用して、通知履歴の削除やアカウントロックの設定を行う方法を説明します。

最高の IP 監視ツール 10 選

最高の IP 監視ツール 10 選

重要なリソースを簡単に監視及び管理できる<strong>IP監視</strong>ソフトウェアがあります。これらのツールは、ネットワーク、インターフェイス、アプリケーションのトラフィックをシームレスに確認、分析、管理します。

AxCrypt ソフトウェアを使用してデータを暗号化する方法

AxCrypt ソフトウェアを使用してデータを暗号化する方法

AxCrypt は、データの暗号化に特化した優れたソフトウェアであり、特にデータ セキュリティに優れています。

Windows 10 Creators Updateのアップデート後にシステムフォントを変更する方法

Windows 10 Creators Updateのアップデート後にシステムフォントを変更する方法

システムフォントのサイズを変更する方法は、Windows 10のユーザーにとって非常に便利です。

Windows 10で機内モードをオフにできないエラーを修正する方法

Windows 10で機内モードをオフにできないエラーを修正する方法

最近、Windows 10にアップデートした後、機内モードをオフにできない問題について多くのユーザーから苦情が寄せられています。この記事では、Windows 10で機内モードをオフにできない問題を解決する方法を説明します。