セットアップでUbuntu 16.04のNginxで暗号化できる

Let's Encryptは、自動クライアントで無料のSSL証明書を提供する認証局(CA)です。Let's Encrypt SSL証明書を使用すると、Webサイトと訪問者間のトラフィックを暗号化できます。プロセス全体がシンプルで、更新を自動化できます。また、証明書のインストールまたは更新によってダウンタイムが発生することはありません。

このチュートリアルでは、Certbotを使用してSSL証明書を取得、インストールし、自動的に更新します。CertbotはElectronic Frontier Foundation(EFF)によって積極的に開発されており、Let's Encryptの推奨クライアントです。

前提条件

  • Ubuntu 16.04を実行するVultrインスタンス
  • サーバーを指す登録済みドメイン名
  • Nginx

Certbotをインストールする

Let's Encrypt SSL証明書を取得するには、サーバーにCertbotクライアントをインストールする必要があります。

リポジトリを追加します。ENTER受け入れるように求められたら、キーを押します。

add-apt-repository ppa:certbot/certbot

パッケージリストを更新します。

apt-get update

CertbotとCertbotのNginxパッケージをインストールして続行します。

apt-get -y install python-certbot-nginx

Nginxの構成

CertbotはNginxのSSLを自動的に構成しますが、そのためには、Nginx構成ファイルでサーバーブロックを見つける必要があります。これはserver_name、構成ファイルのディレクティブを、証明書を要求しているドメイン名と照合することによって行われます。

デフォルトの構成ファイルを使用して/etc/nginx/sites-available/defaultいる場合は、などのテキストエディターでファイルを開きnanoserver_nameディレクティブを見つけます。下線を_独自のドメイン名に置き換えます。

nano /etc/nginx/sites-available/default

設定ファイルを編集すると、server_nameディレクティブは次のようになります。この例では、ドメインがexample.comであり、example.comとwww.example.comの証明書を要求していると想定しています。

server_name example.com www.example.com;

編集の構文を確認して続行します。

nginx -t

構文が正しい場合は、Nginxを再起動して新しい構成を使用します。エラーメッセージが表示された場合は、構成ファイルを再度開き、タイプミスがないか確認してから、再試行してください。

systemctl restart nginx

Let's Encrypt SSL証明書の取得

次のコマンドは、証明書を取得します。Nginxの設定を編集して使用し、Nginxをリロードします。

certbot --nginx -d example.com -d www.example.com

追加のドメインのSSL証明書をリクエストすることもできます。「-d」オプションを何度でも追加できます。

certbot --nginx -d example.com -d www.example.com -d example.net -d example.net

Let's Encryptから証明書を自動的にインストールせずに取得するだけの場合は、次のコマンドを使用できます。これにより、Nginx構成が一時的に変更されて証明書が取得され、証明書がダウンロードされると元に戻ります。

certbot --nginx certonly -d example.com -d www.example.com

Certbotを初めて実行する場合は、電子メールアドレスを入力して利用規約に同意するように求められます。このメールアドレスは、更新およびセキュリティ通知に使用されます。メールアドレスを入力すると、CertbotはLet's Encryptに証明書をリクエストし、チャレンジを実行して、問題のドメインを制御していることを確認します。

CertbotがSSL証明書を取得できる場合は、HTTPS設定の構成方法を尋ねられます。保護されていない接続を介してWebサイトにアクセスする訪問者をリダイレクトするか、保護されていない接続を介してアクセスを許可することができます。これにより、訪問者がSSLで保護されたバージョンのWebサイトにのみアクセスできることが保証されるため、通常はこれを有効にしてください。選択肢を選択して、を押しENTERます。

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

最後に、Certbotはプロセスが成功したことと、証明書が保存されている場所を確認します。これで証明書がダウンロードおよびインストールされました。

更新の自動化

Let's Encryptは無料の認証局であり、ユーザーに更新プロセスの自動化を促すため、証明書は90日間のみ有効です。証明書ボットは証明書の自動更新を処理します。これは、をcertbot renew介して1日に2回実行することによって行われsystemdます。

このコマンドを実行すると、自動更新が機能していることを確認できます。

certbot renew --dry-run

次のコマンドを実行して、いつでも手動で証明書を更新することもできます。

certbot renew

強化された構成

上記のコマンドは、ほとんどの場合に適した構成でSSL証明書を取得してインストールします。Webサイトに高度なセキュリティ対策を実装する場合は、次のコマンドを使用して証明書を取得できます。

certbot --nginx --rsa-key-size 4096 --must-staple -d example.com -d www.example.com

--rsa-key-size 4096代わりに、より安全な2048ビット鍵、4096ビットのRSAキーを使用します。これの欠点は、キーが大きくなると、パフォーマンスのオーバーヘッドがわずかに発生することです。さらに、古いブラウザとデバイスは、4096ビットのRSAキーをサポートしていない場合があります。

--must-staple証明書にOCSPをしなければならないのステープルの拡張子を追加し、OCSPのステープル用のnginxのを構成します。この拡張機能により、ブラウザーは証明書が取り消されておらず、信頼できることを確認できます。ただし、すべてのブラウザがこの機能をサポートしているわけではありません。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。