Submission over SMTP-AUTH 、 またの名をMSA(MessageSubmissionAuthorized)と言う。
最近では、ウェルノウン25番ポートの利用が怪しくなってきた。つまり、SPAMメールもそうだが、ウィルスなどは独自にSMTPエンジンを持っていて、自発的にメールが送信できてしまう。だから、ウィルスに感染すると知らないうちに、PCのアドレス帳から個人のメールアドレスをゲットして自己のSMTPエンジンを使ってウィルスメールをまき散らす。SPAMメールも同じことだウィルスではないが、プログラムを使って自前のメールサーバ(DDNSなどを使う)やインターネット上の無償のメールアカウント(hotmail、yahoo)などから、ネット上で拾ったメールアカウント宛へ片っ端からDMを送る。このような背景により、2005年頃から Outbound Port 25 Blocking(OP25B) なんて言葉がでてきている。つまり、ウェルノウンポートである25番を使わないで代替えポート(587番ポート)を使ってSPAMやウィルスをブロックしてしまうと言う動きだ。以下が代替えポートを使った対策案である。以下、図1にその概要を示す。

■ SMTP over SSL
これは、読んで字のごとく、SMTPセッションを全てSSL化する通信。これは、ポート465番(25番代替えポート)を使ってMUAとMTA間でSSL暗号化通信するもので有るため両者が、これに対応してなければならない。
■ SMTP over TLS(Transport Layer Security)
これは、やはりSMTPパケットを全てSSL化する通信。これは、ポート25番を使ってSSL通信を行う。主にISP間の配送で使うようだ。
■ Submission over SMTP-AUTH
これは、Submission(25番代替えポート587番)で SMTP-AUTH を実現する機能。このページで説明するネタ。
■ Submission over TLS
これは、Submission(25番代替えポート587番)で前述したSMTP over TLSを実現する。
注 : PostfixでSubmissionを実現するには、Postfixバージョン2.0.xx以降の物でなければならない。
以降、Submission over SMTP-AUTHの設定について説明する。テスト環境は以下である。
OS : DebianLinux3.1 Sarge
ii postfix 2.1.5-9 A high-performance mail transport agent
ii postfix-tls 2.1.5-9 TLS and SASL support for Postfix
ii libsasl2 2.1.19-1.5sarg Authentication abstraction library
ii libsasl2-modul 2.1.19-1.5sarg Pluggable Authentication Modules for SASL
ii libsasl2-modul 2.1.19-1.5sarg Pluggable Authentication Modules for SASL
ii sasl2-bin 2.1.19-1.5sarg Programs for manipulating the SASL users dat
1.Postfix+SMTP-AUTH2のセットアップ
これは、 ここ を参照してセットアップすること。
2.Submission設定作業
1) 587番ポートを有効にする
ns:/# vi /etc/services
省略
# Submission Service
submission 587/tcp
submission 587/udp
省略
2) Postfix側の設定
ns:/# vi /etc/postfix/master.cf
省略
587 inet n – n – – smtpd ←本来Postfixの場合、 「submission n - n - - smtpd」となるのが普通だが、Debian Postfix2.1.5では、この記述でないとポートが開かなかった。
-o smtpd_sasl_auth_enable=yes
smtp-amavis unix – – n – 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n – n – – smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtp_error_sleep_time=0
-o smtp_soft_error_limit=1001
-o smtp_hard_error_limit=1000
設定後、
ns:/# postfix reload
注:-oの前のスペースに意味があるので注意すること。
3.ポートがLISTEN状態かを確認する
587番ポートがLISTEN状態かを確認してみる。
ns:/# netstat -antl | grep 587
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN
tcp6 0 0 :::587 :::* LISTEN
4.587番ポートがSMTP-AUTHされてるかを確認する
587番ポートがSMTP-AUTHするかをtelnetで確認する。
ns:/# telnet localhost 587
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 ns.e-linux.net ESMTP Postfix
EHLO localhost
250-ns.e-linux.net
250-PIPELINING
250-SIZE 51200000
250-ETRN
250-AUTH NTLM DIGEST-MD5 CRAM-MD5
250-AUTH=NTLM DIGEST-MD5 CRAM-MD5
250 8BITMIME
quit
221 Bye
Connection closed by foreign host.
赤字は、入力文字。青字のように表示されれば、OK!
以上で、設定完了。MUAのSMTPポートを587番に設定して実際にメール送信してみよう。さらに、ユーザ及びパスワード認証をしない場合Rejectされるかも同時に確認してみよう。
以上
コメント