Outbound Port 25 Blocking回避策(BIGLOBEでSMTP-Auth必須だよ編)
Category : サーバ管理日記
Published by M-naka on 2007/5/13
暫定→正式化。
 昨年秋に仕込んだOutbound Port25 Blocking回避策だが、リレーサーバが「試験運用」であり、これが運用停止、新たに正式運用サーバを使う旨の連絡がBIGLOBEから来た。どうも暫く前から連絡が来ていたようだが、宣伝メールと間違えて振り分けており、気付かなかった。

 で、今度の正式運用サーバの話。試験運用サーバは単に指定されたホスト名のサーバの25/TCPにリレーを掛けるだけだったが、正式運用サーバではSMTP-Auth必須となった。幸いPostfixでは自身がSMTPクライアントになったときにSMTP-Authを使用することが可能なので、若干の設定変更で済んだ。

1.認証情報ファイル作成
 /etc/postfix以下に、自身がクライアントとしてSMTP-Auth接続するホスト名と認証情報を記したテキストファイルを作成する。形式は、

 接続先メールホスト名 アカウント:パスワード

となる。接続先メールホスト名はBIGLOBE指定のもの、アカウントはBIGLOBEのメールアドレスである(※)。これを適当な名前で保存(今回は/etc/postfix/biglobe_smtpd)し、これをpostmapコマンドでDBファイルに変換する。

※最初気付かず、暫くハマった。全ユーザ共通のホストだから、@より後ろもないと認証できんのは道理なわけで。

2./etc/postfix/main.cfの修正[/b]
 relayhostの書き換えも含め、以下のような記述を加える。
relayhost =  [BIGLOBE指定のホスト名]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/biglobe_smtpd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = cram-md5, plain, login


 なお「smtp_sasl_mechanism_filter」のエントリについては、実際にBIGLOBE指定のリレーホストにtelnetで25/TCPにアクセス、[b]EHLO localhost
で返ってくる認証メカニズムを記す。どれか1つだけでも構わないと思うが。一応CRAM-MD5を最優先に使用する、ということで。

3.Postfixの再起動
 Postfixをリロードして終了。

 おー、今まで通りきちんと外にウチのドメインでメールが送れたよ。当たり前のことが当たり前にできなくなる、っつーのも世知辛い気がするが、まー仕方ないか、と。