NullクライアントのPostfix環境の作成


概要

Postfixでメール送信が出来るまでの環境設定を記します。Nullクライアントとは送信だけしかせず,受信や中継を行わないSMTPサーバーのことです。

環境

OS: Amazon Linux AMI release 2015.09
Postfix: 2.6.6

手順

これらの作業はすべてrootで行う必要がある。

$ sudo -s

1.SendMailのアンインストール
デフォルトでインストールされているSendMailは利用しないため,アンインストールする。

$ service sendmail stop
$ chkconfig sendmail off
$ yum remove sendmail

2.Postfixのインストール

$ yum install postfix
$ chkconfig postfix on
$ alternatives --config mta    #choose postfix
$ vi /etc/postfix/main.cf
/etc/postfix/main.cf
+ myhostname = your.hostname
+ mydomain = your.domain
+ myorigin = $myhostname
+ inet_interfaces = localhost
+ inet_protocols = IPv4
- mydestination = $myhostname, localhost.$mydomain, localhost
+ mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
+ home_mailbox = Maindir/

+ smtpd_banner = $myhostname ESMTP unknown
+ smtpd_sasl_auth_enable = yes
+ smtpd_sasl_local_domain = your.domain
+ smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination
$ service postfix start

3.SASL認証の有効化
SASL認証を有効にすることで,サーバーを踏み台にされてスパムメールを送信されたりすることを防ぐことが出来ます。ここではCyrus SASLパッケージを利用します。

$ yum install cyrus-sasl*
$ chkconfig saslauthd on
$ vi /etc/sasl2/smtp.conf    #old version: /usr/libb64/sasl2/smtp.conf
/etc/sasl2/smtp.conf
- pwcheck_method: saslauthd
+ pwcheck_method: auxprop
$ saslpasswd2 -c -u your.domain your.username

your.domainは認証を行うメールサーバー名で,postfixで設定したsmtpd_sasl_local_domainと一致する必要があります。your.usernameは自由に決定することが出来ます。

4.その他
もし,ドメイン名を取得しているのであれば,/etc/hostsに追記するのも忘れずに。

$vi /etc/hosts
/etc/hosts
- 127.0.0.1 localhost localhost.localdomain
+ 127.0.0.1 localhost localhost.localdomain your.domain

Send Policy Framework への対応(追記予定)

上記の設定でも良いのですが、他の人に送る場合、PCメールは迷惑メールフォルダに入ってしまいます。
迷惑メールフォルダに入るだけなら、 送信者に迷惑メールフォルダも確認するように注意を促せばいいのですが、携帯のメールアドレスに送る場合はなりすまし規制が厳しいので弾かれてしまい、メールが届かない場合があります。しかも、弾くのは携帯キャリア側なので、送る側のメールログを見ても正常に送信できていることがあるので事象を把握するのが難しいです。
そのまますんなり受信してくれればありがたいのですが、近年増加するスパムメールやなりすましメールのせいでメール事業者や携帯キャリアも対策を取らざるを得ないのです。まったく迷惑な話です。
では、どう対策するかというと、SPF(Sender Policy Framework)を利用します。
これは、メールの送信元アドレスの偽装を防ぐ技術で、つまり「あるドメインから送られてきたメールがちゃんとしたところから送られてきたかを判断する技術」です。このSPFを利用することで、正しい(差出人を偽装していない)メールを送ることができ、なりすまし規制などにも対策することができます。
実際にSPFを利用したメール送信ができるようにしていきます。
https://ja.wikipedia.org/wiki/Sender_Policy_Framework
http://d.hatena.ne.jp/rx7/20100319/p1
http://blog.jicoman.info/2013/08/postfix_spf_record

参考文献