satakesatakeの日記

 | 

2011-08-03

BLに登録されてしまい、とある企業にメールが送れないという話

| 11:21

BLと言っても、いかがわしい話ではなく、ここでのBLは、ブラックリストのこと。

弊社メールサーバIPアドレスが、http://www.spamhaus.org というサイトのXBLというブラックリストにいつの間にか登録されてしまった。

こちらでメールを送りたいお客様のメールサーバは、XBL等を参照してスパム業者を拒否しているらしく、このリストに登録されてしまうと、リストから除去されるまで永遠に届かない(っぽい)。

そして、こんなメールが返信されてくる。

   ----- Transcript of session follows -----
... while talking to ****.******.com.:
<<< 554-****.******.com
<<< 554 Your access to this mail system has been rejected due to the sending MTA's poor reputation. If you believe that this failure is in error, please contact the intended recipient via alternate means.
... while talking to ****.******.com.:
<<< 554-****.******.com
<<< 554 Your access to this mail system has been rejected due to the sending MTA's poor reputation. If you believe that this failure is in error, please contact the intended recipient via alternate means.
... while talking to ****.******.com..:
<<< 554-****.******.com
<<< 554 Your access to this mail system has been rejected due to the sending MTA's poor reputation. If you believe that this failure is in error, please contact the intended recipient via alternate means.
... while talking to ****.******.com..:
<<< 554-****.******.com
<<< 554 Your access to this mail system has been rejected due to the sending MTA's poor reputation. If you believe that this failure is in error, please contact the intended recipient via alternate means.
554 5.0.0 Service unavailable

エラーの文脈で検索してみると、下記ブログなどが参考になった。

http://kininarukedo.blog84.fc2.com/blog-entry-397.html

スパム認定されたワケ

ともあれ、何故、弊社メールサーバスパム業者認定されたかというと、SMTPのHELOコマンドで、

localdomain.localhost

などというナメたバナーを出力していたからだ。

対策

XBLからリストを除去する場合、CBLというサイトでリクエストを送る必要があるため、除去リクエストを送る。それが spamhaus に反映されるのは、時間差があるようだ(1時間以内だった)。

除去リクエスト申請を行ったあと、IPをルックアップしてみたら、下記の英文で、何故にリストアップされたかの理由みたいなものが添えてあった。

ようするに、HELOできちんとドメイン名を返さないのは、RFC5321違反だということらしい。

At the time of removal, this was the explanation for this listing:

This IP address is HELO'ing as "localhost.localdomain" which violates the relevant standards (specifically: RFC5321).

The CBL does not list for RFC violations per-se. This _particular_ behaviour, however, correlates strongly to spambot infections, and it is listed for that reason. Even if it isn't an infection, it's a misconfiguration that should be fixed, because many spam filtering mechanisms operate with the same rules, and it's best to fix it regardless of whether the CBL notices it or not.

There is often confusion between the SMTP "banner" and the SMTP "HELO" (or EHLO) command. These are completely different things, and proper understanding is important.

First some terminology (somewhat simplified to aid understanding):

A "SMTP client" is a piece of software that makes SMTP connections to SMTP servers to send a piece of email to the server. Most E-mail servers consist of an "SMTP listener" (to listen for and handle connections made to them by SMTP clients), an SMTP client (to send emails to other mail servers) and a local delivery agent (LDA) to deliver email to "local" users (eg: via POP or IMAP).

Thus, SMTP clients make connections to SMTP listeners, and issue SMTP commands to the listener.

The "HELO" (or "EHLO") command (see RFC2821) is a command issued by the SMTP client to an SMTP server to identify the name of the client. "HELO mail.example.com" means, essentially, "Hi there, my name is mail.example.com".

The "SMTP banner" is what the listener says in response the initial connection or in response to the HELO command.

The CBL works in many cases by seeing what SMTP clients say (in the HELO/EHLO command) when the client connects to a CBL detector. Since the CBL NEVER does SMTP probes, it has no way of knowing how a given IP banners.

You can test SMTP banners with telnet and other similar diagnostic tools, but you CANNOT test SMTP HELO/EHLO with telnet.

For that, you can send an email to helocheck@cbl.abuseat.org. That will reject the email (as an error), and the error will show you what the HELO/EHLO was.

If this IP is a mail server: please read namingproblems to find out why your IP was listed, and ways to fix it so it doesn't relist.

スパム業者の多くは同じくlocaldomain.localhostと出力するところが多いようだ。

これではイカンということで、/etc/mail/sendmail.mc に以下の行を追加し、sendmail再起動した。

define(`confDOMAIN_NAME', `smtp.example.com')dnl

こいつを追加することでHELOコマンドは設定したドメインを返す。

お客様のメールサーバBLの参照が反映されるのは、さらに時間差があるようで、未だ、こちらから送信するメールは、お客様には未着。

これは困った。だが、きっと、時間が解決するんだろう。

解決した。1時間程度、反映にはタイムラグがあるようだ。

その他の参考サイト

http://neta.ywcafe.net/000678.html

http://internet.watch.impress.co.jp/cda/special/2006/11/09/13880.html

結論

結論しては、クソみてーな設定でメールサーバ運用するんじゃねえよ、ボケがってことですね。ホントスンマセン。

 |