無料のSSL証明書
WebサイトでHTTPSを有効にするには、認証局(CA)から証明書を取得する必要があります。 Let's EncryptはCAです...そして無料は常に良いです!
Let's Encryptは、非営利のInternet Security Research Group(ISRG)によって提供される、無料の自動化されたオープンな認証局です。
価格に加えて、このソリューションの魅力的な部分の1つは、証明書を取得するDNSドメインの所有権を証明する必要がないことです。そのホストを解決するDNS名がすでに存在する場合は、そのドメインとホスト名のSSL証明書を取得できます。独自のCAを使用する必要がある場合、これは実際には一部の組織にとって問題になる可能性があります。
そのホストへのsshアクセスとrootアクセスがある場合、 CertbotはLet'sEncryptを開始する最も簡単な方法です。 Webサイトの指示に従って、特定のOSにインストールします。ファイアウォール/セキュリティグループがポート80で着信トラフィックを許可していることを確認し、ポート80ですでにホストを実行している場合は、一時的にシャットダウンして次のコマンドを実行します。
sudo certbot certonly --standalone
Cerbotは、そのホストに関連付けられているDNS名を要求し、ポート80でリッスンするプロセスを開始します。サービスがインターネットからそのプロセスに到達できる場合、SSL証明書が発行されます。本当に簡単です!
☑クイックヒント、DNSにCloudflareを使用している場合は、必ず「プロキシ」モードをオフにしてください。オフにしないと、Cerbotがホストに到達できなくなります。
証明書を取得したら、Webサーバーが理解できる形式で証明書を連結する必要があります。この例では、サーバーとしてHAProxyを使用し、< your.dns.name >をDNSホスト名に置き換えます。
sudo mkdir -p / etc / haproxy / ssl /
sudo cat /etc/letsencrypt/live/your.dns.name/fullchain.pem \
/etc/letsencrypt/live/your.dns.name/privkey.pem \
| sudo tee /etc/haproxy/ssl/cert.pem
Let's Encryptの証明書は90日間有効なので、更新プロセスを処理する準備ができている必要があります。
これをテストするには、次を実行できます。
sudo certbot renew --dry-run
更新が成功した場合は、システムのcrontabファイルに次のエントリを追加できます。
crontab -e
43 6 * * * sudo certbot renew --deploy-hook
deploy-hookオプションを使用すると、Cerbotはスクリプトを実行できますが、証明書の更新が成功した場合に限ります。このスクリプトはカスタマイズできます。
sudo nano /etc/letsencrypt/renewal-hooks/deploy/start.sh
#!/ bin / sh
sudo cat /etc/letsencrypt/live/your.dns.name/fullchain.pem \
/etc/letsencrypt/live/your.dns.name/privkey.pem \
| sudo tee /etc/haproxy/ssl/cert.pem
sudo service haproxy restart
Tagged with:
encryption