エックスサーバーから不正なプログラムが動いているよ!の連絡が・・
エックスサーバーからまたもや「【エックスサーバー】■重要■お客様のサーバーアカウントにおける不正なアクセスの検知および制限の実施について」というメールが届いてしまいました。
サーバーアカウントに於いて、サーバー用メール送信ソフトウェアを用いた、国内外のメールアドレスに対する大量のメールす送信処理を確認した。
とのことです。
要はわたくしが契約しているサーバーからスパムメールが大量に送られていた形跡がある、ということらしいです。
エックスサーバーのサポートからのメールには
「お客様がご利用のプログラムにセキュリティ上致命的なバグ(脆弱性)が存在し、
当該脆弱性を第三者に悪用されてしまった可能性が非常に高い状況でございました。」
とのことです。
このサーバーで使っていた「プログラム」と言えば、ワードプレスくらいです。
中にはいくつもドメインが突っ込んであり、ワードプレスも多数・・
ただ、以前もやられているので、それぞれセキュリティは強めていたはずだし、何かの改ざんがあった場合には「メールで知らせる」設定にしていたはず。今回は特に感知もなく、エックスサーバー様からのサポートメールで気が付いた次第です。
ただ、スパムメールが大量に送られていた、だけではなく、やはり知らないデータがたくさん作られており(解読不能な文字列のPHPデータや、contents.php、2index.phpなど)、今回も各フォルダに「.htaccess」が大量に作られておりました。
.htaccessが改ざんされているので、トップページ以外が見れなくなっているワードプレスサイトも多数あり、まずは即刻不要なデータを削除する必要があります。
不正なデータを削除し、ワードプレスを復活させるために行ったこと
- いつも使っているFTPソフト、WinSCPにて「.htaccess」を検索し、同じ日時で生成されているデータを一斉削除
→一部ベーシック認証にてパスワード付きサイトもありましたが、有無を言わさず一旦.htaccessを削除し、後で再度設定する方向にする。
- エックスサーバーから遅れてきた「不正プログラムファイル」リストを一つ一つ手動で削除
- ワードプレスを使っていないフォルダにも不可解データが入っているので削除
- ワードプレスはプラグインを最新版に変更し、それぞれで「Anti-Malware」と「ワードプレス ドクターマルウェアスキャナー」でスキャン
を行い、すべてのサイトの表示を確認しました。
ただ、困ったことが1点。
どうしても削除できないフォルダがある、ということです。
どうしても削除できないデータが見つかる。
- エックスサーバーのファイル管理画面から「削除」してもダメ(再度画面に表示される)
- フォルダごとパーミッションを変更、リネームしてもダメ
- 以前、一瞬で消すことができたPHPを使った方法でも削除不可
「エックスサーバー 消せないデータ」で検索して出てきたページを参照
エックスサーバーの「よくある質問」に掲載されていた「FTPソフトでファイルやフォルダが削除できません」を見てみたら、「FileZillaのソフトを利用する事で削除できる場合があります。」という記載が!!
FileZillaは以前使ったことがあるのですが、実はいまいち使い方が分からなくて、FTPソフトはずっと「WinSCP」を使っていました。
でも、これは試してみよう・・と重い腰を上げて、FileZillaを立ち上げて、今回のエックスサーバーにつなげてみます。
例の消せないフォルダを「削除」してみると、なんか動いているっぽいんだけど・・・かなり時間がかかる。
どうやら「Directory not empty」と書かれている・・。
これはWinSCPでも同じでした。
致し方なくエックスサーバーのサポートへ連絡する
もうどうしようもなく、エックスサーバーのサポートへメールにて連絡をしました。
・当方で行った作業の一覧
・消せないフォルダの一覧
を添付して連絡をしたところ、当日中に返信があり、
「当方(エックスサーバーで)で削除代行をしますよ」とのこと。
ここで素直にお願いしまーす!とすればいいのでしょうが、過去にも同じようなことがあり、ことあるごとにお願いするのは気が引ける・・ということで、最後の最後にこちらに書かれていた方法を試しました。
これがビンゴっ!!!!
方法は以下の通り。
テキストエディタで以下の一文をコピペ
<?php system("rm -rf ディレクトリ名/"); ?>
※「ディレクトリ名」は消えないディレクトリ名に変更
テキストエディタ名を「xxx.php」でいったん保存
テキストエディタのファイルを
・remove.php
とか
・clean.php
とか
任意の名前に変更してください。
消したいディレクトリと同じ階層にFTPにてアップロード
FTPにてステップ2で作成したPHPファイルをアップロードします。
消したいファイルがあるディレクトリと同じ階層に入れます
ブラウザにてアクセスして、エンターを叩く!
アップロードした階層のPHPファイルにアクセスします。
アクセスしても、特に白いページが表示されるだけです。
例:https://domain.com/remove.php
など
FTPで再度確認して消えているかチェックする
もしFTPを開いたまま作業をしていたら、「更新」をしてみてください。
任意のフォルダが消えていたら成功です。
もし、消えていなかったら、FTPかエックスサーバーのファイルマネージャより、消したいフォルダのパーミッションを「755」などに変更してから再度お試しください。
以前、試したPHPで消す方法はダメだったのに、こんな一行であっさり消えるなんてっ!!
びっくり!!!
今回、削除できないフォルダがたくさんあったので骨が折れる作業でしたが、今後も使えそうなテクで助かりました!
ありがとう!!
コメント