自分が利用しているサーバが迷惑メール発信源になっているのを止めたい!


某レンタルサーバを利用して複数のドメインを管理しています。
数日前からいきなり数時間に1万件を超えるMAILER DAEMONメールがサーバー管理アカウント用メールアドレスに届きだしました。
最初は私自身にいたずらメールが大量に届いているのかと思っていましたが、サーバ管理会社に確認すると、どうやら私のサーバから大量のスパムメールが発信されているようです。
これをどこから(または誰が)発信しようとしているのかを探すことはできませんか?
もしかしたらですけど、誰かがウイルスに感染しているとかの可能性もありますよね?

-文字数制限でヘッダー掲載できなかったので別途掲載します-

OSはCentOSでrootのPassはあります。
以上、まずはどこから手をつけたら良いでしょうか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/12/05 15:57:22
  • 終了:2013/12/09 11:45:19
id:master-3rd

メールのヘッダー部分はこんな感じです。
-----------
Return-Path: <"○○○○@△△△△△.cp."レンタルサーバ会社のドメイン"">
Received: (qmail 7768 invoked by uid 48); 4 Dec 2013 21:36:27 +0900
Date: 4 Dec 2013 21:36:27 +0900
Message-ID: <□□□□.7763.qmail@△△△△△.cp.レンタルサーバ会社のドメイン">
To: ■■@terra.com.br←このドメインは私は管理していません
Subject: Agradecemos a sua coopera鈬o! 04/12/2013 09:36:27 1,685848E-02 04/12/2013 09:36:27
X-PHP-Originating-Script: 10008:mag2.php
MIME-Version: 1.0
Content-type: text/html; charset=iso-8859-1
From: <■■@terra.com.br> ←このドメインは私は管理していません
-----------------------------------

回答(1件)

id:papa-tomo No.1

パパトモ回答回数362ベストアンサー獲得回数1072013/12/05 17:25:58

どこから不正にアクセスされたものか見るには「Received: from」を見れば分かると思いますが、上のソースでは抜け落ちてますね。Received: fromにドメインが入ることもありますが、ドメイン偽装の可能性もあるので、ドメインは信用せずにIPアドレスを見るべきです。

たぶんSMTP-Authの設定をされていないのだと思います。SMTPに認証をつけないと、中継を許可しているのと同じで、不正な目的でサーバがよそから利用されます。SMTP-Authの他には、POP before SMTPなどがありますが、SMTP-Authの方がセキュリティは高いと思います。

何が原因なのかは、メール不正中継拒否テストサービスで行うと一目瞭然です。私がよくチェックに使うのは下記のサービスですが、これが信用できるかは自己責任でお願いします。

サイト:http://www.rbl.jp/
サービスのページ:http://www.rbl.jp/svcheck.php

id:papa-tomo

あ、X-PHP-Originating-Script←これ怪しいですね。

PHPで作成されたCMSやBBSなど使っていれば、そこのセキュリティホールを利用された可能性がありますね。

2013/12/05 17:44:33
id:master-3rd

みなさん回答ありがとうございます。
サーバ管理会社と連絡を取り色々と調べた結果、お客さんが管理しているサイトに「mag2.php」と言うファイルが発見され、それがメールを大量に発送している事が確認できました。
調べると、どうやらブラジルからアップロードされたそうです。
問題のファイルを削除し、FTPのPASSを変更する事でとりあえず現状は安定しているようです。
皆さんの回答・アドバイスありがとうございました!

  • id:psne
    > X-PHP-Originating-Script: 10008:mag2.php
    ここが気になりましたが、何かメール送信を行えるようなスクリプトは設置していますか?
  • id:master-3rd
    各サイトに最低1つお客さまからのメールフォームは設置しています。
    でも、phpではなくperlですね・・・("~mag2.php"は、そういうことではない?)

    phpでメールを発信しそうな物、phpBBは怪しいですか?
    問題が起きるさらに数日前にインストールしました。
  • id:psne
    別なログも取ってみましょうか。
    php.iniにメール送信時のログを保存する設定を追記します。
    方法、ログフォーマットなどは、下記ダイアリを参照に。
    http://d.hatena.ne.jp/shimooka/20090112/1231686943

    これでどのスクリプトから送信されているかが分かるかと思います。
    お客様が設置したものかもしれませんが、身に覚えがない物でしたら、第三者によるアクセスがあったのかもしれません。

    > phpBBは怪しいですか?
    こちらは、利用していない為、不明です。
    (ダウンロードしたパッケージ内に、mag2.phpというファイルは無さそうですね。)
  • id:standard_one
    事情が分からないけどリレーの設定はどうなってますか?
  • id:master-3rd
    返答ありがとうございます。

    リンク先を確認してみましたが、サーバについてはあまり知識がない為何がどうなっているのかが全然わからないです。

    php.iniは発見できました。
    mail.add_x_header = On
    ;mail.log =
    となっていました。
    ";"はコメントアウトの意味ですよね?
    この状態を
    mail.log = /path/to/mail.log
    に変える事までは理解できましたが、
    ------
    <?php
    mail('shimooka', 'test', 'hogehoge');
    ------
    ここから先がどうしたらよいのかが理解できませんでした。
    (ファイルをどこかに保存?場所やファイル名は?CLI版PHP??)

    すみませんが、詳細を教えていただけないでしょうか。

    また、ローカルのデータを確認してみましたが、「mag2.php」はありませんでした。

  • id:papa-tomo
    おっと、コメント欄で会話が進んでますね。
    phpBBの最新版なら、この問題は無いと思います。
  • id:master-3rd
    >standard_one さん
    >事情が分からないけどリレーの設定はどうなってますか?
    リレーの設定とは…
    どこを確認したらよいでしょうか?
  • id:master-3rd
    >パパトモ さん
    サイト確認しました。
    メインドメインで確認して、これどうなればいいの?を確認しようと思って入力画面に戻り、再度サーバのIPで確認しようとしたら短い時間での検索ダメ!って怒られたのですが、多分青い文字で「no relays accepted.」と出てたはずです。

    あ!
    standard_oneさんの返答にもなりますが、
    また、サーバの設定で(PLESKを利用)、「サーバ全体のメール設定」→リレーオプション→メールリレー→「認証が必要」の「SMTP」にチェックが入っています。
    これは「SMTP-Auth」設定が出来ているということでしょうか?

    また、もしかしたらこの件と関係あるかもしれませんが…
    数ヶ月前、サーバに攻撃を受け同じレンタルサーバ会社内でプラン変更して移動を行いました。
    その際、phpBBを利用していたのでそのデータも移動したのですが、気が付いたら(普段そう多くの人が利用していなかったので…)新記事書き込みも管理人のコントロールパネルへのアクセスもできなくなってしまいました。(各記事の表示はできています。)
    その為、数日前に最新バージョンのphpbbをダウンロードしてきて現在手作業でデータを移しています。
    もしかしてですけど、このアクセスできなくなってしまった旧phpbbが何かされた可能性はないでしょうか?
    多分、旧phpbbは3.0.11だと思います。(素材フォルダにzipがありました)
  • id:psne
    おっと、「/path/to/mail.log」はそのまま記述すると、上手く動作しないと思います。
    「/var/log/mail.log」という様に、他のログが居る場所を指定してあげると良いですね。

    > <?php
    > mail('shimooka', 'test', 'hogehoge');
    こちらは、どのような動作をするかを試すための短いphpスクリプトです。
    例えば、
    mail('送信先メールアドレス', '件名', '本文');
    と置き換えて、ブラウザからこのphpスクリプトを呼び出すと、送信先メールアドレス宛にメールが送信されます。
  • id:master-3rd
    >ぽけっとしすてむ さん

    メール届きました!
    これは、何を書き込みしたらよいでしょうか?
  • id:master-3rd
    >ぽけっとしすてむ さん

    /var/log/mail.log
    には何も書かれていませんでした。
    あ!MAILER DAEMONのヘッダーを張り付ければOKでしょうか?
    現在、あまりにも大量に来てたので、サーバのメールフィルターで全部削除にしてました。
  • id:papa-tomo
    SMTP-Authの設定は大丈夫そうですね。

    no relays acceptedの青文字は沢山出てくると思います。
    全部no relays acceptedで、赤い文字がなければ不正リレーの可能性はありません。

    そうなるとphpBBかな・・・

    mail.log = /path/to/mail.log

    と設定されたなら、mail.logに先ほどのテストも含めてログが書かれているはずです。
    mail.logに何が記録されているか見れば、原因を掴めるのではないでしょうか。
  • id:psne
    届いたメールのヘッダに
    X-PHP-Originating-Script:(数字とファイル名)
    が含まれているのが確認できます。
    そして、ログ保存の設定が正しければ、指定した場所に送信ログが残っています。
    ログ側には、スクリプトが設置されたパスが記録されていると思いますので、それを参考に原因を特定してくことになります。

    おそらく、No1のコメントにあるように、何らかのセキュリティホールを利用されたのだと考えられます。
  • id:papa-tomo
    PHPがApacheのモジュールなら、Apacheを再起動しないとphp.iniの設定は反映されませんよ
  • id:papa-tomo
    もしかして、まぐまぐの何かサービスを使ってませんか?
  • id:master-3rd
    >パパトモ さん
    >Apacheを再起動しないと

    ですよね…
    /etc/rc.d/init.d/httpd restart
    で再起動しました。
    しかし、mail.logの方は空っぽですね…
    mail.log =/var/log/mail.log
    で間違えはないですよね?
    量は減りましたがやはりMAILER-DAEMONは届いています。

    例えばですが、旧phpbb(管理ページにアクセスできなくなってしまった物)が何か悪いとした場合、ここを見る事は出来ても動作させないようにするにはphpbbが入っているディレクトリ以下すべてを644等実行禁止にすることで止まる可能性はあるでしょうか?
  • id:master-3rd
    >パパトモ さん

    >まぐまぐの何かサービスを
    ちょっと調べてみます。
  • id:papa-tomo
    メールヘッダが正しい(偽装されていなければ)ならば、mag2.php が送信しているのだと思います。
  • id:papa-tomo
    phpBB3なら、メールに関するセキュリティホールは無いと思いますから、実行禁止にしても状況は変わらないと思います。MAILER-DAEMONの返事は時差があったりしますから、すでに送信済みのメールによるものかもしれません。
  • id:papa-tomo
    連投ごめんなさい。

    mag2.phpで思いあたるのは、まぐまぐのサービスなのです。
    まぐまぐのサービスが問題ということではありませんが、mag2.phpが何かヒントをくれているはずです。
  • id:master-3rd
    今来てるのはこんな感じです。
    また、まぐまぐのサービスは使っていないような気がします。

    Received: (qmail 6321 invoked by alias); 5 Dec 2013 18:53:47 +0900
    Delivered-To: postmaster@△△△△.cp.レンタルサーバ会社のドメイン
    Received: (qmail 6316 invoked for bounce); 5 Dec 2013 18:53:47 +0900
    Date: 5 Dec 2013 18:53:47 +0900
    From: MAILER-DAEMON@△△△△.cp.レンタルサーバ会社のドメイン
    To: postmaster@△△△△.cp.レンタルサーバ会社のドメイン
    Subject: failure notice
    X-Antivirus: avast! (VPS 131204-2, 2013/12/05), Inbound message
    X-Antivirus-Status: Clean

    ------------
    また、本文のオリジナルメッセージ部分には以下の表記が。
    Return-Path: <>
    Received: (qmail 6310 invoked from network); 5 Dec 2013 18:53:47 +0900
    Received: from if00-mail-sr02-mia.mta.terra.com (208.84.243.9)
    by △△△△.cp.レンタルサーバ会社のドメイン with SMTP; 5 Dec 2013 18:53:47 +0900
    Received: from dresden.tpn.terra.com (unknown [10.235.200.119])
    by mail-sr02-mia.tpn.terra.com (Postfix) with ESMTP id 2E70E600224D
    for <psaadm@△△△△.cp.レンタルサーバ会社のドメイン>; Thu, 5 Dec 2013 09:53:46 +0000 (UTC)
    Received: by dresden.tpn.terra.com (Postfix, from userid 520)
    id 2D2A4C0000099; Thu, 5 Dec 2013 09:53:46 +0000 (UTC)
    Auto-Submitted: auto-replied
    Precedence: junk
    Content-Type: text/plain; charset=ISO-8859-1
    Content-Transfer-Encoding: quoted-printable
    In-Reply-To: <○○○.30390.qmail@△△△△.cp.レンタルサーバ会社のドメイン>
    References: <○○○.30390.qmail@△△△△.cp.レンタルサーバ会社のドメイン>
    X-Terra-Delivered-To: 2315106#perm!terra
    From: danielnader@gmail.com
    To: psaadm@△△△△.cp.レンタルサーバ会社のドメイン
    Subject: [Automatic Message] =?iso-8859-1?q?Mudan=E7a?= de e-mail
    Message-Id: <20131205095346.2D2A4C0000099@dresden.tpn.terra.com>
    Date: Thu, 5 Dec 2013 09:53:46 +0000 (UTC)
  • id:papa-tomo
    Received: from if00-mail-sr02-mia.mta.terra.com (208.84.243.9)

    とあるので、208.84.243.9から要求されたメールが送信されたというように見えますね。誰かのアカウントを乗っ取られたようにも思えます。

    もし誰かのアカウントで送られているなら、qmailのログにAuth情報とか出せれば対策できそうですが。PLESKは使ったことが無いので、PLESK経由で設定できるかは分かりません。

    SMTPサーバはqmailなのでしょうか。
    qmailだとデフォルトではAuth情報はログに出なかったような・・・
  • id:papa-tomo
    もう一度整理すると・・・

    1)不正リレーの可能性がないかチェック
    2)PHPで動作しているサービスのセキュリティホールをチェック
    3)誰かのアカウントが使われていないかチェック

    になると思います。
  • id:master-3rd
    >パパトモ さん

    SMTPサーバはqmailです。
    また、http://www.rbl.jp/svcheck.phpをサーバのIPアドレスで再度確認してみました。
    すべてrelay NOT accepted!!になっていました。

    >3)誰かのアカウントが使われていないかチェック
    これはどのようにチェックしたらよいでしょうか?

  • id:fiwa
    数ヶ月前に攻撃を受けたということですが、ひょっとしてPlesk絡みのものだったのでしょうか?
    その時に何か仕込まれたものがあって、それも一緒に移行してしまった、という可能性はありそうな気も。
    http://kb.parallels.com/jp/116241

    メール送信経路の特定とは直接関係ないですが、ちょっと気になったもので。
  • id:papa-tomo
    誰かのアカウントが使われていないかチェックするには、SMTPのログでAuthログを取るようにしなければなりません。もしqmailを使われているなら、そのままではログは取れないと思います。改造が必要になります。

    参考:
    http://www.psychoscape.net/linux/2004/20040419.html

    これまでの経緯から、誰かのアカウントが乗っ取られたか、もしくはアカウントを持っている方のPCがウィルスに汚染されているように思います。
  • id:psne
    >「mag2.php」と言うファイルが発見され、それがメールを大量に発送している事が確認できました。
    とりあえずは、原因が分かって良かったですね。
    コメントでのやり取りでmail.logを取るようにしましたが、このまま放置するとログが肥大化しますので、ローテートを行うなどをしてあげてください。
  • id:papa-tomo
    その昔、私もFTPで痛い目にあったことがあります。

    FTPは一番乗っ取られ易いので、普段使わないならOFFにしておいた方が無難です。
    使うときだけONが良いと思います。

    とにかく原因が判明して良かったですね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません