Rocky Linux 9 一覧へ戻る トップRocky Linux 9 / SSL証明書とLet's Encrypt完全理解ガイド
Rocky Linux 9 ・ Mail Server ・ 概念解説

📘 SSL証明書とLet's Encryptの完全理解ガイド

「証明書とは何か」から自動更新の仕組みまで、暗号化通信の裏側を理解する

Certbot fullchain.pem / privkey.pem

目次

  1. 1. そもそも「証明書」とは何か?
  2. 2. なぜ「Let's Encrypt」を使うのか?
  3. 3. なぜ取得時に「80番ポート」を開ける必要があるのか?
  4. 4. 取得したファイルの正体
  5. 5. メールサーバーでの読み込み(SSLの確立)
  6. 6. 自動更新の仕組み(運用と保守)
  7. 管理者としての「復習ポイント」
  8. コマンド早見表
  9. 実機で確認した設定状況

1. そもそも「証明書」とは何か?

インターネットの世界における「サーバーの身分証明書」です。サーバーと通信する際、あなたは「本当に your-domain.mydns.jp に繋がっているのか?偽のサーバーじゃないか?」を判断する必要があります。

用語意味
証明書「このサーバーは間違いなく your-domain.mydns.jp です」ということを、第三者機関(認証局)が保証してくれるパスポートのようなものです。
SSL/TLS証明書を使って「暗号化された安全なトンネル」を作る技術の名称です。

2. なぜ「Let's Encrypt」を使うのか?

以前は、この証明書を高いお金(年間数万円など)を払って取得していました。Let's Encrypt は、「インターネットを安全にするために、自動的・無料で証明書を発行する」という画期的な非営利プロジェクトです。

3. なぜ取得時に「80番ポート」を開ける必要があるのか?

ここが一番の「論理的プロセス」です。証明書を発行する Let's Encrypt サーバーは、「本当にあなたがそのドメインの持ち主か?」を疑います。そこで行われるのが「所有権の証明(チャレンジ)」です。

1. 申請: あなたのサーバーが「your-domain.mydns.jp の証明書をください」と言う │ ▼ 2. 試練: Let's Encryptは「では、あなたのサーバーにある特定のファイル (または特定のページ)に、外部からアクセスできるかテストするよ」と答える │ ▼ 3. 証明: あなたのサーバー(Certbot)は、一時的にWebサーバーとして振る舞い、 そのテストに応答する │ ▼ 4. 発行: 「テストに合格したね!所有者であることは確認できた!」として 証明書が発行される

※解説:だから、証明書を取得する時だけは「外部から80番ポート(HTTP)にアクセスできる状態」にする必要があったのです。

4. 取得したファイルの正体(あなたのサーバーの中身)

コマンドを実行したとき、以下の2つの大事なファイルが生成されました。

ファイル役割
/etc/letsencrypt/live/your-domain.mydns.jp/fullchain.pem「パスポート本体」。相手サーバーに渡して「私は本物です」と証明するためのファイルです。
/etc/letsencrypt/live/your-domain.mydns.jp/privkey.pem「自分専用のハンコ(秘密鍵)」。このデータとペアでなければ、証明書は使えません。絶対に外部に漏らしてはいけない最重要ファイルです。

💡 「fullchain(完全な連鎖)」と呼ばれる理由

証明書は実は単独では信頼されません。「Let's Encryptの中間証明書」→「さらにその上位の信頼された認証局(ルートCA)」という信頼の連鎖(チェーン)を辿って初めてブラウザに信用されます。fullchain.pem には、あなたのサーバー用証明書に加えて、この中間証明書までが1つのファイルにまとめて収録されているため「full(完全な)chain(連鎖)」と呼ばれます。

5. メールサーバーでの読み込み(SSLの確立)

PostfixやDovecotは、起動した瞬間にこのファイルを読み込みます。

6. 自動更新の仕組み(運用と保守)

Let's Encrypt の証明書には「90日間」という有効期限があります。しかし、あなたのサーバーでは「自動更新の仕組み」が既に組み込まれています。

確認コマンド
systemctl list-timers | grep certbot

このタイマーが、期限の30日前になると自動的にLet's Encryptへアクセスし、新しい証明書を受け取ってきます。あなたは何もしなくても、勝手に証明書が最新の状態に保たれるようになっています。

💡 管理者としての「復習ポイント」

将来、もしメールサーバーの設定がうまく動かなくなった場合、この証明書の確認は「基本中の基本」になります。「証明書が正しく読み込まれているか?」と疑問に思ったら:

# dovecotが今どの証明書を使っているか確認するコマンド
sudo doveconf -n | grep ssl_cert

これを見て、正しいファイルパスが表示されていれば、通信の暗号化は正常です。

コマンド早見表

操作コマンド
証明書の一覧・有効期限を確認sudo certbot certificates
自動更新タイマーの状態確認systemctl list-timers | grep certbot
更新をリハーサル(実際には更新しない)sudo certbot renew --dry-run
手動で更新を強制実行sudo certbot renew --force-renewal
Dovecotが読んでいる証明書パスを確認sudo doveconf -n | grep ssl_cert
Apacheが読んでいる証明書パスを確認sudo apachectl -S | grep -i ssl

実機で確認した設定状況

2026年8月4日時点で、本サイトのRocky Linux 9サーバーの実際の状態を確認しました。

$ systemctl list-timers | grep certbot
Wed 2026-08-05 07:37:40 JST  11h left
    Tue 2026-08-04 16:50:40 JST  3h ago
    certbot-renew.timer  certbot-renew.service

お疲れ様でした!

このガイドを保存しておけば、「証明書ってどうなってるんだっけ?」という疑問を持ったときに、このロジックを読み返すだけで、すぐに全容が把握できます。このサーバー管理の知識は、ITスキルを格段に引き上げる一生モノです!

Rocky Linux 9 一覧へ戻る