タグ別アーカイブ: Dovecot

SSL 証明書の作成とインストール

はじめに

 SSL 証明書は SSL 証明書発行機関によって、対象のドメインが実際にどの組織によって運営されているかを保障するための証明書です。今回、SSL 証明書の申請からインストールまでの手順を紹介します。
 組織の実体証明の厳密さにより、SSL 証明書のグレードが設けられています。呼び方、認証方法は SSL 証明書発行機関により差がありますが、大まかには次の 3 グレードがあるようです。

  • Class1 … ドメインの所有者をオンラインにより確認。
      ドメイン名宛のメールアドレスなど、例えば postmaster@example.com 宛に届く確認メールで運営者を確認できれば認証 OK となります。
  • Class2 … ドメインの所有者を電話により確認。
      ドメイン名宛のメールアドレスに加えて、運営者の電話番号宛の電話などで運営者を確認できれば認証 OK となります。
  • Class EV … ドメインの所有者を書類により確認。
      ドメイン名宛のメールアドレス、運営者の電話番号宛の電話に加えて、書類の送付などにより運営者を確認できれば認証 OK となります。

 どのグレードの SSL 証明書でも、サーバーへのインストール手順は同じです。
 CentOS の場合、次のようなディレクトリ・ファイル構成で管理するとよいでしょう。この構成は SSL 証明書の他に、中間証明書を 2 つ必要とする 4 層構成の SSL 証明書をインストールする場合の構成です。

 なお、SSL 証明書関連のファイルがいくつか出てきますが、すべて PEM 形式とよばれるテキスト文字列のファイルです。本投稿ではファイルの役割を拡張子に付ける事で、わかりやすくなるようにしています。また、年度の更新がしやすいよう、ファイルの末尾には有効期限日を付けておきます。ただし、本番用にリリースするときは、サーバーの設定ファイルを編集しなくて済むよう、有効期限日は削除します。日付付きのファイルで一式を準備してから、日付なしのファイルにコピーして本番環境に適用する、という流れを想定しています。

(作業用ユーザーエリア)
~/tls/
  certs/                     ← 外部に公開するファイルを格納するディレクトリ
    example.com.crt.20160519 ← SSL 証明書
    example.com.ca.20160519  ← 中間証明書(3層目、2層目、の順で結合したもの)
  private/                   ← 外部に公開してはいけない/公開する必要がないファイルを格納するディレクトリ
    example.com.ca2.20160519 ← 中間証明書(2層目、クロスルート証明書と呼ばれることがある)
    example.com.ca3.20160519 ← 中間証明書(3層目)
    example.com.csr.20160519 ← CSR
    example.com.key.20160519 ← 秘密鍵

(本番用グローバルエリア)
/etc/pki/tls/
  certs/                     ← 外部へ公開するファイルを格納するディレクトリ
    example.com.crt          ← SSL 証明書
    example.com.ca           ← 中間証明書(3層目、2層目、の順で結合したもの)
  private/                   ← 秘密鍵を格納するディレクトリ
    example.com.key          ← 秘密鍵

 大まかな流れは次のとおりです。

  • SSL 証明書の申請
  • SSL 証明書の受領
  • SSL 証明書のインストール
続きを読む