ホームページ  >  記事  >  運用・保守  >  Nginx の基本セキュリティ: HTTP スキャンとブルート フォース攻撃の防止

Nginx の基本セキュリティ: HTTP スキャンとブルート フォース攻撃の防止

WBOY
WBOYオリジナル
2023-06-10 14:18:112340ブラウズ

インターネットの発展に伴い、ネットワーク セキュリティの問題はますます注目を集めています。 Web サイト管理者にとって、Web サイトのセキュリティを保護することは不可欠なタスクとなっています。 HTTP スキャンやブルート フォース攻撃は現在一般的な攻撃手法の 1 つであり、いずれも注意が必要です。

Web サイトのセキュリティを確保するために、多くの Web サイト管理者は Web サーバーとして Nginx を使用します。 Nginx は、大量の同時リクエストをサポートするだけでなく、HTTP ファイアウォールを構成して、HTTP スキャンやブルート フォース攻撃から Web サイトを保護することもできます。

HTTP スキャン攻撃

HTTP スキャンは受動的攻撃であり、攻撃者は Web サイトの弱点を見つけるために大量の HTTP リクエストを送信します。攻撃者は、Web サイト上の開いているポートやサービスをスキャンし、脆弱性の検出と攻撃を実行します。

Web サイトを HTTP スキャン攻撃から保護するには、次の措置を講じることができます:

1. 不要な HTTP メソッドを無効にする

Nginx は、デフォルトですべての HTTP メソッドを有効にします。取得、投稿、配置、削除など。実際、多くの場合、GET メソッドと POST メソッドを有効にするだけで済みます。したがって、管理者は不要な HTTP メソッドをオフにすることをお勧めします。Nginx 構成ファイルに次の構成を追加できます:

http {
  # 禁用PUT, DELETE等方法 
  if ($request_method !~ ^(GET|POST)$) {
    return 405;
  }
}

2. HTTP リクエストの頻度を制限する

攻撃者は送信を継続します。ホームページ作成リクエストの負荷が増大し、他の一般ユーザーからのリクエストに応答できなくなります。この状況を回避するために、HTTP リクエストの頻度に制限を設定できます。つまり、一定期間内の特定の IP アドレスに対するリクエストの数を制限します。

ngx_http_limit_req モジュールを使用して、クライアント IP アクセス頻度を制限します。

まず、http ブロックで limit_req_zone を定義し、req_zone という名前の共有メモリを定義し、キー サイズを 10k に設定し、リクエスト頻度を 10 回/秒に制限します。

http {
  limit_req_zone $binary_remote_addr zone=req_zone:10k rate=10r/s;
}

次に、保護するサーバーまたはロケーション ブロックに次の構成を追加します。

server {
  limit_req zone=req_zone burst=5 nodelay;
}

IP が 10 秒以内に 10 リクエストを超えると、リクエスト制限に達したため、サーバー A 503 Service Unavailable のエラーコードが返されるため、アクセス頻度が制限されます。

ブルート フォース攻撃

ブルート フォース攻撃は、攻撃者が多数のユーザー名とパスワードの組み合わせを使用してシステムまたはアプリケーションへのアクセスを試みる積極的な攻撃です。パスワードが十分に強力でない場合、攻撃者がアカウントのパスワードを解読してシステムを乗っ取ることができる可能性があります。

ブルート フォース攻撃を回避するために、次の手段を使用できます:

1. HTTPS プロトコルを使用します

HTTPS プロトコルは、TLS/SSL プロトコルを介して送信を暗号化して、セキュリティを向上させることができます。データの送信 セキュリティにより、攻撃者がユーザーのアカウントのパスワードを取得することは不可能になります。 HTTPS プロトコルの使用は、機密データの送信を保護するための最も基本的かつ効果的な手段です。

2. 強力なパスワードを使用する

強力なパスワードを使用すると、悪意のある攻撃者のクラッキング成功率が大幅に低下する可能性があります。パスワードが長く複雑であればあるほど、解読は難しくなります。管理者はユーザーに強力なパスワードを使用することを奨励し、パスワード ポリシーを使用して弱いパスワードの使用を制限する必要があります。

3. ログイン試行回数に制限を設ける

攻撃者は、正しいログインの信頼度を得るまで、異なるユーザー名とパスワードを使用して複数回ログインを試行します。管理者は、システムのセキュリティを保護するために特定のルールに従ってログイン試行回数を制限できるfail2banなど、ログイン試行回数を制限するモジュールを構成できます。

まとめ

Webサイトのセキュリティを守ることは非常に重要であり、Nginxは高性能WebサーバーとしてWebサイトのセキュリティを確保するための強力な機能を備えています。上記の対策を使用すると、HTTP スキャンとブルート フォース攻撃を効果的に防止でき、管理者が Web サイトをより適切に保護できるようになります。

以上がNginx の基本セキュリティ: HTTP スキャンとブルート フォース攻撃の防止の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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