ウェブサイト検索

Debian 10 で Apache の無料 SSL 証明書をセットアップする方法


サイバー攻撃や侵害が増大する中、自分自身とサイト訪問者をハッカーから守るためには、Web サイトのセキュリティを確保することが最優先事項となります。このチュートリアルでは、Debian 10 上の ApacheLet's Encrypt SSL を使用して無料 SSL 証明書をセットアップする方法を説明します。強い>。

Let’s Encrypt は Let’s Encrypt 機関によって作成された無料の SSL 証明書で、有効期限は 90 日間のみですが、いつでも更新できます。

SSL証明書とは何ですか?

先に進む前に、SSL 証明書とは何ですか? SSL 証明書は、ブラウザと Web サーバー間の通信を暗号化するデジタル証明書です。この暗号化により、Web サーバーに送信される情報がプライベートかつ機密であることが保証されます。 SSL 証明書は、電子商取引 Web サイト、銀行 Web サイト、およびPayPalPayoneerSkrillなどの送金/送金プラットフォームで一般的に使用されます。

自分のサイトが保護されていることをどうやって確認できますか?

次のスクリーンショットに示すように、SSL で保護されている Web サイトには、URL バーに南京錠の記号が表示され、その後に頭字語の https (HyperText Transfer Protocol Secure) が表示されます。

サイトが SSL 証明書で保護されていない場合、Google は URL の Web サイト アドレスの前に「安全ではありません」という警告を表示します。

前提条件

始める前に、次の要件が満たされていることを確認してください。

  1. Debian 10 Minimal Server の実行中のインスタンス。
  2. Debian 10 でドメインがセットアップされた Apache Web サーバーの実行中のインスタンス。
  3. Debian 10 の IP アドレスを指す A レコードを持つ登録済みの完全修飾ドメイン名 (FQDN) ドメイン プロバイダー上の Linux システム。

このチュートリアルでは、linux-console.net が IP アドレス 192.168.0.104 を指すようにしました。

ステップ 1: Debian 10 に Certbot をインストールする

まず、Debian 10 インスタンスに Certbot をインストールする必要があります。 Certbot は、EFF (Electronic Frontier Foundation) によるクライアント ソフトウェアであり、Let's Encrypt SSL を取得してセットアップします。ウェブサーバー。

これを実現するには、まずシステム リポジトリを更新します。

sudo apt update

次に、以下のコマンドを使用して Debian システムにリポジトリを追加します。

sudo apt install python-certbot-apache -t buster-backports

ステップ 2: ドメインの SSL 証明書を取得する

certbot クライアントのインストールに成功したら、次のコマンドを使用して Let’s Encrypt 証明書をインストールしましょう。

sudo certbot --apache -d your_domain -d www.your_domain

これにより、以下に示すように、すぐにメール アドレスが要求されます。

次に、利用規約に同意するよう求められます。 「A」と入力し、Enter キーを押します。

さらに、自分の電子メール アドレスを EFF 財団と共有し、その活動に関する最新情報を定期的に受け取ることに同意するかどうかを尋ねられます。 「Y」と入力し、Enter キーを押します。

その後、certbotLet's encrypt サーバーに接続し、リクエストしているドメインが登録済みの有効なドメインであることを確認します。

次に、すべてのリクエストをHTTPSにリダイレクトするかどうかを尋ねられます。 HTTP アクセスを暗号化しようとしているため、リダイレクトのために 2 を入力し、ENTER キーを押します。

最後に、すべてがうまくいけば、Web サーバーで HTTPS プロトコルが正常に有効になったことと、SSL 証明書の有効期限が切れたことを示す以下の通知が表示されます。

ステップ 3: ファイアウォールで HTTPS プロトコルを許可する

セキュリティ上の理由から常に推奨されているように、UFW ファイアウォールが有効になっている場合は、それを通過する HTTPS トラフィックを許可する必要があります。そうしないと、Web ブラウザーでサイトにアクセスできなくなります。

HTTPS はポート 443 で実行されるため、実行してポートを開きます。

sudo ufw allow 443/tcp

次に、ファイアウォールをリロードして変更を有効にします。

sudo ufw reload

変更が有効になっているかどうかを確認するには、以下のコマンドを実行してファイアウォールのステータスを確認します。

sudo ufw status

上記の出力からわかるように、ポート443が開かれています。

ステップ 4: ウェブサイトで HTTPS を確認する

すべての設定が完了し、ほこりがなくなったら、Web サーバーが https プロトコルを使用しているかどうかを確認します。 Web ブラウザにアクセスし、URL バーに Web サイトのドメイン名を入力し、その後に頭字語の https を入力します。

少し興味があり、SSL 証明書に関する詳細情報を確認したい場合は、 図に示されている南京錠の記号をクリックしてください。

プルダウン メニューで、「証明書」オプションが「有効」と表示されます。

さらに詳しい情報を確認するには、そのオプションをクリックしてください。ポップアップに証明書の発行者 (Let's Encrypt 機関)、発行日有効期限などの詳細がすべて表示されます。強い>。

https://www.ssllabs.com/ssltest/ でサイトの SSL 証明書をテストすることもできます。

ステップ 5: Certbot SSL 証明書の自動更新の確認

Certbot は、有効期限が切れる 30 日前に SSL 証明書を自動的に更新します。更新プロセスを確認するには、以下のコマンドを実行します。

sudo certbot renew --dry-run

以下の出力は、すべてが正常であり、90 日の有効期限が切れる前に SSL 証明書が自動更新されることを確認します。

結論

ついにこのチュートリアルも終わりに来ました。このチュートリアルでは、Let’s Encrypt 無料 SSL を使用して Apache Web サーバーを保護する方法を学びました。ご意見やご質問がございましたら、お気軽にお問い合わせください。