Webサイトを運営していると、避けては通れないセキュリティ対策。
先日、友人から運営しているWebサイトが見れなくなったから、直せないかとの相談を受けました。
幸い、サーバーにバックアップファイルがありましたので、サイトの復旧はほどなくできましたが、調べていくうちに、サーバーのパスワードが盗まれていたことがわかりました。
復旧作業を重視していたので画像等はありませんが、サイトが改ざんされてから復旧させるまでの作業工程を記していきます。
はじめに:作業依頼を受ける
友人からこんな依頼が来ます。
俺のWebサイトが、2・3日前から急に見れなくなってるんだけど、ハッキングでもされてるのかな・・・。
ちょっと見てほしいんだけど。。
仕事とは関係のない友人ですが、困っていそうだったので協力することにしました。
まずは、現状を聞くことに。実態は以下の状態でした。
- サーバーは共有サーバー
- サイトはWordPress
- Webサイトの更新は月に1回、お知らせの更新に使う程度
- WordPressのアップデート等はよくわからないので放置
Googleで検索すると、URLは表示されていますが、エラーが表示されています。
※画像はイメージです
この時点では、作業者(友人)がファイルのアップロードミスをして、PHPのエラーが発生しているくらいに感じていました。
なぜなら、私がサイト保守をしているサイトでも、クライアントから更新をしようとしたら、サイトが見れなくなったという話を、定期的に聞くことがあったからです。
そうは言っても、見れない状況には変わりないので、対策を講じていきます。
その1:ワードプレスのパスワード変更
WordPressに限った話ではありませんが、まずはパスワードの変更をお勧めします。
もしパスワードが漏洩している場合、変更することでそれ以上の被害の拡大を防ぐことができます。
すぐに、ワードプレスのパスワード変更を完了させました。
しかし、今回はGoogleで検索したときに、タイトルとディスクリプションがおかしくなっていました。
タイトル?ディスクリプション?という方もいると思うので、私のサイトを例に出します。
この部分が、本来のサイトとは明らかに違うし、ディスクリプションもめちゃくちゃになっていました。
具体的には、英語が入っていたり、日本語で記述されていても意味をなしていない文章になっていました。
当然、そんなものを入れるはずもないので、Webサイトの改ざんがされている可能性が高いなと、この時点で感じました。
その2:サーバーのパスワード変更
パスワードが漏洩している可能性が高いので、関係しているあらゆるパスワードを変更していきます。
サーバーのパスワード変更をするので、コントロールパネルからログインして、パスワード変更をします。
特に、初期から変更していない方が多いと思います。FTPのパスワードも一緒のことが多いので、これでサーバーのパスワードが変更できました。
サイトを運営するだけなら、サーバーのコントロールパネルを使うことがほとんどありませんが、サーバー情報は重要ですので、皆さんもしっかり保管しておきましょう。
とりあえず、サイトの復旧を目指します。
その3:バックアップからの復元
サーバーによりますが、自動でバックアップを取ってくれている場合があります。
また、自動バックアップはなくても、バックアップを取るように設定をすることができるサーバーもあります。
幸い、友人はエックスサーバーだったので、自動バックアップが取れていました。
すぐに、バックアップから復旧させます。エックスサーバーの自動バックアップは7日間取られていたので、その期間内で戻します。
これでサイトが見れるようになりました。
自分が契約しているサーバーのバックアップ状況はきちんと確認しておきましょう。
エックスサーバーは、特に設定をしなくてもバックアップを取ってくれるので、初心者の方も安心して使えますね。
その4:サーバー会社に連絡
現状をサーバー会社に連絡します。サーバー会社でわかる情報やアドバイスをくれることがありますので、どうしたらいいか相談してみます。
今回は、不審なファイルを教えてもらい、そのファイルの削除などを行いました。
契約しているサーバー会社やプランによっては、無料でWeb改ざん検知サービスを受けることもできます。
その5:FTPで不要ファイルがないかチェック
こちらは、ある程度WordPressに詳しくないと難しいです。
私は、WordPressのサイト構成を知っていますので、不要ファイルがないかなどを確認しました。
対策その3、その4で対応済みであったので、念のためのチェックをして終わりました。
その6:ワードプレスのユーザーIDを変更、削除する
今回は、明らかに不正な操作をされたことがわかりましたので、ユーザーID、メールアドレス、パスワードを全て変更します。
新しい管理者ユーザーを作って、今の管理者ユーザーを削除します。
その際に、記事も移行しなければならないかと思いますが、簡単に移行できます。
「admin」や「root」などのユーザー名を使用している方は、今すぐ変えてください。
ユーザー名が特定されやすいので、非常に危険です。
その7:PHPファイルのバージョンアップ
特に何もしていない場合、古いバージョンのPHPで動かしている場合があります。
こちらのバージョンアップも必須です。
その8:プラグイン、ワードプレスのバージョンアップ
古いバージョンの場合は、脆弱性を攻撃されるケースがあります。
従って、プラグインやワードプレス本体のバージョンは常に最新にすることを心がけましょう。
その9:使用していない(テスト)サイトの削除
共有サーバーを借りて、試しにWordPressを入れてみたけど、そのまま放置している方いませんか?
こういったサイトというのは、放置されているのでWordPressのバージョンも古いままになっていることが多々あります。
いらないサイトは削除しましょう。WordPressのサイトであれば、サーバーのコントロールパネルよりアンインストールができます。
その10:Googleに再クロールのリクエストをする
検索結果が不正に表示されていたので、サーチコンソールを使ってGoogleに再クロールのリクエストをしました。
ちなみに、こちらは数日放置でもよければ次のクロールで元に戻りますが、早い処置をするため今回は再クロールをリクエストしました。
WordPressは狙われやすい!?
WordPressの市場シェアを調べてみると、WordPressを使用しているWebサイトは世界の3分の1以上となっています。
世の中の約3分の1のサイトがWordPressであれば、当然狙われやすいです。
しかし、セキュリティ対策もその分しっかりしていますし、バージョンも頻繁に更新しています。
今回は、パスワード漏洩後の復旧手順を記しましたが、セキュリティレベルを上げたい人は、IPアドレスを制限したり、ベーシック認証を入れたりすることで、更にセキュリティレベルを高めることもできます。
その辺は別の機会に、また記事にしていきます。
今回はとにかく、バックアップファイルに助けられました。
バックアップファイルがあるか不安なあなた。絶対に確認してください!
そして、まだバックアップを取っていない方は、サーバー会社のマニュアルを見て、設定をすべきです!