CentOS 5.6 をメール サーバーに (SMTPS, IMAP4S, POP3S)

これまでに 8 回の記事を通して CentOS 5.6 に Postfix + Dovecot + PostfixAdmin の環境を構築してきた。
前回の記事で当初の目標を一応は果たしたはずだ。
最後に Postfix と Dovecot のそれぞれで、SSL (TLS) を使用した通信経路の暗号化ができるようにしよう。
つまり、SMTPS (Postfix) と IMAP4S、POP3S (どちらも Dovecot) のサポートを追加しようということだ。
これによって、STARTTLS コマンドによる SMTP 上の暗号化も可能になる。

前に ubuntu 10.04 でメール サーバーを構築し SMTPS、IMAP4S、POP3S を可能にしたときと同様に、まずは電子証明書の公開鍵と秘密鍵を作成する。
ubuntu のときは電子証明書の公開鍵と秘密鍵を作るのに openssl コマンドを対話的に使用した。
今回も同じ openssl コマンドを使用するが、ubuntu のときには対話的に指定していた値を、ファイルに書いて openssl コマンドに与えることにする。

まずは Postfix に SSL のサポートを追加する。

CentOS の場合は、電子証明書の公開鍵と秘密鍵を /etc/pki/ ディレクトリに保存するのが一般的なようだ。
しかもこの /etc/pki/ ディレクトリの中にアプリケーション毎のサブ ディレクトリを作り、そこにその公開鍵、秘密鍵が保存しているようだ。
そこで最初に mkdir -p /etc/pki/postfix コマンドを実行して、Postfix の公開鍵、秘密鍵を保存するためのディレクトリを作っておく。

次に openssl コマンドに渡す設定ファイルを作る。
作ったばかりのディレクトリに、以下の内容で /etc/pki/postfix/postfix-openss.cnf ファイル名を作成する。

/etc/pki/postfix/postfix-openssl.cnf

 

このファイルの ‘CN=mailserver.example.jp’ の行の ‘mailserver.example.jp’ はこのホストのホスト名にするべきだ。

/etc/pki/postfix/postfix-openssl.cnf ファイルを作成したら、このファイルを openssl コマンドに渡して公開鍵と秘密鍵を作るために、以下のコマンドを実行する。

先ほど用意した /etc/pki/postfix/postfix-openssl.cnf ファイルは –config オプションに指定する。
–days オプションには 3652 を、つまり約 10 年を電子証明書の有効期間に指定している。
このコマンドを実行すると、-out オプションに指定した /etc/pki/postfix/csert.pem ファイルに公開鍵が、-keyoout オプションに指定した /etc/pki/postfix/private.key ファイルに秘密鍵が作成される。

Postfix 用の公開鍵と秘密鍵を作成したら、それらを使って SSL をサポートするように Postfix の設定を修正する。
修正する設定ファイルは /etc/postfix/main.cf ファイルと /etc/postfix/master.cf ファイルの二つだ。
/etc/postfix/main.cf ファイルには、以下の 3 行 (コメント行を含めると 4 行) を追加する。

/etc/postfix/main.cf (追加部分)

これで service postfix restart コマンドを実行して Postfix を再起動すれば、STATTLS コマンドによる SMTP 上の暗号化が有効になる。

更に /etc/postfix/master.cf ファイルを以下のように編集、修正する。

/etc/postfix/master.cf (修正前)
/etc/postfix/master.cf (修正後)

これで service postfix restart コマンドを実行して Postfix を再起動すれば SMTPS も有効になる。

Postfix が SSL をサポートして SMTPS と STATTLS が使えるようになったところで、今度は Dovecot に SSL をサポートさせて IMAP4S と POP3S が使えるようにしよう。

Dovecot の場合は、実を言えば Dovecot のインストールと同時に/etc/pki/dovecot/dovecot-openssl.cnf ファイルと、それを基に作成された公開鍵 (/etc/pki/dovecot/cert/dovecot.pem ファイル) および秘密鍵 (/etc/pki/dovecot/private/dovecot.pem ファイル) が作成されている。
特に不都合がなければこれをそのまま使ってもいいだろう。

改めて作り直すなら、/etc/pki/dovecot/dovecot-openssl.cnf ファイルを適切に編集、修正してから、以下のコマンドを実行する。

-config オプションに編集、修正した /etc/pki/postfix/postfix-openssl.cnf ファイルを指定し、–days オプションには 3652、つまり約 10 年を電子証明書の有効期間を指定している。
-out オプションと –keyout オプションにはそれぞれ /etc/pki/dovecot/cert/dovecot.pem と /etc/pki/dovecot/private/dovecot.pem を指定して、既にある公開鍵と秘密鍵のファイルを上書きするようにした。
もし、元からある公開鍵、秘密鍵を上書きしたくなければ、-out オプションと –keyout オプションで指定するファイル名を、適切に変更すればいい。

公開鍵と秘密鍵を作成したら (Dovecot のインストール時に作成されたまま公開鍵と秘密鍵を使う場合でも)、Dovecot の設定ファイル /etc/dovecot.conf を以下のように編集、修正する。

/etc/dovecot.conf (修正前)
/etc/dovecot.conf (修正後)

なお、公開鍵、秘密鍵を Dovecot のインストール時に作成されているファイルと別のファイル名で作成したときは、91 行目と 92 行目をそのファイル名に合わせて修正する。

/etc/dovecot.conf ファイルを編集、修正したら service dovecot restart コマンドを実行して Dovecot を再起動すれば IMAP4S と POP3S が有効になる。

関連記事

コメントを残す