GNU/Linux >> Linux の 問題 >  >> Debian

Debian10/11でSSLを暗号化してApache2を保護する

概要

次の投稿では、Debian 10でLet’s Encrypt SSLを使用してApache2を保護する方法を紹介します(この手順はDebian 11でも機能します)。この投稿では、Debianマシンにcertbotをインストールし、Let’s EncryptからSSL証明書を取得し、自動HTTPSリダイレクトを設定し、証明書の更新もテストする必要があるシナリオを紹介します。ここでは、ApacheがプリインストールされたDebianマシンがすでにあり、SSLを暗号化してApache2を保護する方法の手順を実行します。

要件

1.Debianサーバーを指すドメイン名を登録して有効にします。

2. Debian 10サーバー(またはDebian 11)

3.ApacheWebサーバーがインストールされて実行されている

4.ファイアウォール構成(HTTPおよびHTTPSポートを開く)

UFWまたはIPTABLESファイアウォールを使用している場合は、Webサイトをホストするだけでなく、HTTPおよびHTTPS用にポート80および443を開くように構成する必要があります

UFW

sudo ufw allow http
sudo ufw allow https

IPTABLES

sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

or

sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

DebianでSSLを暗号化してApache2を保護する

Certbotのインストール

SSL証明書とcertbot用のApache2プラグインを取得するために、Let’sEncryptツールのCerbotを使用します。どちらのツールも、証明書を非常に簡単かつ迅速に取得し、Apache2で必要な構成変更を行うのに役立ちます。さらに、ツールには自動化機能があるため、SSLの有効期限が切れると、証明書を更新して再度インストールできます。

sudo apt install certbot python3-certbot-nginx

注–コマンドを実行する前に、まずnginx構成ファイルに、サーバーを指定した実際のドメイン名をServerNameパラメーターに書き込む必要があります。 Certbotは、そのパラメーターのサーバーブロック構成を調べ、そのパラメーターに従って構成ファイルを暗号化しましょう。次の図の例:

sudo nano /etc/apache2/sites-available/000-default.conf

Let’sEncryptからSSL証明書を取得する

ファイアウォールのポートが開いていることを確認し、certbotのインストールを完了したら。 Let's EncryptからSSL証明書を取得するには、コマンドで実行する必要があります:

sudo certbot --apache -d yourdomain.com

このコマンドを実行すると、certbotウィザードが起動します。初めてcerbotを実行する場合は、最初に連絡先として使用するメールアドレスを提供し、Let’sEncryptのライセンス条項に同意するよう求められます。

その後、httpチャレンジを実行し、証明書を取得します。最後に、httpsリダイレクトをすぐに構成するかどうかを尋ねられます。これも良いオプションです。

リダイレクトの構成が完了するとすぐに、SSL証明書を使用する新しいドメインがすぐに機能するはずです。

自動更新の設定とテスト

証明書の暗号化はデフォルトで3か月間有効であり、証明書の有効期間が30日未満の場合、cerbotの自動更新は少なくとも1回は証明書を更新するように構成されています。 SSL証明書が取得され、有効でアクティブになったら、certbotのタイマーサービスがアクティブで実行されている場合は2倍にし、ドライランオプションを使用して更新プロセスをテストします。

sudo systemctl status certbot.timer

sudo certbot renew --dry-run

Apacheの構成を確認してください

cerbotがssl証明書とHTTPSリダイレクトの構成を正常に書き込んだ場合は、Apacheの構成を再確認できます。設定が完了すると、CerbotはApacheを再起動します。ドメイン/ウェブサイトを保護し、アクティブなSSLで実行する必要があります。

概要

要約すると、Debian10マシンとDebian11マシンでLet’sEncryptSSLを使用してApache2を保護する方法の手順を実行しました。 SSL証明書リクエストにはLet'sEncryptのcertbotツールを使用しました。これは自動更新です。 certbotとそのApacheプラグインのおかげで、プロセスは本当にシンプルで簡単で、すばやく完了できます。これに関する1つの提案は、let’s Encryptフォルダーのバックアップを作成し、頻繁にバックアップすることをお勧めします(certbot自体が提案しているように)。これはもちろんオプションであり、証明書の更新頻度をどのように設定したかによって異なります。

サービスを暗号化しましょう。無料でテクノロジーの世界で非常に人気がありますが、一部の種類のWebサイトを保護するための優れたオプションです。ただし、それらの無料の証明書は、例としてeコマースWebサイトで使用することや、非常に機密性の高いデータ(クレジットカードなど)を渡して保存する必要があるあらゆるタイプのサイトで使用することはお勧めしません。そのため、デフォルトでは、SSL証明書の更新時間を短くすることをお勧めします。


Debian
  1. Debian10/11でSSLを暗号化してNginxを保護する

  2. Debian10/11にNginxを使用してWordPressをインストールする

  3. NginxをSSLで保護し、FreeBSDで暗号化する方法

  1. CentOS7でLetsEncryptを使用してNginxを保護する

  2. Debian9でLetsEncryptを使用してApacheを保護する

  3. Debian9でLetsEncryptを使用してNginxを保護する

  1. Debian10LinuxでLetsEncryptを使用してNginxを保護する

  2. Debian10でLetsEncryptを使用してApacheを保護する

  3. Lets Encrypt and Secure Nginx with SSL/TLSをDebian9にインストールする