web-dev-qa-db-ja.com

telnetからの電子メールサーバー攻撃

私のメールサーバーは、メールサーバーにtelnetしようとする攻撃者をブロックするのに問題があります。しかし、私はそれをブロックすることができません、私たちがipでブロックしても、ipは変化し続けます。彼はsmtpトランザクションから通常ではなくtelnetを実行しようとしているようです。彼らは私たちの電子メールサーバーに入ることができませんが、それは毎秒のトランザクションです。それをブロック/停止する方法はありますか?以下はエラーメッセージです:

81.198.214.48   [0968] 16:14:01 Connected, local IP=xx.xx.xx.xx:25
81.198.214.48   [0968] 16:14:01 >>> 220 mymailserver.com ESMTP IceWarp 11.0.1.2; Fri, 13 Feb 2015 16:14:01 +0800
81.198.214.48   [0968] 16:14:02 <<< EHLO ylmf-pc
81.198.214.48   [0968] 16:14:02 >>> 250-mymailserver.com Hello ylmf-pc [81.198.214.48], pleased to meet you.
81.198.214.48   [0968] 16:14:03 <<< AUTH LOGIN
81.198.214.48   [0968] 16:14:03 >>> 334 VXNlcx5hbWU6
81.198.214.48   [0968] 16:14:04 <<< aGFua3M=
81.198.214.48   [0968] 16:14:04 >>> 334 UGFzcxdvcmQ6
81.198.214.48   [0968] 16:14:04 <<< ODg4ODg4
81.198.214.48   [0968] 16:14:24 >>> 535 5.7.8 Authentication credentials invalid
81.198.214.48   [0968] 16:14:24 *** <> <> 0 0 00:00:00 INCOMPLETE-SESSION 
81.198.214.48   [0968] 16:14:24 Disconnected
1
Min Hong Tan

その特異で無効なEHLO引数「ylmf-pc」は、「PushDo」(場合によっては「Cutwail」)として知られる広範なスパムボットネットの既知のフィンガープリントです。トランスクリプトに示されているように、ほとんどの場合、パスワードを推測して認証し、サーバーを介してメールを送信しようとしています。次の3つの特性により、サーバーとの間でスパムが送信されないようにするのは簡単です。

  1. 実際には、ターゲットMTAによって送信されたSMTPバナーを受信する前に、EHLOコマンドを送信します。これは、使用する価値のある最新のMTA(ExchangeやQMailではない可能性があります)が、歓迎されない純粋なスパムクライアントの明確な兆候として検出できる動作です。正当なSMTPクライアントは、基本的なSMTP機能を壊すため、このような「高速通話」動作を示しません。

  2. 文字列 "ylmf-pc"は、完全修飾ホスト名または角かっこで囲まれたIPアドレスリテラルではないため、有効なEHLO引数ではありません。正当なSMTPクライアントがその引数を使用することはありません。ファストトーク動作と同様に、適切なMTAは、本質的に無効なEHLO引数を使用してクライアントからのメールを拒否するように構成できます。

  3. PushDo/Cutwailのほぼすべての感染メンバーは、無料のzen.spamhaus.org DNSBLに、その「CBL」コンポーネントを介してリストされています。速攻や偽のEHLO引数を使用してブロックできない場合でも、DNSBLに基づいてブロックできるはずであり、Zenリストを使用してブロックすることはほぼ一般的に良い選択です。

したがって、MTAが提供されているスパムを受け入れないようにすることは、適切に構成されたMTAを使用すると比較的簡単ですが、使用していると思われる「IceWarp」MTAを使用してそれを行う方法は、ベンダーに最もよく尋ねられる質問です。 1つのPushDoゾンビが何百もの同時セッションを開こうとし、1日に複数回戻ってくる可能性がある一方で、何十もの異なるゾンビが積極的に試みている可能性があるため、関与する可能性のある純粋なトラフィック量に対処することはより困難です。特定の日に1台のサーバーを攻撃します。 MTAから発生する可能性のある軽減オプション。たとえば、Postfixの最近のバージョンは、SMTP会話全体を丁寧に処理するのではなく、高速通話クライアントを一方的にドロップするように設定できます(「postscreen」機能を使用)。Sendmailも同様に構成できます。この問題をさらに軽減するために、fail2ban(前の回答で説明)などのログスニッフィングツールを使用して、特定のIPからのトラフィックをブロックできます。このオプションを選択した場合、PushDo感染は一度に何日も続く傾向があるため、ブロックの有効期限が約1週間を超えないようにする必要があることに注意してください。

8
Bill Cole

攻撃者のヘリ名が無効です(ylmf-pc)これはFQDNでもDNS経由でも解決できないため、無効なEHLOが送信された後にブロックすることで、早期に簡単に取り除くことができます。

たとえば、接尾辞を使用してこれを行うには、次のようにします。

smtpd_helo_restrictions = permit_mynetworks, check_helo_access reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_helo_hostname, permit

ただし、 smtpd_helo_restrictions

次に、これらの無効なクエリのいくつかが入った後、fail2banを使用して彼をブロックできます。fail2banに含まれているpostfixの例はすでにありますが、HELOエラーのルールも含まれているかどうかはわかりません。必要に応じて追加できます。

jail.conf

[postfix-ddos]

enabled  = true
port     = smtp,ssmtp
filter   = postfix-helo
logpath  = /var/log/mail.log
maxretry = 5

filter.d/postfix-helo

[INCLUDES]
before = common.conf

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

ignoreregex =

これはそれらの子供たちをブロックするのに完全に十分です。 fail2banのmaxretry設定を下げて、攻撃を即座にブロックすることができますが、お勧めしません。

5
sebix

CutWail攻撃のその他の問題の1つは、通常はMTA-> MTAトラフィックであるポート25で停止するのは簡単ですが、正当な顧客が接続しようとしている可能性があるポート587では対処するのが難しくなることです。 IPはSpamHausやSpamRatsなどの多くのRBLにある可能性がありますが、顧客は動的IPを使用して接続したり、共有接続などを使用したりします。IPがリストされているからといって、接続が悪いわけではありません。ただし、ブルートフォース攻撃を効果的に行うには、通常、多くの接続が必要であり、特にバナー(HELO/EHLO)が「ylmf-pc」の場合は、これを軽減して連続する試行を制限できますが、何でも注意する必要があります。これを行うために使用するツールで、ブロックが一時的なものであることを確認してください。ボットネットは間もなく別のHELOを選択する可能性がありますが、その間に、ポート587のEHLOがおそらく最善であることを示すすべての試行をブロックします。