ホームページ  >  記事  >  運用・保守  >  Nginx リバースプロキシはボット攻撃から保護します

Nginx リバースプロキシはボット攻撃から保護します

王林
王林オリジナル
2023-06-10 19:48:081398ブラウズ

インターネット技術の発展に伴い、Web 攻撃の防止が Web サイトのセキュリティにおける重要な問題となっています。自動化された攻撃ツールとして、ボットは Web 攻撃の主要な形式の 1 つとなっています。特に、リバース プロキシを介して機能する Nginx は、その効率性、安定性、柔軟性、カスタマイズ性により広く使用されています。この記事では、Nginx リバース プロキシでのボット攻撃に対する効果的な予防策をいくつか紹介します。

1. アクセス ログを有効にする

Nginx は、各リクエストの HTTP プロトコル、ソース IP、リクエスト時間、レスポンス ステータス コードなどの情報を記録できるアクセス ログ機能を提供します。アクセスログを有効にすると、ボット攻撃を検出しやすくなります。

Nginx 構成ファイルに次の内容を追加します:

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    ……
}

2. 制限付き IP を追加します

Nginx 構成ファイルに IP を制限する方法を追加して、特定の地域の IP アドレスを効果的に防止します。 IP攻撃。たとえば、次の内容を追加すると、中国本土からの攻撃を防ぐことができます:

http {
    deny   61.135.0.0/16;
    deny   118.25.0.0/16;
    ……
}

3. GeoIP モジュールを使用する

Nginx の GeoIP モジュールは、アクセス ソース IP とその地理的位置を照合できます。 GeoIP モジュールと GeoIP ライブラリをインストールし、GeoIP 変数を使用して IP 発信元領域を検出するだけです。例:

http {
    geoip_country /usr/share/GeoIP/GeoIP.dat;
    geoip_city    /usr/share/GeoIP/GeoIPCity.dat;

    server {
        location / {
            if ($geoip_country_code = CN) {
                return 403;
            }

            if ($geoip_city_name ~* "moscow") {
                return 403;
            }
        }
    }
}

4. HTTP リファラー検証の追加

HTTP リファラーは、リクエストのソースを検証するために使用できます。次の内容を Nginx 設定ファイルに追加するだけです:

http {
      server {
            if ($http_referer ~* (blacklist1|blacklist2|blacklist3)) {
                    return 403;
            }
      }
}

5. Nginx を使用して CC 攻撃を防ぐ

Nginx は CC 攻撃を防ぐための機能をいくつか提供します。 Nginx 設定ファイルに設定するだけです:

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

      server {
            location / {
                  limit_req zone=one burst=5;
                  ……
            }
      }
}

6. SSL 証明書を有効にする

SSL 証明書を有効にすることで、HTTP でのデータ盗難や中間者攻撃を防ぐことができます。プロトコルレベル。同時に、HTTP Strict Transport Security (HSTS) メカニズムを有効にして、HTTP リクエストが強制的に HTTP リクエストに変換されるのを防ぐことができ、これにより、将来的にはすべてのアクセスが HTTPS 経由でアクセスできるようになります。

http {
      server {
            listen 443 ssl;

            ssl_certificate /path/to/cert;
            ssl_certificate_key /path/to/key;

            add_header Strict-Transport-Security "max-age=315360000; includeSubDomains; preload;";
      }
}

概要

Nginx リバース プロキシ サーバーのセキュリティは、Web アプリケーション システム全体のセキュリティに直接影響します。ボット攻撃の場合は、アクセス ログをオンにする、制限付き IP を追加する、GeoIP モジュールを使用する、HTTP リファラー検証を追加する、Nginx を使用して CC 攻撃を防止する、SSL 証明書を有効にするなどにより、Nginx リバース プロキシ サーバーが偽のリクエストを回避し、悪意のある攻撃を防止し、Web アプリケーション システムのセキュリティを保護します。

以上がNginx リバースプロキシはボット攻撃から保護しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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