ホームページ  >  記事  >  運用・保守  >  Nginx で安全な SSL 証明書トランスポートを構成する

Nginx で安全な SSL 証明書トランスポートを構成する

WBOY
WBOYオリジナル
2023-06-10 19:10:381801ブラウズ

インターネットの普及に伴い、ネットワーク セキュリティは重要なテーマとなり、人々の関心はますます高まっています。 SSL 証明書は、Web サイトのセキュリティを確保するための効果的な手段の 1 つです。一般的な Web サーバー ソフトウェアとして、Nginx は SSL プロトコルをサポートしており、SSL 証明書を構成して Web サイト通信プロセスのセキュリティを確保できます。この記事では、Nginx で安全な SSL 証明書の送信を構成する方法について詳しく説明します。

1. SSL 証明書の取得

SSL 証明書を設定する前に、まず証明書を取得する必要があります。一般に、SSL 証明書は認証局から購入することも、自分で生成することもできます。 SSL 証明書を購入すると、より信頼できる証明書が得られますが、手数料がかかります。自己生成証明書は無料で使用できますが、セキュリティは比較的低くなります。この記事ではLet's Encryptを例にSSL証明書の取得方法を紹介します。

  1. Certbot ツールのインストール

Certbot は、SSL 証明書を自動的に取得して構成できる自動 SSL 証明書管理ツールです。 Linux システムに Certbot をインストールする方法は次のとおりです。

Ubuntu の場合:

sudo apt-get install certbot python3-certbot-nginx

CentOS の場合:

sudo yum install certbot python3-certbot-nginx
  1. SSL 証明書を取得します

Certbot は、SSL 証明書を取得するタスクの自動実行をサポートしています。次のコマンドを実行するだけで済みます:

sudo certbot --nginx -d example.com

その中で、-d パラメーターの後に SSL 証明書を取得するドメイン名が続きます。を取得する必要があります。 Certbot は、Nginx 構成ファイルを手動で変更することなく、Nginx 構成ファイルを自動的に検出し、SSL 証明書をセットアップします。

2. SSL を有効にするために Nginx を構成する

SSL 証明書を取得した後、Nginx で SSL を有効にする必要があります。設定方法は次のとおりです。

  1. Nginx 設定ファイルを変更する

#Nginx 設定ファイル nginx.conf を開き、http ブロックを見つけて、次の内容を追加します。

http {
    #其他http配置

    server {
        listen 443 ssl;
        server_name example.com;

        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

        #其他配置
    }
}

そのうち、listen 443 ssl は HTTPS リクエストをリッスンすることを意味し、server_name はリッスンするドメイン名を構成し、ssl_certificate は SSL 証明書の公開キーを指定し、ssl_certificate_key は SSL 証明書の秘密キーを指定します。

  1. Nginx の再起動

構成が完了したら、Nginx サービスを再起動する必要があります。

Ubuntu の場合:

sudo service nginx restart

CentOS の場合:

sudo systemctl restart nginx

3. SSL 構成の最適化

SSL 証明書の構成に加えて、その他のセキュリティもあります。対策により SSL のセキュリティを強化できます。たとえば、安全でないプロトコルや暗号スイートなどの無効化は、Nginx 構成ファイルで構成できます。

ここでは、一般的な SSL 構成の最適化をいくつか示します:

  1. SSLv2 と SSLv3 を無効にする: SSLv2 と SSLv3 は安全ではないことが証明されているため、無効にする必要があります。次のコードを Nginx 構成ファイルに追加します。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  1. 強力な暗号スイートを使用する: より強力な暗号スイートを使用すると、SSL のセキュリティを向上させることができます。次のコードを Nginx 構成ファイルに追加します。
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256;
  1. OCSP Stapling を有効にする: OCSP Stapling は、SSL ハンドシェイク中のネットワーク遅延を削減し、SSL のパフォーマンスとセキュリティを向上させることができます。次のコードを Nginx 構成ファイルに追加します:
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 10s;

4. SSL セキュリティのテスト

SSL 構成が完了したら、オンライン SSL セキュリティ テスト ツールを使用して SSL をテストできます。セキュリティ テストを実行して、構成が正しく安全であることを確認します。 HTTPS サーバーのセキュリティを包括的にテストできる、Qualys SSL Labs が提供するオンライン テスト ツールを使用することをお勧めします。

上記の手順により、Nginx で安全な SSL 証明書の送信が正常に構成され、Web サイトの安全性と信頼性が向上しました。同時に、SSL 構成戦略を継続的に更新し、SSL セキュリティを強化することも重要です。読者の皆様が、自分の Web サイトのセキュリティを保護することにますます自信を持っていただけることを願っています。

以上がNginx で安全な SSL 証明書トランスポートを構成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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