WordPressサイトがハッキングされた。そんな状況でパニックをおさえるのは簡単ではありません。今回の記事では、サイトがハッキングされているかどうかを素早く判断し、サイトを安全にクリーンアップする方法をご紹介します。最後に、WordPressサイトが今後再びハッキングされるのを防ぐための対策も扱います。

早速、問題の診断と解決を始めましょう。

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のマネージドホスティングを使うだけで、標準でハッキング対処保証が付帯します。いざという時には、専任のエンジニアにサイトをハッキングから復旧してもらえます。このようなサービスのない他のサーバーをご利用の方は、この機会に「ハッキング対策込みのKinsta」に切り替えることをおすすめします。

Kinstaをご利用でない方向けには、作業は大変になりますが以下の方法をご紹介します。

Kinstaのハッキングなし保証
Kinstaのハッキングなし保証

実行すべき手順は、サイトのハッキング状況により異なります。このすべてを行う必要があるとは限りません。ハッキング対策の具体的な手順は次のとおりです。

  1. パニックに陥らないこと
  2. サイトをメンテナンスモードにする
  3. Kinstaのマルウェア削除サービスを利用する
  4. パスワードをリセットする
  5. プラグインとテーマをアップデートする
  6. ユーザーを削除する
  7. 好ましくないファイルを削除する
  8. サイトマップを修正してGoogleに再送信する
  9. プラグインとテーマを再インストールする
  10. WordPressコアを再インストールする
  11. データベースのクリーンアップ

ステップ1. パニックに陥らないこと

パニックに陥った人にかけてはならない最悪の言葉ではあると思いますが、「パニックにならない」ことからおすすめします。問題を診断し修正するためには、クリアな思考が必要です。

冷静に判断できない場合は、サイトをメンテナンスモードにして、落ち着くまで数時間そのままにしておきましょう。まずは冷静になることから始めてください。とても重要なポイントです。

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

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

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

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

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

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

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

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

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

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

以下のすべての手順の手間を省きたい、そしてまだKinstaをご利用中でない方には、1回100ドルのKinstaマルウェア削除サービスをご利用いただけます。上記料金にてマルウェアをきれいに取り除いて、セキュリティ対策の整ったKinstaにサイトを移行することができます。すでにKinstaをご利用中であれば、万が一マルウェア感染やハッキングが発生しても無料でエンジニアが素早く対処します。

自力でのハッキング対処をご希望であれば、続きをご覧ください。

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

サイトへのアクセスに使用されたパスワードがわからないため、すべてのパスワードを変更して、ハッカーが再び使用できないようにすることが重要です。これはWordPressのパスワードに限定されません。SFTPパスワードデータベースパスワード、そしてサーバー/ホスティングサービスのパスワードもリセットしてください。

他の管理者ユーザーのパスワードもリセットするようにしましょう。

ステップ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コアを置換するため、この手順を心配する必要はありません。

ステップ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. ファイアウォールを設定する

Sucuriなどのセキュリティプラグイン、サービスを使用すると、サイトにファイアウォールを設定できます。これにより、ハッカーに対する防御壁が追加され、サイトに対するDOS攻撃などのハッキングの可能性が減少します。

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

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

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

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

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

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

sucuri
Sucuri

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

KinstaのWordPress専用マネージドホスティングには、DDoS攻撃対策、死活監視、ファイアウォール、ハッキング対処保証(専任のエンジニアにお任せ)などの万全のセキュリティ強化策が付帯します。サイトが(あらゆる防御網をかいくぐり)万が一ハッキングされた場合でも、それのクリーンアップをエンジニアにすぐに任せられます。Kinstaへのサイト移行も無料です。将来的にハッキングされた場合にはその処理もお任せいただけます。安心と事業への集中を優先する多くの企業や保守管理会社のみなさまにご愛用いただいています。

まとめ

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

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

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

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

Rachel McCollin

Rachel McCollin has been helping people build websites with WordPress since 2010. She's a huge fan of self-hosted WordPress and wants to help as many people as possible create an awesome website with it.