このチュートリアルでは、Secure Sockets Layer(SSL)証明書をインストールしてUbuntu18.04でApacheWebサーバーを保護する方法を示します。現在、Webサーバーへの暗号化された接続を有効にすることは、Webサイトに安全なHTTPSプロトコルを使用できるようにするための基本です。
これを行うには、必要なセキュリティ基準に完全に準拠した無料の証明書を発行する認証局であるLet'sEncryptが使用されます。 Let's Encryptは、セキュリティ証明書をインストールするプロセスを簡素化し、経験の浅いユーザーでもCertbotクライアントを使用してWebサイトを保護できるようにします。
最初に、SSH接続を介してサーバーに接続します。まだ行っていない場合は、SSHプロトコルで安全に接続するために、ガイドに従うことをお勧めします。ローカルサーバーの場合は、次の手順に進み、サーバーのターミナルを開きます。
CertBotのインストール
Certbotリポジトリを追加します。
$ sudo add-apt-repository ppa:certbot/certbot
この時点で、aptを使用してCertbotをインストールします:
$ sudo apt install python-certbot-apache
インストールが完了したら、ファイアウォールの構成に進むことができます。
システムにファイアウォールがある場合は、マシンへのHTTPトラフィックとHTTPSトラフィックを有効にするように設定します。
UFWファイアウォールを使用する場合、プリインストールされたプロファイルがApacheで利用可能になります。それでは、それらを有効にする方法を見てみましょう。
UFWファイアウォールにインストールされている利用可能なプロファイルを確認するには、次のコマンドを実行します。
$ sudo ufw app list
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
HTTP(ポート80)およびHTTPS(ポート443)トラフィックを許可するには、「ApacheFull」プロファイルを使用します。
$ sudo ufw app info "Apache Full"
Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.
Ports:
80,443/tcp
プロファイルを確認した後、有効にすることができます:
$ sudo ufw allow in "Apache Full"
SSL証明書の作成
この時点で、以前にインストールしたCertbotを使用して保護するドメインの証明書を要求します。
TUODOMINIO.ITを保護するドメイン名に置き換えます:
$ sudo certbot --apache -d TUODOMINIO.IT -d www.TUODOMINIO.IT
N.B。 --apacheという表現はApacheプラグインを使用するCertbotを指定し、--dという表現は証明書が使用されるドメイン名を示します。
この時点で、メールアドレスを指定し、利用規約に同意して、接続をHTTPS接続にリダイレクトするかどうかを指定します。
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - No further changes to the webserver configuration.
2: Redirect - To redirect all requests to secure HTTPS access. Choose this option fornew websites, 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):
N.B。サイトにすでにCMSまたはスクリプトがある場合は、トラフィックをリダイレクトする前に、ガイドに従って、HTTPS接続と互換性があるかどうかを確認することをお勧めします。
選択した番号に対応する番号を入力し、手順が成功した場合は入力します。画面に確認メッセージが表示されます。
Let's EncryptのSSL証明書は90日間有効で、その後更新する必要があります。 Certbotは証明書の自動更新も処理しますが、手順が正しく機能することを確認するために、ガイドに従って、この方法で証明書を手動で更新することをお勧めします。
$ sudo certbot renew --dry-run
エラーが表示されない場合、更新は成功しています。それ以外の場合は、証明書の有効期限が近づくと、証明書の作成時に入力したアドレスに電子メールが送信されます。