WordPressサイトがハッキングされた—そんな事態では、パニックは、ともすると不可避でしょう。今回の記事では、サイトがハッキングされているかどうかを判断し、サイトを安全にクリーンアップする方法をご紹介します。最後に、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) 攻撃:ウェブサイトのコードエラーやバグを使用することでウェブサイトを圧倒し、機能させなくする手法です。

eコマースサイトを運営している場合は、当社のeコマースサイトの詐欺対策についての詳細なガイドも是非お読みください。

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

WordPressサイトがハッキングされたら何をすべきか(手順ごとにご紹介)

サイトを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
Coming Soon Page & Maintenance Mode plugin

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

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

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

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

以下のすべての手順の手間を省きたい、そして、まだKinstaクライアントではない、という場合は、1回100ドルの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インストーラーを使用している場合、ハック修正サービスの一環としてWordPressコアを置換するため、この手順を心配する必要はありません。

ステップ11:データベースのクリーンアップ

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

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

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

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

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

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

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

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

セキュリティプラグインを使用すると、ユーザーに安全なパスワードの使用を強制できます。Kinstaではこの機能が、ホスティングプランに組み込まれています。

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

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

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

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

サイト更新は、バックアップを作成し—ステージングサーバーがある場合はステージング環境で更新をテスト— 正しく行いましょう。Kinstaの購読プランには、全サイト対象の自動バックアップステージング環境が含まれます。

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はサイトを監視し、セキュリティ上の問題が見られた場合には警告を発し、そして対処します。つまり、サイトを自分の力で何とかする必要がなくなるのです。

もう一つの可能性として、Kinstaホスティングプランには、DDoS検出、アップタイムの監視、ハードウェアウォール、ハッキングゼロ保証などのセキュリティ機能が付帯します。つまり、サイトがハッキングされた場合には、それのクリーンアップを任せられるのです。Kinstaに切り替えると、サイトが無料で移行でき、将来的にハッキングされた場合にはその処理もお任せ。当社の最高のWordPressマイグレーションプラグインの厳選されたリストも是非ご確認ください。

まとめ

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

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

  • パスワードをリセットする
  • プラグインとテーマをアップデートする
  • あるべきでないユーザーを削除する
  • 好ましくないファイルを削除する
  • サイトマップをクリーンアップする
  • プラグイン、テーマ、そして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.