*は、保護された暗号化されたラッパーで通常のトラフィックをラップするために使用されるWebプロトコルです。このテクノロジーを使用すると、サーバーは、外部の第三者によってメッセージが傍受される可能性なしに、サーバーとクライアント間で安全にトラフィックを送信できます。証明書システムは、ユーザーが接続先のサイトのIDを確認するのにも役立ちます。Webサーバーで使用する自己署名SSL証明書をセットアップする方法を示します。+`特権で設定された非rootユーザーが必要です。7の初期サーバーセットアップに従って、このようなユーザーアカウントをセットアップする方法を学習できます。+`ユーザーとしてサーバーにログインします。Webサーバーがマシンにインストールされていることを確認する必要があります。Linuxの追加パッケージ)リポジトリには_あります_。次のように入力して、EPELリポジトリを有効にして、サーバーにNginxパッケージへのアクセスを許可できます。epel-release次に、次のように入力してNginxをインストールできます。nginx次のように入力して、Nginxサービスを開始します。nginx次のように入力して、サービスが稼働していることを確認します。systemd[1]:また、Nginxを有効にして、サーバーの起動時に起動するようにすることもできます。/usr/lib/systemd/system/nginx.service.次に、ファイアウォールでポート80および443へのアクセスをブロックしていないことを確認する必要があります。ファイアウォールを使用していない場合は、次のセクションに進んでください。*ファイアウォールを実行している場合は、次のように入力してこれらのポートを開くことができます。*ファイアウォールを実行している場合、実行する必要があるコマンドは現在のルールセットに大きく依存しています。基本的なルールセットの場合、次のように入力してHTTPおよびHTTPSアクセスを追加できます。ACCEPTこれで、Webブラウザを介してデフォルトのNginxページにアクセスできるはずです。SSLは、公開証明書と秘密キーの組み合わせを使用して機能します。SSLキーはサーバー上で秘密にされます。クライアントに送信されるコンテンツを暗号化するために使用されます。SSL証明書は、コンテンツを要求するすべてのユーザーと公開共有されます。関連するSSLキーで署名されたコンテンツを復号化するために使用できます。`ディレクトリは、サーバー上にすでに存在している必要があります。+`ディレクトリも作成しましょう。このキーの秘密はセキュリティに不可欠であるため、許可されていないアクセスを防ぐために権限をロックダウンします。/etc/ssl/privateこれで、次のように入力して、単一のコマンドでOpenSSLを使用して自己署名キーと証明書のペアを作成できます。/etc/ssl/certs/nginx-selfsigned.crt一連の質問が表示されます。それを説明する前に、発行しているコマンドで何が起こっているのか見てみましょう。*:これは、OpenSSL証明書、キー、およびその他のファイルを作成および管理するための基本的なコマンドラインツールです。*:このサブコマンドは、X.509証明書署名要求(CSR)管理を使用することを指定します。「X.509」は、鍵と証明書の管理のためにSSLおよびTLSが準拠している公開鍵インフラストラクチャ標準です。新しいX.509証明書を作成するため、このサブコマンドを使用しています。*:これは、通常のように証明書署名要求を生成するのではなく、自己署名証明書を作成することをユーティリティに伝えることにより、以前のサブコマンドをさらに変更します。*:これは、パスフレーズで証明書を保護するオプションをスキップするようOpenSSLに指示します。Nginxは、サーバーの起動時にユーザーの介入なしにファイルを読み取ることができる必要があります。パスフレーズは、再起動のたびにパスフレーズを入力する必要があるため、これが発生するのを防ぎます。-365日*:このオプションは、証明書が有効と見なされる期間を設定します。ここで1年間設定しました。*:これは、新しい証明書と新しいキーを同時に生成することを指定します。前の手順で証明書に署名するために必要なキーを作成しなかったため、証明書と共に作成する必要があります。+`部分は、2048ビット長のRSAキーを作成するように指示します。*:この行は、作成中の生成された秘密鍵ファイルを配置する場所をOpenSSLに指示します。*:これは、OpenSSLに、作成する証明書を配置する場所を伝えます。前述したように、これらのオプションはキーファイルと証明書の両方を作成します。証明書に情報を正しく埋め込むために、サーバーに関するいくつかの質問があります。プロンプトに適切に記入します。サーバーに関連付けられているドメイン名またはサーバーのパブリックIPアドレスを入力する必要があります。プロンプト全体は次のようになります。+`ディレクトリの適切なサブディレクトリに配置されます。Secrecy]の交渉に使用される強力なDiffie-Hellmanグループも作成する必要があります。これを行うには、次のように入力します。+」に強力なDHグループができます。これを設定で使用できます。手順3:SSLを使用するようにNginxを構成するCentOSのデフォルトのNginx構成はかなり構造化されておらず、デフォルトのHTTPサーバーブロックはメインの構成ファイル内にあります。+`で終わるファイルをチェックします。このディレクトリに新しいファイルを作成して、生成した証明書ファイルを使用してコンテンツを提供するサーバーブロックを構成します。その後、オプションでHTTP要求をHTTPSにリダイレクトするようにデフォルトのサーバーブロックを構成できます。+`ブロックを開くことから始めます。listen」ポートになります。+`は、証明書の生成時に共通名として使用したサーバーのドメイン名またはIPアドレスに設定する必要があります。+`ディレクティブを使用して、生成したSSLファイルの場所を設定します。/etc/ssl/certs/dhparam.pem;}次に、サイトのセキュリティを強化するSSLオプションを追加します。Elst]からの推奨事項です。このサイトは、一般的なソフトウェアの使いやすい暗号化設定を提供するように設計されています。[nginxの強力なSSLセキュリティ]を参照してください。変更が必要な構成がいくつかあります。+`ディレクティブに追加できます。このガイドではGoogleを使用しましたが、他の設定がある場合はこれを変更できます。["を読んでください。HSTSをプリロードするとセキュリティが向上しますが、誤って有効にしたり誤って有効にしたりすると、広範囲に及ぶ結果を招く可能性があります。このガイドでは、設定をプリロードしませんが、その意味を理解していることが確実な場合は変更できます。##################################}自己署名証明書を使用しているため、SSLステープルは使用されません。Nginxは単に警告を出力し、自己署名証明書のステープルを無効にして、正常に動作し続けます。最後に、サイトの残りのNginx設定を追加します。これは、ニーズによって異なります。この例では、デフォルトのロケーションブロックで使用されるディレクティブの一部をコピーします。これにより、ドキュメントルートといくつかのエラーページが設定されます。##################################}終了したら、保存して終了します。これにより、生成されたSSL証明書を使用してトラフィックを暗号化するようにNginxが構成されます。指定されたSSLオプションにより、最も安全なプロトコルと暗号のみが使用されます。この設定例は、デフォルトのNginxページを提供するだけなので、ニーズに合わせて変更することもできます。(オプション)HTTPからHTTPSへのリダイレクトを作成する現在の構成では、Nginxはポート443の要求に対して暗号化されたコンテンツで応答しますが、ポート80の要求に対しては暗号化されていないコンテンツで応答します。これは、当社のサイトが暗号化を提供しますが、その使用を強制しないことを意味します。これはいくつかのユースケースでは問題ないかもしれませんが、通常は暗号化を要求する方が良いです。これは、パスワードなどの機密データがブラウザとサーバー間で転送される可能性がある場合に特に重要です。`ディレクトリにファイルを追加することで、デフォルトのポート80サーバーブロックにディレクティブを簡単に追加できます。+`という新しいファイルを作成し、次のコマンドで編集用に開きます。/etc/nginx/default.d/ssl-redirect.conf次に、この行に貼り付けます。https://$host$request_uri/;完了したら、ファイルを保存して閉じます。これにより、ポート80(デフォルト)サーバーブロックのHTTPが構成され、着信要求が構成したHTTPSサーバーブロックにリダイレクトされます。ステップ4:Nginxの変更を有効にする変更を行ったので、Nginxを再起動して新しい構成を実装できます。ファイルに構文エラーがないことを確認する必要があります。これを行うには、次のように入力します。-tすべてが成功すると、次のような結果が得られます。successful最初の警告に注意してください。前述のように、自己署名証明書ではSSLステープルを使用できないため、この特定の設定では警告がスローされます。これは予想通りであり、サーバーは接続を正しく暗号化できます。出力が上記と一致する場合、構成ファイルに構文エラーはありません。Nginxを安全に再起動して、変更を実装できます。nginxNginxプロセスが再起動され、構成したSSL設定が実装されます。ステップ5:暗号化をテストするこれで、SSLサーバーをテストする準備が整いました。+」と入力してからサーバーのドメイン名またはIPを入力します。https://作成した証明書はブラウザの信頼できる認証局のいずれかによって署名されていないため、次のような恐ろしい警告が表示される可能性があります。[Nginx自己署名証明書の警告]これは予想される正常な動作です。証明書の暗号化の側面のみに関心があり、ホストの信頼性の第三者検証には関心がありません。[Nginx自己署名オーバーライド]あなたのサイトに連れて行く必要があります。ブラウザのアドレスバーを見ると、部分的なセキュリティの兆候が表示されます。これは、その上に「x」が付いたロック、または感嘆符が付いた三角形です。この場合、これは単に証明書を検証できないことを意味します。接続を暗号化しています。HTTP要求をHTTPSにリダイレクトするようにNginxを構成した場合、リダイレクトが正しく機能するかどうかも確認できます。http://これが同じアイコンになる場合、これはリダイレクトが正しく機能したことを意味します。結論クライアント接続に強力な暗号化を使用するようにNginxサーバーを構成しました。これにより、リクエストを安全に処理できるようになり、外部の関係者がトラフィックを読み取れなくなります。