2026年7月22日
2026年7月22日
Let’s EncryptでSSL証明書を取得する方法(certbot)
はじめに
本記事では、Let's Encryptを使用して無料のSSL証明書を取得し、Linuxサーバーの安全性を高める方法について解説します。SSL/TLS証明書は、ウェブサイトの通信を暗号化することで、ユーザー情報の漏洩や改ざんから保護します。また、SEOにおいても利点があり、多くの検索エンジンがHTTPSサイトを優遇しています。
症状・背景
Let's Encryptを使用する主な理由として以下のような場面があります:
- コスト削減: 有料のSSL証明書は高い費用がかかりますが、Let's Encryptは無料で利用できます。
- 自動更新: Let's Encryptは定期的に証明書を更新し、セキュリティ上の脆弱性に対応します。
- 信頼度: Let's Encryptが提供する証明書は多くのウェブブラウザで認証されており、ユーザーからの信頼を高めます。
手順・設定方法
ステップ1: certbotのインストール
# apt-getを使用してcertbotをインストールします。
sudo apt-get update
sudo apt-get install certbot python3-certbot-apache # Apacheを使用する場合
ステップ2: SSL証明書の取得とインストール
# Let's EncryptからSSL証明書を取得します。対象となるドメインにアクセスできるようにします。
sudo certbot --apache -d example.com -d www.example.com
# 以下の手順に従って認証情報を入力します。
# DNS認証やメール認証が必要な場合があります。
# 設定が完了すると、certbotはApacheの設定ファイルを更新し、SSL/TLS証明書をインストールします。
ステップ3: オートレブリング設定
# certbotのオートレブリング機能を使用して、証明書が有効期限切れになった際に自動で再取得できます。
sudo ln -s /usr/bin/certbot /etc/cron.d/certbot-auto-renew # cronジョブを作成します。
# 毎月1日に証明書を更新するように設定します。
0 0 1 * * root test -x /usr/bin/certbot && certbot renew
ステップ4: 実践/トラブルシュート/監視
# 証明書の有効期限を確認します。
sudo certbot certificates
# クラッシュやエラーが発生した場合、ログファイルを確認します。
sudo tail -f /var/log/apache2/error.log
注意事項
- ドメイン所有者の証明: ドメインの所有者であることを証明するための認証が必要です。DNS認証かメール認証を使用します。
- パフォーマンス: SSL/TLS設定を追加すると、サーバーの負荷が増える可能性があります。必要に応じて最適化を行ってください。
- セキュリティ上の注意: Let's Encryptは信頼できるサービスですが、重要なデータを扱う場合には他の認証方法も検討することをお勧めします。
まとめ
1. certbotのインストール: apt-getを使用して certbot をインストールします。
2. SSL証明書の取得: certbotコマンドで SSL 証明書を取得します。
3. オートレブリング設定: cronジョブを作成して定期的に再発行を行います。
4. 実践と監視: 有効期限切れや問題が発生した場合の対処方法を確認します。
関連記事: