Outbound Port25 Blocking 対策(So-netの場合)
2017/06/13
Outbound Port25 Blocking(OP25B)対策方法をご紹介します。
PostfixからSo-netのSMTPサーバに送信する場合の例になりますが
他のサーバに向ける場合も基本的な考え方は同じです。
※自宅サーバ向けの内容になります。
スポンサーリンク
目次
なぜ今さらOP25B対策なのか?
大学4年の頃から10年以上自宅でメールサーバを管理してきましたが
ここ最近、So-netのSMTPサーバからrejectされる現象が度々発生しました。
ルータを再起動してIPアドレスを変えると普通に送信できるようになるため
ブラックリストに登録されているIPアドレスがたまたま割り振られたのかと思い
裏付けを取るためにSo-netサポートデスクに問い合わせたところ、なんと
数年前にSo-netのセキュリティ方針が変更されており
今はOP25B対応をしていない環境からは送信できない
との回答。
なぜ今まで送信できていたのか謎ですが、いつ完全に送信できなくなっても
おかしくない状況とのことなので、今さらながら対策を行うことにしました。
なお、ブラックリスト説は結局調べてもらえず。
変更概要
Postfixの設定をいじるだけです。
詳しく説明されているサイトは山のようにありますので
手順のみご紹介します。
1. main.cfのバックアップ
/etc/postfix/main.cf をバックアップとしてコピーしてください。
2. main.cfの編集
main.cf の最下部に以下の内容を追記します。
relayhost の行が既に存在する場合はコメントアウトしてください。
relayhost = [mail.so-net.ne.jp]:587
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = plain
smtp_sasl_password_maps = hash:/etc/postfix/so-net_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_use_tls = yes
smtp_tls_CApath = /usr/share/ssl/certs/ca-bundle.crt ←環境によりパスは異なる
3. パスワードファイルの作成
/etc/postfix/so-net_passwd を作成し、下記内容を記載します。
[mail.so-net.ne.jp]:587 ユーザID:パスワード
4. パスワードファイルのハッシュ化
postmap hash:/etc/postfix/so-net_passwd
5. postfixサービス再起動
service postfix restart
6. メール送信テスト
echo "test mail" | mail -s "test mail" 送信先メールアドレス
7. ログ確認
250 2.0.0 Message accepted for delivery となっていれば成功
550 5.7.1 ... Relay operation rejected の場合は設定を見直してください
まとめ
So-netはこの手順で問題ないのですが
同じ方法でリレー先をgmailにすると、受信メールの送信者がgmailのアカウントで上書きされる謎現象が起きます。
今後のIPv6対応も悩みどころなので、そろそろ自宅サーバをやめて
Gmailに一本化する方向で検討中。