start
忍者AdMax

この記事を読むのに必要な時間は約 7 分 18 秒です。

被害者名簿は渡り歩く

無残な様子のサイトがまだまだ残っている。
ロリポップで同時多発した、第三者によるユーザーサイトの改ざん被害に関するご報告 [2013/09/09 20:42 追記] http://lolipop.jp/info/news/4149/
が掲示されました。

これまでの報告と比べ詳細な内容になっている。

同様の改ざんを確認している対象件数 8,438件

この数字が大きいのか些細なのか、ひとつのレンタルサーバーの顧客としては見過ごせない数字だろう。ただただ、常々から新しいサービスを付与してくるのは転出をしてほしくないからでしょう。

改ざんが拡大した原因
サーバー側のディレクトリパーミッションが不適切だったことと、FollowSymLinks の設定を有効にできる状態であったため、同一サーバー上のユーザー領域を辿り、他のユーザー様の wp-config.php の内容を参照し、データベースの更新を実行することで改ざんの被害が拡大しました。

サーバー側の設定が弱点であることはロリポップは認識できていた。
共用サーバーは利用料金が安いから、初心者に多い。VPS は料金は2倍半から3倍かかる。しかもスペックで観ると共用サーバーの方が高速を謳っている。簡単インストールなどサービスも有る。そしてサーバー容量も倍近い大きいのだから格安感を感じる。お小遣い稼ぎを考えると、容量が大きいので大きなデータをアップできるように受け止めては魅力でしょう。

共用というように、何十というユーザーが同じマンションで過ごしているようなものです。誰かが一時的に電気をたくさん使ったらどうなるか。それを考えたら分かるでしょう?

さて、フォーラムでもロリポップの改ざんに巻き込まれたWordPressユーザーが多く相談に来ています。
それに応じていると、一旦データベースを元に戻しても、翌日ぶり返していたというのが今回のロリポップの悪夢。

数日来相談に乗っていた改ざんの被害にあったユーザーから、久しぶりの報告が来た。
ちょうど1日から1日半振り。
バックアップのデータベースからローカルに作りなおしてみたら問題がなかったということです。不思議な事だ。
やはり、一度攻撃されたサイトは狙われやすいということでしょう。

ハッキングしたサイトはハッキング宣言される。
リストは次々とハッカーの手を渡って行く次第です。

災害復興第二期工事

アマデウスクラシックスのショップサイトは、独立したWordPressが3つインストールして構成しています。
9月8日の夕方に続いて、もう一方のサブサイトをメンテナンス。http://store.amadeusclassics.com/classical/

見るからに改ざんされていた前回に対して、こちらは大丈夫だと思ってました。
ところが気づかれないような改ざんがされています。前回ほどではなかったものの、駆除作業には2時間近くを割いた。

1265358_10202108011130801_222068180_o

The Latest Theme を削除

ショップサイトを作る時に一番最初に、長谷裕二さんが“ここは重要”といった要望は、ありきたりではない海外のサイトに有るようなデザインで。
よくありがちなことは嫌だったようで。メールに書かれる文章は嫌いだ、とも強調されていた。分かるような分からない表現でした。

サイトを公開してから、原稿を届けてくる人です。
コンテンツを先に作るより、レイアウトにこだわっているようでした。
それで先にテンプレートを幾つか集めた。

好ましいレイアウトのテーマだったので、サイトのデザインを選んでもらうために選んだもののひとつだった。2,012年4月8日のタイムスタンプがある。それ以降のアップデートはなかったものだと思われます。フッターには明らかに通常の書かれ方がなかった。
テスト表示してもフッターは無いデザインだな、と見過ごしたのだろう。

thelatesttheme

Wordfence Security 3.8.3 をインストールしてスキャン。テーマ“thelatesttheme”のフッターに不審なコードを発見。PHP の実行ファイル。

This file is a PHP executable file and contains an eval() function and base64() decoding function on the same line. This is a common technique used by hackers to hide and execute code. If you know about this file you can choose to ignore it to exclude it from future scans.

このファイルには、PHPの実行可能ファイルで、同じ行のeval()関数とbase64の()デコード機能が含まれています。これは、コードを非表示にして実行するためにハッカーが使用する一般的な手法です。このファイルについて知っている場合は、今後のスキャンから除外するためにそれを無視するかを選択できます。

これを削除。

修復の作業

スリーパーのファイルの削除と修正のほかに、セキュリティを2つ実行しました。

  1. Timthumb スキャン
  2. Wordfence スキャン

実際の作業は以下のとおり。

  • Timthumb Vulnerability Scanner をインストール。スキャンでの不正ファイルは発見されなかった。
  • 不正ファイルをスキャンして、1日1回定期審査のメール受信をアクティベートする。
  • Wordfence Securit をインストールしてスキャン。テーマ『The Latest Theme』のフッターに不審な PHP 実行コードを発見した( /home/〜/wp-content/themes/thelatesttheme/footer.php )ので、当テーマを削除。

プラグインとテーマのアップデートと新規インストール

  • Jetpack by WordPress.com 2.3.5 → 2.4.2
  • WordPress.com Stats 1.8.5 → 1.8.6
  • Business lite 4.0.11 → 4.0.14
  • TimThumb Vulnerability Scanner 1.53
  • Wordfence Securit 3.8.3

クラシックのレコード、CD全般のデータベース代わりとして、長谷裕二さんが前に書いたコメントをもう一度使いたいと要求した時に再び商品データとしてインポートするためにサブサイトとしてのものなので、ユーザー登録は最初から許可しない設定でしたし幸い検索されることなかったのか、コメントは一件もなかったのでスパム対策は今回施していません。

Tagged with:  

Comments are closed.

end

Warning: file_put_contents(/home/users/0/amadeusrecord/web/amadeusclassics/express/blog/wp-content/cache/zencache/cache/http/express-amadeusclassics-com/archives/1031.html-66315691f3511052204716-tmp): failed to open stream: Disk quota exceeded in /home/users/0/amadeusrecord/web/amadeusclassics/express/blog/wp-content/advanced-cache.php on line 1042

Fatal error: Uncaught Exception: ZenCache: failed to write cache file for: `/archives/1031`; possible permissions issue (or race condition), please check your cache directory: `/home/users/0/amadeusrecord/web/amadeusclassics/express/blog/wp-content/cache/zencache/cache`. in /home/users/0/amadeusrecord/web/amadeusclassics/express/blog/wp-content/advanced-cache.php:1050 Stack trace: #0 [internal function]: zencache\advanced_cache->output_buffer_callback_handler('<!DOCTYPE html ...', 9) #1 /home/users/0/amadeusrecord/web/amadeusclassics/express/blog/wp-includes/functions.php(3786): ob_end_flush() #2 /home/users/0/amadeusrecord/web/amadeusclassics/express/blog/wp-includes/class-wp-hook.php(286): wp_ob_end_flush_all('') #3 /home/users/0/amadeusrecord/web/amadeusclassics/express/blog/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array) #4 /home/users/0/amadeusrecord/web/amadeusclassics/express/blog/wp-includes/plugin.php(453): WP_Hook->do_action(Array) #5 /home/users/0/amadeusrecord/web/amadeusclassics/express/ in /home/users/0/amadeusrecord/web/amadeusclassics/express/blog/wp-content/advanced-cache.php on line 1050