debian postfix + dovecot + sasl

postfix + dovecot をインストールしている前提。
http://d.hatena.ne.jp/kt_hiro/20120317/1331972844

saslでOSユーザとは別にアカウントを作成してSMTP認証させる方法。
OSユーザのアカウントを使う方法もある。

sasl

・インストール

# apt-get install sasl2-bin libsasl2-modules libsasl2-2 libsasl2-dev

・アカウント作成

# saslpasswd2 -c -u myhostname username

・アカウント削除

# saslpasswd2 -d -u myhostname username

・アカウントの登録確認

# sasldblistusers2

追加したアカウントは /etc/sasldb2 に登録される。postfix は /var/spool/postfix/etc/sasldb2 を参照するため、権限を変えて /etc/sasldb2 からハードリンクを張る。

# chgrp postfix /etc/sasldb2
# chmod 640 /etc/sasldb2
# ln /etc/sasldb2 /var/spool/postfix/etc/sasldb2

postfix

・設定追加

# vi /etc/postfix/main.cf
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = 
	permit_mynetworks,
	permit_sasl_authenticated,
	reject_unauth_destination
smtpd_sasl_security_options = noanonymous

・認証方法の設定

# vi /etc/postfix/sasl/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: cram-md5 digest-md5 plain login

・sasl認証を有効にする
※main.cf で有効にしていれば不要かも

# vim /etc/postfix/master.cf
smtp      inet  n       -       -       -       -       smtpd
 -o smtpd_sasl_auth_enable=yes

・動作確認

# telnet localhost 25
	Trying 127.0.0.1...
	Connected to localhost.
	Escape character is '^]'.
	220 mail.hirohiro.net ESMTP Postfix (@@DISTRO@@)
EHLO localhost
	250-mail.hirohiro.net
	250-PIPELINING
	250-SIZE 10485760
	250-VRFY
	250-ETRN
	250-AUTH DIGEST-MD5 LOGIN CRAM-MD5 PLAIN	←許可する認証方法
	250-ENHANCEDSTATUSCODES
	250-8BITMIME
	250 DSN