Postfix+Dovecot 無料の「Let’s Encrypt」を使ってSSLを適応する手順

Postfix+Dovecot 無料の「Let’s Encrypt」を使ってSSLを適応する手順

CentOS7でPostfixとDovecotを使ってメールサーバに無料の SSL 「Let’s Encrypt」を使用してSSLを適応するまでの手順を記述してます。

環境

  • OS CentOS Linux release 7.7.1908 (Core)
  • Postfix 2.10.1
  • dovecot 2.2.36
  • サーバー さくらのクラウド
  • ドメイン お名前.com

インストール

必要なものを全てインストールしておきます。
※ここでは全てrootで作業してます。

DNS設定

MXレコードを設定しておきます。
※自分の場合はお名前.comで設定してます。

構成は下記の通りとなります

ホスト名レコード
example.com A 111.222.333.444
mail.example.com A 111.222.333.444
example.com MX mail.example.com

SSL証明書取得

Let’s Encryptのスクリプトをgitからcloneして入手します。

移動します。

証明書を取得時に80番ポートを利用するので許可しておきます。
また、 80番ポートがすでに利用されているとエラーになるため、80番ポートを使用しているapache等のアプリがあれば停止しておきます。

今回はメールサーバーのみなため 「standaloneモード」で証明書を取得します。

「 /etc/letsencrypt/live/mail.example.com/ 」が作成されます。

Postfix設定

postfixを設定を行います。

先にバックアップしておきます。

main.cfを編集します。

編集内容は下記となります。

master.cfを編集します。

編集内容は下記となります。

postfixの自動起動と起動を設定しておきます。

saslauthd起動

SMTP認証設定用に自動起動 と起動を行います。

事前に設定予定のファイルをバックアップしておきます。

SMTP認証に個別のユーザー名、パスワードを使用します。

Dovecot設定

次にDovecotの設定を行います。

事前に編集予定のファイルをバックアップしておきます。

各ファイルを編集します。

vim /etc/dovecot/conf.d/10-mail.conf
vim /etc/dovecot/conf.d/10-auth.conf
vim /etc/dovecot/dovecot.conf
vim /etc/dovecot/conf.d/10-master.conf
vim /etc/dovecot/conf.d/10-ssl.conf

Dovecotの自動起動と起動をします。

Cron設定

Let’s Encrypt の有効期限は3ヶ月なため、証明書を自動更新できるようにcronに設定しておきます。

2ヶ月に1回くらいの更新にしておきます。
「/etc/cron.d/」 に適当なファイルを作成し、そこに記述します。
※ここでは「letsencrypt」というファイルを作成してます。

Firewall設定

firewallが設定してある場合は、許可設定を行います。

メールアカウント作成

メールアカウントを作成してみます。
ここではmailtestというアカウントを作成します。

メーラー設定

outlookの設定例を表示しておきます。

SSLを設定します。

認証が必要にチェックしておきます。

ログ確認

うまく受信できない場合は、ログを確認してみて下さい。