ホームページ >運用・保守 >Nginx >Nginx の SSL/TLS セキュリティ構成のベスト プラクティス

Nginx の SSL/TLS セキュリティ構成のベスト プラクティス

王林
王林オリジナル
2023-06-10 11:36:552599ブラウズ

Nginx は、SSL/TLS プロトコルを通じてネットワーク通信のセキュリティを確保する、広く使用されている HTTP サーバーおよびリバース プロキシ サーバーです。この記事では、サーバーのセキュリティをより確実に確保するために役立つ、Nginx SSL/TLS セキュリティ構成のベスト プラクティスについて説明します。

1. 最新バージョンの Nginx と OpenSSL を使用する

最新バージョンの Nginx と OpenSSL には、最新のセキュリティ修正と更新が含まれています。したがって、最新バージョンの Nginx と OpenSSL を確実に使用することが、サーバーのセキュリティを確保するための基本的な手段となります。

2. 強力なパスワードを使用して秘密キーと証明書を生成する

SSL 証明書と秘密キーを生成するときは、強力なパスワードが使用されていることを確認する必要があります。強力なパスワードは秘密キーと証明書のセキュリティを大幅に向上させ、ハッカーの攻撃を防ぐこともできます。たとえば、openssl ツールを使用して 2048 ビット RSA 秘密キーを生成できます。

openssl genrsa -out key.pem 2048

同様に、パスワードを生成するときにパスワードを追加する必要があります。証明書要求:

openssl req -new -key key.pem -out csr.pem

3. 弱い暗号化アルゴリズムの使用を禁止します

SSL/TLS プロトコルはサポートしています複数の暗号化アルゴリズム(DES、RC4 などを含む)ただし、一部の暗号化アルゴリズムには欠陥があり、壊れていることが判明しています。したがって、サーバーのセキュリティを確保するには、これらのすでに安全ではない暗号化アルゴリズムの使用を禁止する必要があります。次の構成を使用して、弱い暗号化アルゴリズムの使用を禁止できます:

ssl_ciphers HIGH:!aNULL:!MD5;

4. Strict-Transport-Security (STS) を有効にする

STS を有効にすると、中間者攻撃やトラフィックの復号化の試みから保護されます。 STS は、HTTPS 接続を通じてのみ Web サイトにアクセスするようにブラウザーに指示します。ブラウザーは、Web サイトが HTTP 接続を通じてアクセスされたことを検出すると、自動的に HTTPS にリダイレクトします。 STS は、次の構成を通じて有効にできます:

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

5. HTTP 公開キーのピンニングを有効にする

SSL/TLS プロトコルはますます安全になっていますが、公開キー固定化攻撃は依然として存在します。公開キー ピンニング攻撃の原理は、ハッカーが Web サイトの公開キーを取得して変更し、ブラウザに接続が安全であると誤って認識させることです。この攻撃は、HTTP 公開キーの固定を有効にすることで保護できます。次の設定を使用して HTTP 公開キーの固定を有効にできます:

add_header Public-Key-Pins 'pin-sha256="base64 Primary=="; pin-sha256="base64 Backup=="; max-age" =5184000; includeSubDomains';

6. OCSP Stapling を有効にする

OCSP Stapling は、OCSP 応答をキャッシュすることでサーバーへの負荷を軽減し、OCSP サーバーで費やされる時間を短縮するセキュリティ機能です。応答時間により、サーバーの応答速度とセキュリティが向上します。次の設定を使用して OCSP Stapling を有効にできます:

ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /path/to/ocsp.crt;
resolver 8.8.8.8;
resolver_timeout 10 秒 ;

7. SSL v3.0 プロトコルの使用は禁止されています

SSL v3.0 プロトコルには多くのセキュリティ上の脆弱性があり、安全ではないことが証明されています。したがって、サーバーのセキュリティを確保するには、SSL v3.0 プロトコルの使用を禁止する必要があります。次の設定を使用して、SSL v3.0 プロトコルの使用を禁止できます:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

summary

SSL/TLSプロトコルはネットワーク通信のセキュリティを確保するためのものです。Nginx の SSL/TLS セキュリティ構成の基礎は非常に重要です。適切な構成により、サーバーのセキュリティを向上させ、ハッカーの攻撃を防ぐことができます。この記事では、Nginx の SSL/TLS セキュリティ構成のベスト プラクティスを紹介し、読者の役に立つことを願っています。

以上がNginx の SSL/TLS セキュリティ構成のベスト プラクティスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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