Dovecot(CRAM-MD5で認証)を導入する (CentOS 6.5)

| メール

CentOS6.5でやっているLinuxサーバー設定関連の続き記事。

今回はサーバに届いたメールを要求があればクライアントへ送るPOP3サーバー(Dovecot)の導入を行います。

スポンサードリンク

導入目標

同一のネットワーク内で動かしているWindowsにインストールしたメーラーでメールの受信ができるようにすることが目標。

IMAPも同時に設定可能ですが、今回はPOP3形式でCRAM-MD5形式で認証してメールをクライアントで受信できるようにします。

Dovecotのインストール

# yum install dovecot

Dovecotの設定

Dovecotは設定する内容によってファイルが細かく分割されています。

dovecot.conf

最初は全体的な設定を記載する「/etc/dovecot/dovecot.conf」の変更を行います。変更および追記が必要な個所を書き出しています。

protocols = pop3

利用するプロトコルの指定を行います。他にpop3s、imap、imapsの指定が可能です。

 

10-mail.conf

mailboxに関する設定を行うために「/etc/dovecot/conf.d/10-mail.conf」の設定を行います。

mail_location = maildir:~/mailbox

メールが保存されている場所の指定を行っています。当サイトではhomeの下の各ユーザーディレクトリにメールディレクトリ形式で保存するように設定したため上記の設定になります。

※当サイトでは、ユーザーディレクトリの直下に「mailbox」というディレクトリへメールを送るように設定しているため上記の設定になります。環境に合わせて適宜変更してください

 

10-auth.conf

メールを取得する際の認証に関する設定を「/etc/dovecot/conf.d/10-auth.conf」にて行います。

disable_plaintext = yes
・・・(略)・・・
auth_mechanisms = cram-md5
・・・(略)・・・
#!include auth-system.conf.ext ・・・・・・ (1)
・・・(略)・・・
!include auth-passwdfile.conf.ext

plaintextでの認証を不可能に設定し、認証方式をCRAM-MD5のみ可能にしています。

(1) 有効になっている行をコメントアウトしてください。代わりに下の行で記載している「!include auth-passwdfile.conf.ext」のコメントアウトを取り除いて有効化してください。

 

10-master.conf

サービスやプロセスに関する設定を「/etc/dovecot/conf.d/10-master.conf」にて行います。

service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    #port = 995
    #ssl = yes
  }
}
service auth {
・・・ (略) ・・・
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
}

pop3でのログインを待つポートの指定を行います。

また、postfixでSMTP-AUTHの設定を行った場合はservice authの設定も行います。

 

auth-passwdfile.conf.ext

パスワードファイルを使った認証設定を行います。

passdb {
  driver = passwd-file
  #args = scheme=CRYPT username_format=%u /etc/dovecot/users ・・・・・・ (2)
  args = /etc/dovecot/dovecot-passwd
}
userdb {
  driver = passwd-file
  #args = username_format=%u /etc/dovecot/users ・・・・・・ (3)
  args = /etc/dovecot/dovecot-passwd
}

(2),(3) 元々記載されていた行をコメントアウトします。代わりに「args = /etc/dovecot/dovecot-passwd」を記載します。

 

パスワードファイルの作成

ユーザー名「user_name」とした場合のパスワードファイルの作成についてです。

# doveadm pw -s CRAM-MD5 > /etc/dovecot/dovecot-passwd
Enter new password: <パスワードを入力>
Retype new password: <パスワードをもう一度入力>
# cat /etc/passwd | grep user_name
user_name:x:500:500::/home/user_name:/sbin/nologin ・・・・・・ (4)
# chgrp dovecot /etc/dovecot/dovecot-passwd
# chown dovecot /etc/dovecot/dovecot-passwd

(4) ユーザーの情報をメモしておいてください。メモした情報を使ってdovecot-passwdの編集を行います。

「dovecot-passwd」ファイルをエディタで開き、以下のように編集します。

{CRAM-MD5}a8u3j・・・省略・・・ba1
   ↓
user_name:{CRAM-MD5}a8u3j・・・省略・・・ba1:500:500:/home/username:/sbin/nologin

ファイルを開くと「{CRAM-MD5}a8u3j~~ba1」のようにパスワードをハッシュ化されたデータが書き込まれているので、(4)で確認したユーザー名である「user_name」やuid、gidなどの記載を追記します。

 

SELinuxの設定変更

SELinuxを無効化で運用している方は読み飛ばしてください。

変更を行うのはメールを保存しているディレクトリとパスワードを保存しているファイルです。

# chcon -R system_u:object_r:dovecot_etc_t:s0 /etc/dovecot/dovecot-passwd
# chcon -R system_u:object_r:user_home_t:s0 /home/user_name/mailbox/

それぞれ、ファイルのコンテキストを変更しています。

この設定を行わないとメールの受信をクライアントから実行した際にPermissionエラーが発生します。

 

ファイアーウォールの設定とサービスの起動

POP3の場合はTCP110番のポートを開きます。

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

設定の完了後、iptablesのサービスを再起動します。

# service iptables restart

 

続いてdovecotサービスの起動を行います。

# service dovecot start

 

Thunderbirdで接続確認

WindowsのThnderbirdを使ってdovecotへの接続の確認を行います。

「メニュー」>「ツール」>「アカウントの設定」を選択します。

dovecot_01

 

ダイアログの左下にある「アカウント操作」を左クリック、「メールアカウントを追加」を選択します。

dovecot_02

 

「あなたのお名前」「メールアドレス」「パスワード」を入力し、「続ける」を左クリックします。

dovecot_03

 

受信サーバ、送信サーバの設定を行います。

外部に公開していないサーバの場合、サーバのホスト名はIPアドレスを入力することでThunderbirdが認識できる状態になります

当サイトの場合は192.168.1.5のIPをサーバに割り当てているため下記のように入力し「再テスト」を実行、「完了」がクリック可能になるため「完了」をクリックします。

dovecot_04

 

送信内容について警告が以下の表示がされます。

チェックボックスにチェックを入れて「完了」すると接続が完了します。

dovecot_05

以上で、メールの送受信が可能になるはずです。

トラックバック

トラックバックURL:

トラックバック & ピンバック

コメントはまだありません。

作ったもの

種牡馬メモサイト

フリーダムウォーズ素材メモサイト

月別アーカイブ

つぶやき

更新記録カレンダー

2019年10月
« 1月    
 123456
78910111213
14151617181920
21222324252627
28293031  

参考書籍

XHTML/HTML+CSSスーパーレシピブックXHTML/HTML+CSSスーパーレシピブック
エ・ビスコム・テック・ラボ

毎日コミュニケーションズ
売り上げランキング : 74419

Amazonで詳しく見る
現場のプロから学ぶXHTML+CSS現場のプロから学ぶXHTML+CSS
益子 貴寛,堀内 敬子,小林 信次,千貫 りこ,伊藤 学,山田 あかね,西畑 一馬,CSS Nite

毎日コミュニケーションズ
売り上げランキング : 39400

Amazonで詳しく見る