(Debian)さくらのVPSでメールサーバー設定(postfix)
Debianでのメールサーバー設定の作業メモです。
以前CentOSで設定した内容とほとんど同じです。
(作業内容)
postfix with SMTP-AUTH and SSL/TLS
1. パッケージのインストール
SMTP-AUTHにSASL2を使うので、postfixと一緒にインストールします。
postfixをインストールすると、exim関連のパッケージが削除されます。
$ sudo aptitude install postfix sasl2-bin libsasl2-modules
2. saslauthdデーモンの設定
SMTP-AUTHのためにsaslauthdデーモンを設定・起動します。
今回は、PAM認証します。
$ sudo vi /etc/default/saslauthd START=yes MECHANISMS="pam" OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd" $ sudo /etc/init.d/saslauthd start
PAM認証できるか試してみます。
$ sudo /usr/sbin/testsaslauthd -u hogehoge -p fugafuga 0: OK "Success."
"-u"の後にユーザー名、"-p"の後にパスワードを指定します。
3. 鍵と証明書の作成
$ sudo sh -c "cd /etc/postfix/certs/; openssl genrsa -des3 -out server.key 1024" $ sudo sh -c "cd /etc/postfix/certs/; openssl rsa -in server.key -out server.key" $ sudo sh -c "cd /etc/postfix/certs/; openssl req -new -days 3650 -key server.key -out server.csr" $ sudo sh -c "cd /etc/postfix/certs/; openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650" $ sudo chmod 400 /etc/postfix/certs/server.*
4. postfixの設定
main.cfとmaster.cfの下記パラメータあたりを設定します。
(/etc/postfix/main.cf)
myhostname = wwwxxxxxx.sakura.ne.jp mydomain = wwwxxxxxx.sakura.ne.jp myorigin = /etc/mailname inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks = 127.0.0.0/8 home_mailbox = Maildir/ smtpd_banner = $myhostname ESMTP unknown smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination smtpd_tls_cert_file=/etc/postfix/certs/server.crt smtpd_tls_key_file=/etc/postfix/certs/server.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
(/etc/postfix/master.cf)
smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes (コメントアウト) -o smtpd_sasl_auth_enable=yes (コメントアウト)
5. Maildirの作成
$ mkdir -p ~/Maildir/{new,cur,tmp} $ chmod -R 700 ~/Maildir
6. posftixの再起動
$ sudo /etc/init.d/postfix restart
7. iptablesの設定
smtp(25/tcp)とsmtps(465/tcp)の通信を許可します。
$ sudo vi /etc/iptables/iptables.rules -A INPUT -p TCP --dport 25 -j ACCEPT -A INPUT -p TCP --dport 465 -j ACCEPT $ sudo iptables-restore < /etc/iptables/iptables.rules $ sudo iptables -L $ sudo iptables-save > /etc/iptables/rules
8. 第三者中継チェック
RBLなどを使って、第三者中継チェックを行います。
(参考) メール送信時に550エラーが出る場合
550 5.1.1 <送信先メールアドレス>: Recipient address rejected: 送信先ドメイン;
メール送信時に上記のエラーが出る場合は、"default_transport"パラメータが"error"となっている可能性があるので、"smtp"へ変更します。
$ sudo /etc/postfix/main.cf default_transport = smtp $ sudo /etc/init.d/postfix restart
"default_transport"パラメータはデフォルトで"smtp"みたいですが、postfixインストール時の設定で"Local only"を選ぶと、"error"に設定されるっぽいです。
dovecotは別エントリーで。
[追記](2012.05.02)
dovecotの設定について書きました。