.
Mailサーバー => メールサーバ構築 20142.メール受信サーバの構築
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

Dovecot による POPメール受信サーバの構築(CentOS6.x)

ここからは具体的にインストールと設定を行います。先ずは POPメール受信サーバーをセットアップします。CentOS 6.x と 標準のPOP3/IMAP サーバーとしてパッケージで提供されている Dovecot を導入します。

Dovecot のインストール

先に述べたように、SSL通信に必要なサーバー証明書は先に準備しておく必要があります。また、内向き、外向き、適切に DNSサーバが運用されいる事を前提にしています。パッケージがインストールされているか確認して無ければインストールします。

# rpm -qa|grep dovecot
# yum instal dovecot

Dovecot の設定

Dovecot の設定は以下のファイルで行います。

  • /etc/dovecot/dovecot.conf
  • /etc/dovecot/conf.d/
  • /etc/dovecot/conf.d/10-ssl.conf

Devecot 2.x系 からは Apache2系のように、従来の上記設定ファイル意外に外部の設定ファイルをインクルード出きるようになっており、デフォルトでは /conf.d ディレクトリに纏められています。

10-ssl.conf ~ STRTTLS、及び POP over SSL を有効

SSL に関する設定は 10-ssl.conf に記載されています。SSL化にはサーバー証明書と秘密鍵が必要になります。既に用意されていますが、こちらで作成したWebサーバーのSSL化に使用したサーバー証明書と秘密鍵を流用します。

# cd /etc/dovecot
# cp conf.d/10-ssl.conf conf.d/10-ssl.conf.ori
# vi conf.d/10-ssl.conf

以下の箇所を修正します。

/etc/dovecot/conf.d/10-ssl.conf

# 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化に利用した証明書を流用しています。作成手順については以下で説明しています。

10-mail.conf

メールボックスの形式を変更します。ユーザーのホームディレクトリでメールボックスを作成、管理するようにします。

# cp conf.d/10-mail.conf conf.d/10-mail.conf.ori
# vi conf.d/10-mail.conf

以下の箇所を修正します。

/etc/dovecot/conf.d/10-mail.conf

#mail_location =
↓この下に以下を追記
mail_location = maildir:~/Maildir

10-auth.conf

本稿のポリシーではローカルユーザーであっても SSL に限定したいので、コメントを外し平文認証の禁止を yes とします。

# cp conf.d/10-auth.conf conf.d/10-auth.conf.ori
# vi conf.d/10-auth.conf

以下を修正します。

/etc/dovecot/conf.d/10-auth.conf

# disable_plaintext_auth = yes

disable_plaintext_auth = yes

# 認証メカニズムを以下に変更

auth_mechanisms = plain login

設定を反映させる

以上の修正が終ったら再起動して、変更の内容を適用します。

# service dovecot restart

動作確認

クライアント側から実際にポリシー通りに動作するか確認します。確認したのは、Thunderbird-v31 と iOS5 以降です。また CentOS 6 の場合、 ログは maillog に出力されます。

# tail -f /var/log/maillog

iOS5 以降

当該アカウントで名前、メールアドレスと基本設定をした後、詳細ボタンにある以下の画面を表示します。内容は以下の通り。本稿の設定では、STARTTLS,
POP Over SSL/TLS、何れ利用可能です。

設定 > メール/連絡先/カレンダー > 当該アカウント >

STARTTLS で接続する場合

  • SSLを使用:オン
  • 認証:パスワード
  • サーバーからの削除:任意
  • サーバーポート:110

POP Over SSL/TLS で接続する場合

  • SSLを使用:オン
  • 認証:パスワード
  • サーバーからの削除:任意
  • サーバーポート:995

SSLをオフにした場合の挙動もポリシー通りに接続できないか、ログの内容も含めて確認して下さい。

Thunderbird-v31の場合

当該アカウントの左ペインにある "サーバー設定" をクリックすると目的の設定画面が表示されます。

ツール > アカウント > 当該アカウント >

STARTTLS で接続する場合

・セキュリティ設定

  • 接続の保護:STARTTLS → Port は自動的に110になります
  • 認証方式:通常のパスワード認証

POP Over SSL/TLS で接続する場合

・セキュリティ設定

  • 接続の保護:SSL/TLS → Port は自動的に995になります
  • 認証方式:通常のパスワード認証

他のメールクライアントは試していませんが、利用者が限定できる用途ではクライアントの互換性を優先させるあまり、セキュリティを犠牲にするよりも、セキュリティを最優先に利用者に対応を求めるほうがベターです。

最近ではメールにかぎらず、FTP クライアントにおいても、SSL による通信経路の暗号化保護に対応したクライアントも増えてきていることですし。

起動設定

システム起動時に dovecot を開始するようにしときます。

# chkconfig --list dovecot

すべて off になっていればシステム起動時に起動しないので

# chkconfig dovecot on

以上でPOP3受信サーバーは構築出来ました。SMPTサーバーの構築に続きます。

補足:CentOS 6.x パッケージの起動構成について

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、インターネット側からの接続要求に対しては、互換性よりもセキュリティが厳しめの設定パラメータで起動する、といった対策を施すことも出来ます。

また、サービスが何らかの理由でハングアップしても、接続要求があれば起動しますので、障害にも強い本来の特徴もあります。このような起動構成にしたい場合は、自分で行う必要があります。

 

 

bottom_mark
ページ最上部
ページ最上部 前のページ