550 5.7.1 Command rejected, You have reached a limit for sending mail.に対処する
こんにちはカモトラです。
最近、メール送信に失敗することが多々ありました。
出力されるメッセージは以下の通り。
「 550 5.7.1 Command rejected, You have reached a limit for sending mail. コマンドで、サーバーがエラーを返しました。エラー内容 = 550 5.7.1 Command rejected, You have reached a limit for sending mail.
メッセージ内容は、「メール送信上限に達したのでメール送れないですよ。」というものですね。
今回、こちらに対応しましたので、対応方法を記載していきます。
契約しているサーバ
今回の事象が発生したサーバですが、さくらインターネットのスタンダードプランで契約しているサーバです。
さくらインターネットでは、1つの契約につき15分間で250通までしかメールが送れない仕様になっています。
メッセージの内容から判断すると、この仕様にひっかかっているように感じます。
メール送信状況の確認は「サーバコントロールパネル」で実施できます。
画面左側にある「メールに関する設定」の「メール送信数グラフ」をクリックします。
クリックすると以下の画面が表示されます。
パッと見てわかりますが、送信数が大変なことになっていますね。
気付いたのが2016/9/28 22:00頃。どうやら踏み台にされているようです。
問い合わせ
さくらインターネットの問い合わせはこちら。
急ぎの対応をお願いしたいところですが問い合わせしようとした時間は深夜帯。夜中にこういった事態に陥ったとしても、すぐに対応してもらえないのが普通です。
とはいっても分刻みでメールが送信されている現状、対処しないわけには行きません。
多くの方にご迷惑おかけしてしまいますので、問い合わせを依頼しながらも、自身で色々と対応しました。
パスワードを変更する
メール送信する際にパスワードが必要ですが、そのパスワードが「123456」や「password」など脆弱だと、そのメールアドレスを使ってメール送信されてしまう可能性があります。
もちろん複雑なパスワードにしているのですが、念のため更に複雑なパスワードに変更しました。
対象がわからないため、全ユーザのパスワードを変更しています。
パスワードの変更は「サーバコントロールパネル」で実施します。
画面左側にある「メールに関する設定」の「メールアドレスの管理」をクリックします。
画面右側に「メールアドレス一覧」が表示されます。変更したいメールアドレスの行で「変更」を押すと別のページに遷移します。そこで「メールパスワードの変更」で、「新しいパスワード」を入力して「変更」ボタンを押すと変更完了です。
変更するとメーラー側でのパスワード変更が必要になりますので、そちらも併せて対応しましょう。
カモトラの場合、パスワード変更したにもかかわらず、送信がとまらないという状況でした。なんてこった。
アカウント削除
使っていないメールアドレスを削除する。
使っていないアカウントが残っていました。パスワード変更も実施していますが、念のため削除します。
削除は「サーバコントロールパネル」で実施します。
画面左側にある「メールに関する設定」の「メールアドレスの管理」をクリックします。
画面右側に「メールアドレス一覧」が表示されます。不要なメールアドレスの行で「削除」を押すと確認画面が表示されるので、本当に消してしまって問題なければ削除しましょう。消すと復元できませんのでご注意を。
しかし、消したにもかわらず、送信がとまらない。
アクセスログを見よ!
パスワード変更、不要なアカウントの削除でもダメな場合は、どこかに不正なファイルが配置されている可能性があります。
その不正なファイルをインターネット経由でアクセスすることでメールを送付する仕組みですね。さくらインターネットのレンタルサーバの場合ですが、「/home/xxxxxxx/log」にwebサーバへのアクセスログが記録されます。
※xxxxxxxは自身のアカウント名です。
このログを確認すれば状況を把握できる可能性があります。
踏み台にさせられているサーバをみたところ、access_log_20160928等々のファイルがありました。「.gz」の拡張子がついているファイルは圧縮されているファイルです。
とりいそぎ、「access_log_20160928」をダウンロードしてみることにました。
テキストエディタで開きます。
おすすめのテキストエディタは「サクラエディタ」です。無料で使用できるにもかかわらず、素晴らしく使いやすいです。
さて、サクラエディタで「access_log_20160928」を開いてみました。
一部のみ抜粋しています。
[28/Sep/2016:00:00:01 +0900] “POST /wp-includes/SimplePie/Content/Type/sql13.php HTTP/1.0” 200 445
のような行が並んでいます。
特筆すべきは「/wp-includes/SimplePie/Content/Type/sql13.php」へのアクセスがやたら多いこと。
ん??何これ…。
FTPソフトウェアを使ってファイルを確認してみました。
おすすめのFTPソフトウェアは「Filezilla」です。無料で使用できるにもかかわらず、素晴らしく使いやすいです。(先ほどと同じコメントですね。)
カモトラのこのサーバはwordpressを使用しています。wp配下をwordpressの配置先にしていますので、見ているディレクトリは
「/home/xxxxxx/www/wp/wp-includes/SimplePie/Type」配下です。
「sql13.php」というファイルがいますね。
ダウンロードして開いてみました。
※一部のみ抜粋しています。また、マスクさせて頂きました
はい。怪しいですね。
SimplePieの「Type」ディレクトリ配下に2つのファイルがいることが正しい状態なのか、確認してみましょう。
てっとり早いのは、SimplePieのサイトからファイル一式をダウンロードして中身を確認することですね。
写真等は省きますが、「sql13.php」という名称のファイルは存在しないことが確認できました。不正に置かれたファイルのため、削除します。
さくらインターネットのレンタルサーバの仕様で15分に送れるメール数が決まっていることから、「sql13.php」を削除してから5分毎に確認しました。
確認するたびに毎回ドキドキです。
結果
1時間経過してもメール送信がされていないことから、メール送信が止まった!!!!と判断しました。なんとか踏み台を解除できました。
カモトラの場合も、他の不正ファイルもありました。正しいファイルにもかかわらず、中身が書き換えられているパターンでしたね。
やはり、サーバ上のデータをいったん全て削除し、新たに作成することが望ましいかと思います。
削除前に仮にバックアップを取得したとしても、既に不正なファイルがその中に紛れ込んでいる可能性が高いため、そのデータは利用しないほうが良いですね。
普段から定期的にバックアップを取得しておくべきでしょう。
サーバパスワード変更
今回、どのように侵入されたかは不明ですが、これを機にサーバのパスワードも変更しました。
パスワード変更は「サーバコントロールパネル」で実施します。
画面左側にある「サーバ情報とパスワード」の「サーバパスワードの変更」をクリックします。
画面右側に「サーバパスワードの変更」画面が表示されるので、そこで変更できます。
さくらインターネットから回答が届きました
やはり想定していた通り、不審なアクセスがたくさんあったようです。