倉金家ホームページ

趣味の部屋/インターネットサーバー/サーバー構築メモ/メールサーバー

14-8.Submission

2007年6月6日
最近スパム対策として送信サーバーへの接続としてサブミッションポートを推奨する例が増えているようです。
たいして難しいこともないのでサブミッションポートへの接続を設定しておきます。

設定
まずシステムのservicesにsubmissionサービスを登録します。
/etc/services
submission    587/tcp    msa    # mail message submission
submission    587/udp    msa    # mail message submission
.... すでに登録されていました。

ファイアウォールを使っていたらサービスを許可します。
/etc/sysconfig/ip6tablesとiptablesのルールに追加。
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 587 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 587 -j ACCEPT

/etc/postfix/master.cfの以下のコメント(#)を外します。
submission inet n      -      n      -      -      smtpd
  -o smtpd_etrn_restrictions=reject
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
もう1箇所submissinの記載があるがそちらはtlsがらみのようです。こちらは放置。

設定はこれだけ。

有効化と確認
postfixをreloadして設定を反映させます。
#service postfix reload

telnetでsubmissionポート(587)に接続しpostfixが返事をするのを確認。
赤が打ち込んだところ

[kiyoshi@jiji kiyoshi]$ telnet localhost 587
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 jiji.iroribata.net ESMTP Postfix
EHLO localhost
250-jiji.iroribata.net
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-AUTH CRAM-MD5 DIGEST-MD5 PLAIN LOGIN
250-AUTH=CRAM-MD5 DIGEST-MD5 PLAIN LOGIN
250 8BITMIME
quit
221 Bye
Connection closed by foreign host.

ちゃんとつながりました。

あとは実際にメールソフトの送信ポートに587を設定してメールを送信してみます。.... OKです。

pop-before-smtpの再設定
前回設定したpop-before-smtpはこのままでは通常のSMTPポート(25)でしか有効になっていません。
今回設定したSubmissionポート(587)でも有効にするには
/etc/postfix/main.cfを少し変更

check_client_access_pbs = check_client_access hash:/etc/postfix/pop-before-smtp
smtpd_recipient_restrictions =
  permit_mynetworks,
  $check_client_access_pbs,
  permit_sasl_authenticated,
  check_recipient_access hash:/etc/postfix/access,
  reject_unknown_recipient_domain,
  reject_unauth_pipelining,
  reject_unauth_destination,
  permit
とし、さらに/etc/postfix/master.cfも少し変更
submissinのところを
submission inet n      -      n      -      -      smtpd
  -o smtpd_etrn_restrictions=reject
  -o smtpd_client_restrictions=$check_client_access_pbs,permit_sasl_authenticated,reject ...(一行で)
とします。