サーバがスパムによって飽和状態です。キューに大量のメッセージが滞留しています。メールの送信速度が低下しています。

  • Plesk 11.0 for Linux
  • Plesk 11.5 for Linux
  • Plesk

2016-11-16 12:54:57 UTC

2017-02-12 21:23:20 UTC

3


リクエストを送信

サーバがスパムによって飽和状態です。キューに大量のメッセージが滞留しています。メールの送信速度が低下しています。

解決策

まず最初に、すべてのドメインのオプション「存在しないユーザへのメール」が「転送」ではなく「拒否」になっていることを確認してください。Plesk コントロールパネルの[ドメイン]タブで「一括操作」を使用すると、この設定をすべてのドメインにて変えることができます。

「存在しないユーザへのメール」オプションは、Plesk 7.5.3 以降で利用できます。

また、ホワイトリストの中のすべての IP アドレスとネットワークが信頼でき、見覚えがあることを確認してください。

qmail のキューにメッセージがいくつあるか確認してください。

# /var/qmail/bin/qmail-qstat
messages in queue: 27645
messages in queue but not yet preprocessed: 82

キューに含まれるメッセージが多過ぎる場合、スパム発信源の特定を試みます。

PHP スクリプト以外の方法で認証済みユーザが多くのメールを送信している場合には、送信元のユーザを下記のコマンドで特定することができます(Plesk 8.x 以降)。これらのレコードを見るためには、サーバで 'SMTP 認証' をアクティブにする必要があります。

# cat /usr/local/psa/var/log/maillog |grep -I smtp_auth |grep -I user |awk '{print $11}' |sort |uniq -c |sort -n

"maillog" のパスは、使用している OS によって異なります。

次のステップでは qmail-qread を使用して、メッセージヘッダを読み取ります。

# /var/qmail/bin/qmail-qread
18 Jul 2005 15:03:07 GMT #2996948 9073 <user@domain.com> bouncing
done remote user1@domain1.com
done remote user2@domain2.com
done remote user3@domain3.com
....

メッセージの送信者と受信者が表示されます。メッセージに大量の受信者が指定されている場合、スパムであると考えられます。では、該当のメッセージ(ここでは #2996948 )をキューで確認してみましょう。

# find /var/qmail/queue/mess/ -name 2996948

このメッセージを調べ、"Received" という行を探して、最初にメッセージがどこからどのように送信されたのかを特定します。例えば、次のように表示されたと仮定します。

Received: (qmail 19514 invoked by uid 10003); 13 Sep 2005 17:48:22 +0700

... この場合、このメッセージは UID 10003 のユーザが CGI スクリプトを使用して送信したものです。UID からドメインを特定することが可能です。

# grep 10003 /etc/passwd

"Recieved" 行に "apache" ユーザの UID が含まれている場合(invoked by UID 48 など)、スパムは PHP スクリプト経由で送信されています。この場合、スパムメールの情報(from/to アドレスなどの情報)から送信元を特定します。

しかし、一般的に特定は非常に困難です。スクリプトの送信元がスパムであると確信している場合(はっきりした理由がなくキューが急増した場合など)、次のスクリプトを使用して、現在実行中である PHP スクリプトを確認することができます。

# lsof +r 1 -p `ps axww | grep httpd | grep -v grep | awk ' { if(!str) { str=$1 } else { str=str","$1}}END{print str}'` | grep vhosts | grep php

また、PHP スクリプトでメールを送信しているドメインを特定するには、 こちらの KB 記事 が参考になります。

"Received" セクションが以下のようになっている場合...

Received: (qmail 19622 invoked from network); 13 Sep 2005 17:52:36 +0700
Received: from external_domain.com (192.168.0.1)

...このメッセージは SMTP 経由で受送信されており、送信者は認証されたメールユーザです。

重要: qmail キューを再構築するには

他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。