マルチサイト構築時、油断してて大量のスパムにやられた!一番の脆弱性は自分って話 #wacja2012

マルチサイト構築時、油断してて大量のスパムにやられた!一番の脆弱性は自分って話 #wacja2012

2012年12月5日

#12/5 22:40追記あり

どうもどうも、マイペースたんことKさんです。
この記事は12/1~12/25の期間、毎日ブログ記事を数珠つなぎにしていく「WordPress Advent Calendar 2012」の第5日目として書いております。
4日目の星野さん(@khoshino)水野さん(@ounziw)というビッグネームからのバトンを受けての投稿です。
(予約投稿なので星野さんの記事より先に出てたらごめんなさい)

今日12/5はいよいよ!WordPress3.5の正式リリース予定日です!
(本当に今日リリースされるかはまだ知らない)

そこで今日はもちろん、3.5の最速レビュー………………………だと思った?

残念!
(RC1のスライド頑張ったからそれで勘弁して)

実は昨年参加させてもらった「WordPress Advent Calendar 2011」で書いた『3大「WordPressに慣れていない人がやってしまいがちだけど、こっちのほうがいいのになぁ」って思うこと』という記事がなぜかバズってはてブ800超とかやらかしていろいろ怖くなったので、今年はあまり波風立たないようなネタにしました。


さて、先日とあるお客様のサイトの更新を依頼され作業していました。
そこで、最初は気づかなかったのですが異変に気づいてしまいました。

なんだこれーーーー(((((((( ;゚Д゚))))))))

▲クリックで拡大

大量のスパム子ブログと、スパムユーザーが作られているではありませんか!

そして、生成されてたスパムサイトはこんな感じ。

▲クリックで拡大

もはや、英語ですらなくて、どっかの国の悪徳SEO業者がスクリプトを走らせて、勝手に外部リンクを得るための子ブログを作りに来ていました。
(スパムユーザーのメールアドレスの多くが、linkなんちゃら.comというドメインで作られていました)

このサイトの普段の運用について

このサイトは普段、お客様側で管理や更新をしているので日常的にログインするわけではありません。

普段、直請け・下請け問わず私が担当する案件では、クライアントには管理者権限を敢えて渡さず、編集者権限以下のユーザーレベルに設定して、なるべく設定項目の少ないダッシュボードで更新してもらっているケースが多いです。
お客さんには更新作業だけに集中してもらい、コアのバージョン管理や設定などのメンテはこちらにお任せいただくという体制です。

しかしこのサイトでは少々事情が違いました。
担当者の方は自分でWordPressのセットアップができ、ご自身である程度サイトが作れるくらいのスキルも、ましてや自宅サーバも立てられてしまうくらいのスキルがある方で、
マルチサイトの子ブログも先方で必要に応じて作成して運用するような、割と自由な体制を取っていました。
そのような事情もあり、こちらで随時見張っていないといけないわけではないため完全に油断していました。

直接の原因はネットワーク設定

いろいろ調べた結果、原因はマルチサイトの「ネットワークの設定」において
「新規サイトおよびユーザーアカウントの登録をどちらも許可する。」
の設定になっていたためとわかりました。

しかも、その下の「登録通知」の設定も、お客さんとの管理の兼ね合い上、メール通知offにしてたので発見が遅れたというおまけ付き。

確認したところ、被害は子ブログとユーザーのスパム登録のみで、幸いにも不正侵入や改ざんの形跡はありませんでした。
そこで、「ネットワークの設定」を変更し、外部ユーザーからの登録が出来ないようにしました。

この設定を私がやったのか、お客さんがやったのかは今となっては覚えていないのですが…
通常のクライアントの案件ならばまず間違えることはないはずなんですが、今回は先方のスキルの高さに対してこちらの甘えが出た格好になってしまいました。

#12/5 22:40追記
「新規サイトおよびユーザーアカウントの登録をどちらも許可する。」という設定自体が悪いという訳ではありません。
この設定はコミュニティサイトなど、自由にユーザーやブログを増やすことを想定されたサイトで用いられます。
設定項目そのものが問題なのではなく、必要ない権限を意味なく与えてるという点が問題ということです。

もうすでに初心者とは名乗れなくなってしまった私がこんなポカミスをやらかすのですから、特に初心者の方は、よく分からず設定を甘いものにしている方もいらっしゃるのではないでしょうか。
今一度、ご自身、もしくはクライアントのサイトの設定を再確認してみることをお勧めいたします。

【一番の脆弱性は人間】と、改めて肝に銘じよう

もうすでに使い古された言葉ではありますが、「一番のセキュリティ脆弱性は人間である」というのはまさにその通りだと感じます。

いくらシステムやサーバ側でのセキュリティが強化されても、使う人間の些細なミスや認識の甘さで、いくらでも付け入る隙は生まれます。
自分のブログを運営している方も、クライアントのサイトの管理を任されている方も、もう一度気を引き締めて日々のサイト運営にあたりましょう。


6日目となる明日は、@sysbirdさんの担当です!
ではでは!