WordPressサイトがハッキングされたことに気づいたら、慌てるのも無理はありません。この記事では、まずサイトが本当にハッキングされているかどうかを確認する方法をご紹介し、サイトを復旧してセキュリティを強化するまでの手順を順を追って解説します。

さらに、同じ被害を繰り返さないために、WordPressサイトのハッキングを防ぐための対策もご紹介します。万が一に備えて、この記事をブックマークしておくと便利です。

Added:

WordPressサイトハッキングの危険信号

WordPressサイトが正常に動作していない。そんな時にどのように「問題の原因がハッキングかどうか」を確認できるのか。サイトがハッキングされたことを示す兆候が以下のとおりです。

  • ログインできない
  • 何もしていないのにサイトの見た目が変わった(ホームページが静的ページに置き換えられたり、新しいコンテンツが追加されたり)
  • 別のサイトにリダイレクトされる
  • あなたや他のユーザーがサイトにアクセスしようとすると、ブラウザに警告が表示される
  • サイトを検索すると、ハッキングされた可能性があるという警告がGoogleから表示される
  • セキュリティプラグインから違法行為または予期しない変更についての通知を受け取った
  • ホスティングプロバイダーから、アカウントの異常なアクティビティが警告された

それぞれを詳しく見ていきましょう。

ログインできない

サイトにログインできない時、サイトがハッキングされている可能性があります。もちろん、パスワードを忘れた可能性も。ですので、ハッキングを疑う前に、まずパスワードをリセットしてみてください。できない場合は危険信号です。たとえできたとしても、まだハッキングされた可能性は残っています。もう少し調査してみましょう。

ハッカーはユーザーを削除したり、ユーザーのパスワードを変更してアクセスを阻止するものです。パスワードをリセットできない場合は、ユーザーアカウントが削除されている可能性があります。これは、ハッキングによくあるパターンです。

サイトの見た目が変わった

ハッキングの1つのパターンとして、トップページが静的ページに置き換えられることがあります。サイトの外観が完全に別物で、本来あるべきテーマが使用されていない場合には、ハッキングを疑いましょう。

変更内容がより微妙である場合もあります。たとえば、偽のコンテンツや不適切なサイトへのリンクなど。フッターに見ず知らずのリンクが並んでいたら(特にリンクが非表示になっていたり、小さなフォントサイズであったりすると)ハッキングの可能性があります。

ハッキングだと決めつける前に、サイトの他の管理者や編集者に確認して、操作ミスがないか確認してください。

使用中のテーマが信頼できる提供元のものでなく、さらに最近更新をした場合には、それが問題の原因である可能性があります。

リダイレクトされる

ハッカーが、訪問したユーザーを別のサイト(通常、好ましくないもの)にリダイレクトするスクリプトを追加することもあります。

これは、私が学校のサイトを管理している時に起こった実話です。なんと出会い系サイトにリダイレクトされてしまいました。ご想像のとおり、クライアントは激怒しました。その時実施していたすべての作業を後回しにして、すぐに修正にあたったところ、サイトではなくサーバー上のセキュリティの問題であることが判明しました。これが、 質の高いサーバー/サーバーサービスのみを使用すべき理由の1つです。サーバーサービスをすぐに切り替えることで、ハッキング対策がすぐに完了しました。

ブラウザの警告

あなたのサイトが危険にさらされているとブラウザからの警告が出ている時には、サイトがハッキングされている可能性があります。もしくは、削除する必要のあるテーマまたはプラグイン内のコード、ドメインやSSL証明書の問題が原因である可能性もあります。

問題を診断するには、ブラウザの警告とともに示されるアドバイスを確認してください。

検索エンジンの警告

サイトを検索すると(それがハッキングされているとき)Googleが警告を表示することがあります。サイトマップがハッキングされ、Googleによるサイトのクロールに影響が出ている可能性が考えられます。または、より大きな問題である可能性も。正確に何が起こったのかを知るには、以下の診断を行う必要があります。

Googleの警告 – サイトがハッキングされた可能性あり
Googleからの警告(サイトがハッキングされた可能性あり)

WordPressサイトがハッキングされる原因

WordPressサイトがハッキングされる原因はたくさんありますが、その中でも最も一般的なものを見てみましょう。

1. セキュリティの低いパスワード

これは、ハッキングの最もありがちな原因の1つです。ちなみに世界で一番使用されているパスワードは「password」です。安全なパスワードは、WordPress管理者アカウントだけでなく、すべてのユーザーとFTPやサーバーサービスを含むサイトのすべての側面に必要となります。

2. 最新でないソフトウェア

プラグインとテーマ、そしてWordPressそのものに、セキュリティアップデートを適用することが重要です。テーマ、プラグイン、WordPressのバージョンを最新の状態にしないと、サイトが脆弱になります。

3. セキュリティの低いコード

信頼できる提供元のものでないプラグインやテーマは、サイトに脆弱性をもたらす可能性があります。無料のWordPressテーマまたはプラグインが必要な場合は、公式テーマディレクトリからインストールしてください。

有料テーマやプラグインを購入するときは、ベンダーの評判を確認し、信頼できる人やソースからのレビューや評価をチェックしてください。無断配布プラグイン(本来有料であるはずのプラグインを非公式サイトから無料で入手)は絶対にインストールしないでください。サイトにハッキングの脆弱性をもたらしたり、情報が収集されたりする危険性があります。

どのようにWordPressサイトがハッキングされるのか

WordPressサイトがハッキングされる仕組みを理解したいという方のために(そして、サイトのハッキングに急いで対処する必要がない場合には)ハッカーがサイトに侵入する主なルートをご紹介します。

  • バックドア:サイトにアクセスする通常の方法をバイパスする手法で、スクリプトまたは隠しファイルを経由します。例えば、2013年のTimThumb脆弱性が挙げられます。
  • Pharmaハッキング:WordPressの古いバージョンに不正コードを挿入する行為です。
  • 総当たり攻撃:ハッカーが自動化システムやツールを使用し脆弱なパスワードにつけ込んでサイトにアクセスしようとする手法です。
  • 悪意のあるリダイレクト:バックドアを使用し悪意のあるリダイレクトをサイトに追加する行為です。
  • クロスサイトスクリプティング (XSS) :WordPressプラグインに見られる最も一般的な脆弱性をついた手法です。ハッカーがユーザーのブラウザに悪意のあるコードを送信できるようにするスクリプトを挿入します。
  • サービス拒否 (DoS) 攻撃:ウェブサイトのコードエラーやバグを使用することでウェブサイトを圧倒し、機能させなくする手法です。

ECサイトを運営している場合は、ECサイトの詐欺対策もご覧ください。

恐ろしいものです。ただし、WordPressサイトをハッキングから保護するために実行できることはいくつもあります。まずは、サイトがハッキングされたときに実行すべき対策を見てみましょう。

WordPressサイトハッキングへの対策

Kinstaでサイトをホスティングしている場合は、専任チームがセキュリティ保証に基づき、サイトを調査してハッキング被害の復旧を行います。他社のサーバーをご利用の場合は、まず利用中のサーバー会社に相談することをおすすめしますが、ご自身で対応しなければならない作業も多いかもしれません。

必要な対応は、サイトがどのような方法でハッキングされたかによって異なります。そのため、以下でご紹介する手順をすべて行う必要があるとは限りません。

ステップ1. まずは落ち着いて状況を確認

ハッキング被害に遭ったとわかれば、焦ってしまうのも当然です。しかし、原因を突き止めて問題を解決するには、冷静に状況を確認することが大切です。

すぐに対応するのが難しいほど動揺している場合は、ひとまずサイトをメンテナンスモードに切り替え、落ち着いてから作業を再開するのも手です。簡単なことではありませんが、焦って作業を進めないことが重要です。

ステップ2. サイトをメンテナンスモードにする

サイトを乗っ取られた状態、または、ハッキング対策途中の状態を訪問者には見せないようにしましょう。

可能であれば、メンテナンスモードに切り替えてください。

WordPressサイトにログインできない時これは不可能ですが、できるだけ早く実行するようにしてください。

Coming Soon Page & Maintenance Modeのようなプラグインを使用すると、サイトをメンテナンスモードにできます。ハッキング対策中ではなく、定期的なメンテナンスが行われているように見えます。

「Coming Soon Page & Maintenance Mode plugin」プラグイン

これが完了したら(訪問者には何が起こっているか知る術はなく)少しだけリラックスできます。

ロゴを追加して色をカスタマイズすることも、簡単な説明を入力することもできます。

これでハッキングされたサイトはあなただけが確認できる状態です。他の人は見ることができません。

ステップ3. パスワードをリセットする

どのパスワードが不正アクセスに使用されたのかを特定できないため、再び悪用されないよう、すべてのパスワードを変更することが重要です。WordPressのパスワードだけでなく、SFTPデータベース、利用しているサーバーサービスのパスワードもすべて変更してください。

また、他の管理者ユーザーにもパスワードを変更してもらいましょう。

ステップ4. Kinstaのマルウェア駆除サービスを利用する

Kinstaでは、セキュリティ保証の一環として、すべてのサイトを対象にマルウェア駆除を無料で提供しています。そのため、以下ステップ5以降の復旧作業をご自身で行う必要はありません。Kinstaをご利用でない場合は、引き続き以下の手順に沿って、ハッキングされたサイトを復旧してください。

ステップ5. プラグインとテーマを最新の状態に保つ

次に、すべてのプラグインとテーマが最新の状態になっていることを確認します。サイト管理画面の「ダッシュボード」>「更新」に移動し、更新が必要なものをすべてアップデートします。

他の復旧作業を行う前に、必ずこの作業を済ませておくことが重要です。プラグインやテーマに脆弱性が残っていると、その後に対策を行っても、再びその脆弱性を悪用される可能性があります。作業を進める前に、すべてが最新の状態になっていることを確認してください。

ステップ6. ユーザーを削除する

身に覚えのない管理者アカウントがWordPressサイトに追加されている場合には、削除してください。ただし、これを行う前に、(誤認を防ぐために)把握している全ての管理者にアカウント情報を変更していないか尋ねるようにしましょう。

WordPress管理画面の「ユーザー」画面に移動し、一覧の上にある「管理者」をクリックします。そこに“あるはずのない”ユーザーが存在する場合には、それの横にあるチェックボックスをクリックし、「一括操作」ドロップダウンリストから「削除」を選択します。

ステップ7. 不審なファイルを削除する

WordPressフォルダに不審なファイルがあるかどうかを調べるには、WordFenceのようなセキュリティプラグインをインストールします。サイトをスキャンし、怪しいファイルがあるかどうかを通知してくれます。または、Sucuriなどのセキュリティサービスを使用するのも有効です。

ステップ8. サイトマップを修正してGoogleに再送信する

検索エンジンがサイトについて警告を表示する原因の1つが、sitemap.xmlファイルのハッキングです。Kinstaのエンジニアが対策を行ったあるケースでは、サイトマップが感染し、偽のリンクと謎の言語が埋め込まれていました。

SEOプラグインを使用してサイトマップを再生成できますが、サイトがクリーンになった後には、それをGoogleに伝える必要があります。サイトをGoogle Search Consoleに追加し、サイトマップのレポートをGoogleに送信し、サイトをクロールするよう伝えます。これはあくまでも要請ですので、サイトがすぐにクロールされることを保証するものではなく、最大2週間かかることがあります。スピードアップする手段は何もないので、辛抱強く待ちましょう。

ステップ9. プラグインとテーマを再インストールする

サイトにまだ問題がある場合には、プラグインとテーマを再インストールしましょう。「テーマ」および「プラグイン」ページから無効化、削除し、再インストールします。サイトをまだメンテナンスモードにしていない場合には、必ずメンテナンスモードにして下さい。

プラグインまたはテーマをベンダーから購入し、それがどれほど安全であるかわからない場合は、このタイミングで、使い続けるべきかどうかを検討してください。WordPressプラグインまたはテーマディレクトリ以外の場所から無料のテーマ/プラグインをダウンロードした場合は、再インストールしないでください。代わりに、テーマまたはプラグインディレクトリからインストールするか、正規のバージョンを購入してください。資金面の余裕がない場合は、同様の機能を持つ無料のテーマやプラグインに置き換えましょう。

それでも問題が解決しない場合は、すべてのテーマとプラグインのサポートページを確認してください。他のユーザーに同じような問題が発生している可能性があります。そんな場合には、脆弱性が修正されるまでそのテーマまたはプラグインをアンインストールして下さい。

ステップ10. WordPressコアを再インストールする

ここまでの全てが成果を生まなかった時には、 WordPressを再インストールする必要があります。WordPressコア内のファイルが危険にさらされている場合は、それをクリーンなWordPressファイルに置き換えましょう。

クリーンなWordPressファイルをSFTP経由でサイトにアップロードし、古いファイルを上書きします。ただし、wp-config.phpファイルと.htaccessファイルについては、上書きすることなく、さらに、(上書きのミスを避けるために)前もってバックアップを作成しておくことをお勧めします。

自動インストーラーを使用してWordPressをインストールした場合(データベースを上書きしてコンテンツが全て削除されてしまうため)この方法を再度使用しないでください。代わりに、SFTPを使用してファイルのみをアップロードします。

Kinstaをご利用で、WordPressインストーラーを使ってサイトを作成した場合は、この手順を行う必要はありません。ハッキング被害の復旧作業の一環として、KinstaスタッフがWordPressコアを入れ替えます。

ステップ11. データベースをクリーンアップする

データベースがハッキングされた場合、これのクリーンアップも必要です。古いデータやそもそもの消費スペースが少なくなり、サイトが高速になるため、データベースのクリーンアップには追加のメリットもあります。

データベースがハッキングされたかどうかどのように確認すべきかというと、 セキュリティプラグイン/サービスを使用し、スキャンを実行すると、データベースが危険にさらされているかどうかがわかります(または、すでにアラートが送信されている可能性があります)。または、データベースをスキャンするNinjaScannerのようなプラグインを使用することもできます。

WP-Optimizeプラグインでデータベースをクリーンアップし、今後のために最適化することもできます。

WordPressサイトのハッキングを予防する方法

ここまでの手順で、サイトをクリーンアップし、パスワードをリセットし、以前よりも少し安全になりました。

しかし、今後のハッキングの可能性を防ぎ、トラブルの再発を避けるためにできることは他にもあります。

1. 全てのパスワードのセキュリティを確認する

まだの場合には、WordPress管理者パスワードだけでなく、ウェブサイトに関連するすべてのパスワードをリセットしましょう。強力なパスワードを使用しているでしょうか。

セキュリティプラグインを使用すると、ユーザーに安全なパスワードの使用を強制できます。KinstaのWordPress専用マネージドクラウドサーバーには、この機能が標準で搭載されています。

また、サイトに二要素認証を追加して、ハッカーによるアカウント作成を困難にすることもできます。

2. サイトを常に最新に保つ

サイトを最新の状態に保つことも重要です。 テーマ、プラグイン、またはWordPressコアが更新されるたびに、そこには多くの場合、セキュリティパッチが含まれるため更新を味方につけましょう。

wp-config.phpファイルを編集するか、プラグインをインストールして自動更新を有効にすることもできます。自動更新は避けたい(最初に更新をテストするため…など)という場合には、セキュリティプラグインに更新を通知してもらうのが便利です。

サイト更新は、バックアップを作成し(ステージング環境がある場合はそこで更新をテスト) 正しく行いましょう。KinstaのWordPress専用マネージドクラウドサーバーには、無料で自動バックアップ(毎日1回自動で作成、さらに手動での作成も可)とステージング環境の作成機能(ワンクリックで作成可能)が付帯します。

3. セキュリティの低いプラグインやテーマはインストールしない

WordPressプラグインをインストールするときは、現在使用中のWordPressのバージョンでテストされていることと、信頼できる提供元が配布していることを確認してください。

無料プラグインやテーマをインストールする時には、常に、公式のディレクトリから行うようにしましょう。サードパーティのサイトから取得しないことが重要です。有料テーマ、プラグインを購入する場合は、プラグインベンダーの評判やレビューを調査しましょう。

4. WordPressインストールデータのクリーンアップ

インストールされているテーマやプラグインが有効化されていない場合には、削除して下さい。サーバー環境に、使用していないファイルや古いWordPressインストールデータがある場合にも同様に削除しましょう。使用していないデータベースも削除します。

サーバーに古い未使用のWordPressインストールデータがあると(それを最新の状態に保つ可能性は低く)サイトの脆弱さが増してしまいます。

5. SSL証明書をサイトにインストールする

SSL証明書はサイトのセキュリティ確保に欠かせません。Kinstaでは追加料金なしでSSL証明書が利用可能です。お使いのサーバーに無料のSSL証明書が付帯しない場合には、 SSL Zenなどのプラグインを使ってLet’s Encrypt SSLを追加する方法もあります。

6. 格安レンタルサーバーを避ける

格安レンタルサーバーを使うと、多くのケースでサーバースペースを他の何百ものサイトと共有することになります。これにより、サイトの速度が低下するだけでなく、他のサイトのいずれかがサーバーにセキュリティ上の問題を持ち込む可能性が高くなります。

安価なレンタルサーバーでは、サーバーのセキュリティをしっかりと監視したり、サイトがハッキングされた場合に支援したりする可能性が低くなります。Kinstaのようなハイエンド向けのマネージドサーバーでは、サイトを安全に保つためにあらゆる策を講じています。

7. ファイアウォールを設定する

セキュリティプラグインやCloudflareSucuriなどのサービスを利用すると、サイトにファイアウォールを導入できます。ファイアウォールが新たな防御層となり、不正アクセスやDDoS攻撃を受けるリスクを軽減できます。

Kinstaでは、すべてのお客様のWordPressサイトをGoogleの法人向けファイアウォールで保護しています。また、MyKinstaには、悪意のあるIPアドレスを簡単にブロックできるIP制限ツールもご用意しています。

8. セキュリティプラグインをインストールする

サイトにセキュリティプラグインをインストールすると、不審なアクティビティが通知されます。例えば、不正なログインや、存在しないはずのファイルの追加などです。

繰り返しになりますが、プラグインから表示される警告を参照の上、問題を特定しましょう。

補足)サイトのサーバーにKinstaをすでに使用している場合には、セキュリティプラグインを別途インストールしたり設定をしたりする必要はありません。Kinstaには必要なすべてのセキュリティ強化策や機能が備わっています。

9. セキュリティサービスを検討する

Kinstaをご利用でない場合には、Sucuriなどのセキュリティサービスの検討をお勧めします。サイトを自動で監視可能です。

sucuri
Sucuri

Sucuriは安くはありませんが、ウェブサイトがあなたのビジネスにとって不可欠なツールであるならば、安心を買うだけの価値はあります。様々なプランがあり、それぞれ対処にかかる時間が異なります。Sucuriはサイトを監視し、セキュリティ上の問題が見られた場合には警告を出してくれます。

KinstaのWordPress専用マネージドクラウドサーバーには、DDoS攻撃対策、稼働状況監視、ファイアウォール、ハッキング対処保証(専任のエンジニアにお任せ)などの万全のセキュリティ対策が付帯します。サイトが(あらゆる防御網をかいくぐり)万が一ハッキングされた場合でも、Kinstaのエンジニアがクリーンアップを行います。

Kinstaに乗り換える場合は、サイトを無料で移行いたします。また、移行後にサイトがハッキングされた場合も、無料で復旧をサポートします。WordPressサイトを移行する際に役立つ、おすすめの移行プラグインもあわせてご覧ください。

まとめ

サイトがハッキングされるのは非常に不快なものです。突如サイトが利用できなくなり、ビジネスに大変な悪影響がもたらされます。すぐに対策をする必要があり、そこに使った時間のしわ寄せは他に伝播することも忘れてはなりません。

サイトがハッキングされた場合に実行すべき対策を振り返ると、以下の通りです。

  • パスワードをリセットする
  • プラグインとテーマをアップデートする
  • あるべきでないユーザーを削除する
  • 不審なファイルを削除する
  • サイトマップをクリーンアップする
  • プラグイン、テーマ、そしてWordPressコアファイルを再インストールする
  • 必要であればデータベースをクリーンアップする

また、ハッキングを防ぐためにご紹介した手順で、すべてをやり直す必要がなくなります。何かがあってからの対処は予想以上に大変なものになります。できるだけ早くサイトを安全な状態に保つことをおすすめします。

Rachel McCollin

2010年からWordPressサイトの構築をサポート。自己ホスティング型のWordPressをこよなく愛し、できるだけ多くの人がWordPressを利用して優れたウェブサイトを作成する手助けをしたいと日夜奮闘。