ここからは具体的にインストールと設定を行います。先ずは POPメール受信サーバーをセットアップします。CentOS 6.x と 標準のPOP3/IMAP サーバーとしてパッケージで提供されている Dovecot を導入します。
先に述べたように、SSL通信に必要なサーバー証明書は先に準備しておく必要があります。また、内向き、外向き、適切に DNSサーバが運用されいる事を前提にしています。パッケージがインストールされているか確認して無ければインストールします。
Dovecot の設定は以下のファイルで行います。
Devecot 2.x系 からは Apache2系のように、従来の上記設定ファイル意外に外部の設定ファイルをインクルード出きるようになっており、デフォルトでは /conf.d ディレクトリに纏められています。
SSL に関する設定は 10-ssl.conf に記載されています。SSL化にはサーバー証明書と秘密鍵が必要になります。既に用意されていますが、こちらで作成したWebサーバーのSSL化に使用したサーバー証明書と秘密鍵を流用します。
以下の箇所を修正します。
# SSL/TLSを有効にする
ssl = yes
# SSL通信に必要な証明書を指定
#ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
#ssl_key = </etc/pki/dovecot/private/dovecot.pem
↓
ssl_cert = </etc/pki/httpd/newcert.pem(サーバ証明書 公開鍵)
ssl_key = </etc/pki/httpd/newkey.pem(サーバ証明書 秘密鍵)
/etc/pki/httpd/newcert.pem と /etc/pki/httpd/newkey.pem は Apache Webサーバーの SSL化に利用した証明書を流用しています。作成手順については以下で説明しています。
メールボックスの形式を変更します。ユーザーのホームディレクトリでメールボックスを作成、管理するようにします。
以下の箇所を修正します。
#mail_location =
↓この下に以下を追記
mail_location = maildir:~/Maildir
本稿のポリシーではローカルユーザーであっても SSL に限定したいので、コメントを外し平文認証の禁止を yes とします。
以下を修正します。
# disable_plaintext_auth = yes
↓
disable_plaintext_auth = yes
# 認証メカニズムを以下に変更
auth_mechanisms = plain login
以上の修正が終ったら再起動して、変更の内容を適用します。
クライアント側から実際にポリシー通りに動作するか確認します。確認したのは、Thunderbird-v31 と iOS5 以降です。また CentOS 6 の場合、 ログは maillog に出力されます。
当該アカウントで名前、メールアドレスと基本設定をした後、詳細ボタンにある以下の画面を表示します。内容は以下の通り。本稿の設定では、STARTTLS,
POP Over SSL/TLS、何れも利用可能です。
設定 > メール/連絡先/カレンダー > 当該アカウント >
SSLをオフにした場合の挙動もポリシー通りに接続できないか、ログの内容も含めて確認して下さい。
当該アカウントの左ペインにある "サーバー設定" をクリックすると目的の設定画面が表示されます。
ツール > アカウント > 当該アカウント >
・セキュリティ設定
・セキュリティ設定
他のメールクライアントは試していませんが、利用者が限定できる用途ではクライアントの互換性を優先させるあまり、セキュリティを犠牲にするよりも、セキュリティを最優先に利用者に対応を求めるほうがベターです。
最近ではメールにかぎらず、FTP クライアントにおいても、SSL による通信経路の暗号化保護に対応したクライアントも増えてきていることですし。
システム起動時に dovecot を開始するようにしときます。
すべて off になっていればシステム起動時に起動しないので
以上でPOP3受信サーバーは構築出来ました。SMPTサーバーの構築に続きます。
CentOS 6.x のパッケージで導入された Dovecot や Postfix の設定内容を見ると、POP Over SSL、STARTTLS を使うように大まかな設定が組まれていたり、平文(plain)認証は無向になっているなど、セキュリティ面に配慮した設定となっていました。
また、従来は pop3 は クライアントから接続要求がある度に inted、xinetd 経由でラッパーで起動する方が一般的でしたが、CentOS 6 の dovecot は常に常駐するデーモン(サービス)としてセットアップされています。
TCP Wrapper(xinetd)で起動させたい場合は、新たに設定を行う必要があります。機能強化されたxinetdでは、接続元を限定したり、条件によって起動オプションを指定することで独自にセキュリティ対策が出来ますが、
tcpwrapper で起動させる雛形は用意されていませんので、自分でサービスを無向にして xinetd の設定を行う必要があります。本稿では、常駐するデーモンとして Dovecot をセットアップします。
xinetd を利用するメリットとしては、接続要求に応じて起動するため、ネットワークに応じてその都度、起動パラメータを定義できます。
例えば、LAN からの接続に関しては、互換性を重視した設定で起動し、WAN、インターネット側からの接続要求に対しては、互換性よりもセキュリティが厳しめの設定パラメータで起動する、といった対策を施すことも出来ます。
また、サービスが何らかの理由でハングアップしても、接続要求があれば起動しますので、障害にも強い本来の特徴もあります。このような起動構成にしたい場合は、自分で行う必要があります。