web-dev-qa-db-ja.com

これらの「シングルドット」SMTP接続障害はどこから発生しますか?

私はpostfixに基づいてメールサーバーを実行しています。このような接続障害がたくさんあります:

Transcript of session follows.

Out: 220 hostname.tld ESMTP Postfix
In:  .
Out: 502 5.5.2 Error: command not recognized
In:
Out: 500 5.5.2 Error: bad syntax

Session aborted, reason: lost connection

これらの接続はさまざまなIPから送信されますが、ほとんどの場合、IPごとに数十分から数百回の試行が行われます。

これらの接続の原因は何ですか?これが「ドアをノックしている」ウイルス、ワーム、またはボットネットである場合、なぜホストごとにこれほど多くの回数が発生するのでしょうか。または、単一のドットを送信して何らかの機能テストを行い、サーバーが間違った方法で反応しますか?繰り返しますが、複数回の試行は意味がありません。そして、それはどのDoSスケールからも遠く離れています。

たぶんあなたの何人かはそこで何が起こっているのか知っていますか?

2
McJoey

ドットは、SMTPプロトコルで電子メールのメッセージを終了するために使用されます。空の行(CR、LF)の後に、単一のドットが続き、CRとLFを含む改行が続きます。しかし、これは明らかにここでは当てはまりません。

これらのSMTPクライアントが単なるボットネットなのか、正当な送信者なのかを確認するには、IPのPTRを確認し、両方ともログに記録します。 PTRがプロバイダーからの一般的なものである場合、192-0-2-1.broadband.customers.example.comのようなもの。次に、それを本当に無視し、fail2banを使用してそれらをブロックできます。

HELOはPTRと一致する必要がありますが、少なくともベストプラクティスです。しかし、それらが類似していない場合は、おそらくボットネットです。

他のケースでは、誰かがサーバーでスキャンを実行し、TLSプロトコルと暗号をプローブしている可能性があります。


このような要求の後にクライアントを禁止するには、fail2banを使用できます。これは、不正な要求が多すぎるとIPを一時的にブロックします。

filter.d/postfix-syntax.conf

[INCLUDES]
before = common.conf

[Definition]
failregex = reject: RCPT from (.*)\[<Host>\]: 502 5.5.2
            reject: RCPT from (.*)\[<Host>\]: 500 5.5.2
ignoreregex =

そしてこれをあなたのjail.confに追加してください:

[postfix-syntax]
enabled  = true
port     = smtp,ssmtp,submission
filter   = postfix-syntax
logpath  = /var/log/mail.log
maxretry = 10
2
sebix

メールサーバーをインターネットに公開している場合は、ほとんどの接続がスパムボットやその他の不正な送信者からのものであると予想してください。

Fail2banのエラーの拒否を一致させることを検討します。正当な送信者が生成してエラーが発生することはめったになく、禁止された場合は後で再試行します。私はスパマーの疑いに対していくつかの厄介なことをします、そして正当な送信者が配達の遅れ以外の問題を抱えてから何年も経ちました。

送信者の正当性を確認するために、いくつかのテストを使用します。

  • IPはzen.spamhaus.orgにリストされていません。 (動的IPの幅広い選択が含まれます。)
  • IPには、rDNSを渡すDNS PTRがあります。正当なメールにPTRレコードがないことはめったになく、IPアドレスのrDNSはほとんどの場合通過します。
  • HELO/EHLOコマンドの名前は、rDNSを渡す完全修飾ドメイン名(FQDN)です。 1つの大企業を除いて、これはほとんど常に通過します。通常、この名前はIPアドレスに使用されるものと同じです。
  • PTRレコードとHELOコマンドの名前は、直接または親ドメインのSPFHELO検証に合格します。 SPFレコードのないドメインも合格しますが、信頼性は得られません。これにより、大規模な組織のドメインを使用して自分自身を識別するスパムボットがブロックされます。

DKIMを使用して検証したいのですが、送信者の多くがDNSで公開鍵を適切に公開していません。

接続がまだ開いているときにこれらのテストを実行できない場合は、送信者がスプーフィングされていないことを確認できない限り、メッセージをバウンスしないでください。 (私はFBI、国連、銀行などからのすべてのお金の申し出に感謝します、しかしそれらはまだ配達されていません。)

1
BillThor