Nginx は、強力な Web サーバー、リバース プロキシ サーバー、およびロード バランサーです。その高性能と幅広いアプリケーションにより、多くのインターネット企業、サイト、アプリケーションにとって最初の選択肢となっています。しかし、その複雑さと人気のため、Nginx は多くのハッカー攻撃の標的にもなっています。 Web アプリケーションとサーバーを保護するには、いくつかの基本的な Nginx セキュリティ対策を講じる必要があります。
1. ファイアウォールを有効にする
ファイアウォールは、Web アプリケーションとサーバーの防御の最前線です。ファイアウォールを使用して、不正なアクセスや攻撃を防ぎます。 Nginx を使用する場合は、iptables や firewalld などのファイアウォール ソフトウェアを使用し、Web アプリケーションやサーバーにアクセスする IP アドレスとポートを制限するルールを構成することをお勧めします。
2. 不要な HTTP メソッドを無効にする
Nginx は、PUT、DELETE、TRACE などの安全でないメソッドを含むすべての HTTP メソッドをデフォルトで有効にします。攻撃者はこれらのメソッドを悪用して、悪意のあるファイルのアップロードや機密ファイルの読み取りなどの不正なアクションを実行する可能性があります。これを防ぐために、不要な HTTP メソッドを無効にし、GET メソッドや POST メソッドなど必要なメソッドのみを許可することをお勧めします。次のディレクティブを Nginx 設定ファイルで使用できます:
if ($request_method !~ ^(GET|POST)$ ) { return 444; }
これにより、GET と POST を除くすべての HTTP メソッドが無効になり、444 エラーが返されます。
3. SSL/TLS 暗号化通信を使用する
SSL/TLS 暗号化通信を使用すると、Web アプリケーションとサーバーをデータ漏洩や中間者攻撃から保護できます。 Let's Encryptなどの無料SSL証明書を利用してSSL/TLS暗号化通信を実現できます。 Nginx 設定ファイルでは、SSL を有効にする次のディレクティブを設定できます:
listen 443 ssl; ssl_certificate /path/to/cert; ssl_certificate_key /path/to/key;
これにより、SSL/TLS 暗号化された送信が有効になり、SSL 証明書と秘密キーへのパスが指定されます。
4. 同時接続の制限
攻撃者は、大量のリクエストを送信してサーバー リソースを占有し、その結果サービスが利用できなくなる可能性があります。これを防ぐには、Nginx の limit_conn モジュールを使用して同時接続数を制限します。 Nginx 設定ファイルでは、次のディレクティブを設定して同時接続の数を制限できます:
http { limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m; server { limit_conn conn_limit_per_ip 10; ... } }
これにより、同時接続の数が IP アドレスごとに 10 に制限されます。
5. サーバーのバージョン情報をシールドする
攻撃者はサーバーのバージョン情報を使用して、脆弱性がある可能性のあるサーバーのバージョンを見つけ、これらの脆弱性を攻撃に悪用しようとする可能性があります。これを防ぐために、Nginx サーバーのバージョン情報をマスクできます。 Nginx 設定ファイルでは、サーバーのバージョン情報をマスクする次のディレクティブを設定できます:
server_tokens off;
これにより、HTTP 応答ヘッダー内のサーバーのバージョン情報が非表示になります。
概要
Nginx は、強力な Web サーバー、リバース プロキシ サーバー、およびロード バランサーであり、その高性能と幅広いアプリケーションにより、多くのインターネット企業、サイト、アプリケーションで好まれる選択肢となっています。選択。ただし、その複雑さと人気のため、Web アプリケーションとサーバーを保護するためにいくつかの基本的なセキュリティ対策を講じる必要があります。上記では、ファイアウォールの有効化、不要な HTTP メソッドの無効化、SSL/TLS 暗号化通信の使用、同時接続の制限、サーバーのバージョン情報のブロックなど、いくつかの基本的な Nginx セキュリティ対策を紹介します。これらの対策を講じることで、Web アプリケーションとサーバーのセキュリティを向上させ、データとビジネスを効果的に保護できます。
以上がNginxの基本的なセキュリティ対策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。