某レンタルサーバを利用して複数のドメインを管理しています。
数日前からいきなり数時間に1万件を超えるMAILER DAEMONメールがサーバー管理アカウント用メールアドレスに届きだしました。
最初は私自身にいたずらメールが大量に届いているのかと思っていましたが、サーバ管理会社に確認すると、どうやら私のサーバから大量のスパムメールが発信されているようです。
これをどこから(または誰が)発信しようとしているのかを探すことはできませんか?
もしかしたらですけど、誰かがウイルスに感染しているとかの可能性もありますよね?
-文字数制限でヘッダー掲載できなかったので別途掲載します-
OSはCentOSでrootのPassはあります。
以上、まずはどこから手をつけたら良いでしょうか?
メールのヘッダー部分はこんな感じです。
-----------
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> ←このドメインは私は管理していません
-----------------------------------
どこから不正にアクセスされたものか見るには「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
みなさん回答ありがとうございます。
サーバ管理会社と連絡を取り色々と調べた結果、お客さんが管理しているサイトに「mag2.php」と言うファイルが発見され、それがメールを大量に発送している事が確認できました。
調べると、どうやらブラジルからアップロードされたそうです。
問題のファイルを削除し、FTPのPASSを変更する事でとりあえず現状は安定しているようです。
皆さんの回答・アドバイスありがとうございました!
ここが気になりましたが、何かメール送信を行えるようなスクリプトは設置していますか?
でも、phpではなくperlですね・・・("~mag2.php"は、そういうことではない?)
phpでメールを発信しそうな物、phpBBは怪しいですか?
問題が起きるさらに数日前にインストールしました。
php.iniにメール送信時のログを保存する設定を追記します。
方法、ログフォーマットなどは、下記ダイアリを参照に。
http://d.hatena.ne.jp/shimooka/20090112/1231686943
これでどのスクリプトから送信されているかが分かるかと思います。
お客様が設置したものかもしれませんが、身に覚えがない物でしたら、第三者によるアクセスがあったのかもしれません。
> phpBBは怪しいですか?
こちらは、利用していない為、不明です。
(ダウンロードしたパッケージ内に、mag2.phpというファイルは無さそうですね。)
リンク先を確認してみましたが、サーバについてはあまり知識がない為何がどうなっているのかが全然わからないです。
php.iniは発見できました。
mail.add_x_header = On
;mail.log =
となっていました。
";"はコメントアウトの意味ですよね?
この状態を
mail.log = /path/to/mail.log
に変える事までは理解できましたが、
------
<?php
mail('shimooka', 'test', 'hogehoge');
------
ここから先がどうしたらよいのかが理解できませんでした。
(ファイルをどこかに保存?場所やファイル名は?CLI版PHP??)
すみませんが、詳細を教えていただけないでしょうか。
また、ローカルのデータを確認してみましたが、「mag2.php」はありませんでした。
phpBBの最新版なら、この問題は無いと思います。
>事情が分からないけどリレーの設定はどうなってますか?
リレーの設定とは…
どこを確認したらよいでしょうか?
サイト確認しました。
メインドメインで確認して、これどうなればいいの?を確認しようと思って入力画面に戻り、再度サーバのIPで確認しようとしたら短い時間での検索ダメ!って怒られたのですが、多分青い文字で「no relays accepted.」と出てたはずです。
あ!
standard_oneさんの返答にもなりますが、
また、サーバの設定で(PLESKを利用)、「サーバ全体のメール設定」→リレーオプション→メールリレー→「認証が必要」の「SMTP」にチェックが入っています。
これは「SMTP-Auth」設定が出来ているということでしょうか?
また、もしかしたらこの件と関係あるかもしれませんが…
数ヶ月前、サーバに攻撃を受け同じレンタルサーバ会社内でプラン変更して移動を行いました。
その際、phpBBを利用していたのでそのデータも移動したのですが、気が付いたら(普段そう多くの人が利用していなかったので…)新記事書き込みも管理人のコントロールパネルへのアクセスもできなくなってしまいました。(各記事の表示はできています。)
その為、数日前に最新バージョンのphpbbをダウンロードしてきて現在手作業でデータを移しています。
もしかしてですけど、このアクセスできなくなってしまった旧phpbbが何かされた可能性はないでしょうか?
多分、旧phpbbは3.0.11だと思います。(素材フォルダにzipがありました)
「/var/log/mail.log」という様に、他のログが居る場所を指定してあげると良いですね。
> <?php
> mail('shimooka', 'test', 'hogehoge');
こちらは、どのような動作をするかを試すための短いphpスクリプトです。
例えば、
mail('送信先メールアドレス', '件名', '本文');
と置き換えて、ブラウザからこのphpスクリプトを呼び出すと、送信先メールアドレス宛にメールが送信されます。
メール届きました!
これは、何を書き込みしたらよいでしょうか?
/var/log/mail.log
には何も書かれていませんでした。
あ!MAILER DAEMONのヘッダーを張り付ければOKでしょうか?
現在、あまりにも大量に来てたので、サーバのメールフィルターで全部削除にしてました。
no relays acceptedの青文字は沢山出てくると思います。
全部no relays acceptedで、赤い文字がなければ不正リレーの可能性はありません。
そうなるとphpBBかな・・・
mail.log = /path/to/mail.log
と設定されたなら、mail.logに先ほどのテストも含めてログが書かれているはずです。
mail.logに何が記録されているか見れば、原因を掴めるのではないでしょうか。
X-PHP-Originating-Script:(数字とファイル名)
が含まれているのが確認できます。
そして、ログ保存の設定が正しければ、指定した場所に送信ログが残っています。
ログ側には、スクリプトが設置されたパスが記録されていると思いますので、それを参考に原因を特定してくことになります。
おそらく、No1のコメントにあるように、何らかのセキュリティホールを利用されたのだと考えられます。
>Apacheを再起動しないと
ですよね…
/etc/rc.d/init.d/httpd restart
で再起動しました。
しかし、mail.logの方は空っぽですね…
mail.log =/var/log/mail.log
で間違えはないですよね?
量は減りましたがやはりMAILER-DAEMONは届いています。
例えばですが、旧phpbb(管理ページにアクセスできなくなってしまった物)が何か悪いとした場合、ここを見る事は出来ても動作させないようにするにはphpbbが入っているディレクトリ以下すべてを644等実行禁止にすることで止まる可能性はあるでしょうか?
>まぐまぐの何かサービスを
ちょっと調べてみます。
mag2.phpで思いあたるのは、まぐまぐのサービスなのです。
まぐまぐのサービスが問題ということではありませんが、mag2.phpが何かヒントをくれているはずです。
また、まぐまぐのサービスは使っていないような気がします。
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)
とあるので、208.84.243.9から要求されたメールが送信されたというように見えますね。誰かのアカウントを乗っ取られたようにも思えます。
もし誰かのアカウントで送られているなら、qmailのログにAuth情報とか出せれば対策できそうですが。PLESKは使ったことが無いので、PLESK経由で設定できるかは分かりません。
SMTPサーバはqmailなのでしょうか。
qmailだとデフォルトではAuth情報はログに出なかったような・・・
1)不正リレーの可能性がないかチェック
2)PHPで動作しているサービスのセキュリティホールをチェック
3)誰かのアカウントが使われていないかチェック
になると思います。
SMTPサーバはqmailです。
また、http://www.rbl.jp/svcheck.phpをサーバのIPアドレスで再度確認してみました。
すべてrelay NOT accepted!!になっていました。
>3)誰かのアカウントが使われていないかチェック
これはどのようにチェックしたらよいでしょうか?
その時に何か仕込まれたものがあって、それも一緒に移行してしまった、という可能性はありそうな気も。
http://kb.parallels.com/jp/116241
メール送信経路の特定とは直接関係ないですが、ちょっと気になったもので。
参考:
http://www.psychoscape.net/linux/2004/20040419.html
これまでの経緯から、誰かのアカウントが乗っ取られたか、もしくはアカウントを持っている方のPCがウィルスに汚染されているように思います。
とりあえずは、原因が分かって良かったですね。
コメントでのやり取りでmail.logを取るようにしましたが、このまま放置するとログが肥大化しますので、ローテートを行うなどをしてあげてください。
FTPは一番乗っ取られ易いので、普段使わないならOFFにしておいた方が無難です。
使うときだけONが良いと思います。
とにかく原因が判明して良かったですね。