WordPressがハッキングされたらやることリスト【原因と対策】

wordpressハッキング被害

WordPressがハッキングされると、勝手に広告が表示されたり、怪しい英語サイトにリダイレクトで飛ばされたり、管理者ユーザーが勝手に作成されるなどの被害があります。

サイトに訪れたユーザーに迷惑をかけるだけでなく、サイトの運営が困難になるので、原因を特定&除去し、きちんと対策するようにしましょう。

WordPressの構成

WordPressはサイトを動かすためのシステムファイル(phpやhtaccess)と、データを保存するためのデータベース(MySLQL)で構成されています。

phpファイルやhtaccessファイルはサーバー内に保存されており、FTPソフトなどで操作できます。

レンタルサーバーの場合、データベースは別の場所に保存されていることが多く、レンタルサーバーの管理画面から操作するケースが多いです。

ハッキング被害の原因と対策

WordPressがハッキングされたときの被害は、
・サーバー内に不正なファイル(phpやexe)が埋め込まれる
・サーバー内のファイル(phpやhtaccess)が書き換えられる
・記事内に不正なプログラムコードが埋め込まれる
・データベースが書き換えられる
などがあげられます。

したがって、対策としては
・本来存在しない不正なファイルを特定して削除する
・元々存在していたファイルに埋め込まれた不正なコードを特定して削除する
が基本となります。

対策①まずはバックアップ!

ハッキング被害に気づいた場合、パニックにならずに、まずは「サーバー内の全てのファイル」と「データベース」を自分のパソコンに保存しましょう。

これから行う作業がうまくいかなかった場合でも、最悪、ここの状態までは戻ってこれるようにしておきます。

※残念ながらこのバックアップにはすでに不正なデータが含まれています。もし、被害にあう前にバックアップが残っているならそちらも大切に保存しておきましょう。レンタルサーバーによっては自動で定期的にバックアップを残してくれているサービスもあるので確認してみましょう。

対策②不正データをスキャンして削除

一番簡単にできる対策は、セキュリティプラグインを使って、WordPressの管理画面からファイル全体をスキャンし、不正なファイルやコードを特定して削除することです。

プラグインは「Wordfence」がおすすめです。英語なのが難点ですが、無料で多機能なセキュリティプラグインです。

被害が浅い場合はこれだけで解決することもあるので様子を見てみましょう。

しかし、不正なファイルやコードは巧妙に隠されていることが多く、プラグインだけで完全に除去するのは難しいです。

対策③怪しい語句を自分で検索して削除する

プラグインのスキャンだけでは被害が収まらない場合、全てのファイル内の文字列を自分で検索し、不正なファイルやコードを削除することになります。

これは不正な広告に含まれる文字列や、リダイレクト先のURLなど、怪しい語句が特定できる場合に有効です。

検索には、フォルダ内のすべてのファイルの中身を検索できる「Grep検索」が便利です。Grep検索は「サクラエディタ」などで使えます。

しかし、これもエンコードなどで巧妙に隠されている事が多く、完全に除去するのは難しいでしょう。

対策④コアファイルとプラグインをクリーンアップする

手間はかかりますが、現実的で確実な対策が全てのファイルのクリーンアップです。

つまり、不正なファイルを特定できないのなら、すべてのファイルをきれいなファイルに置き換えます。

まずは消していいファイルと消してはいけないファイルを選び分けます。

消してはいけないファイルは、wp-config.php、.htaccess、カスタマイズしたテーマファイル、アップロードした画像ファイルなど、WordPressの運営中に自分で編集したファイルです。

これらは消してしまうとゼロからのスタートになるので、パソコン内に保存し、不正なコードが追加されていないか確認するのがおすすめです。

消してもいいのは、WordPressのコアファイルやプラグインのファイルです。

管理画面から行ったWordPressやプラグインの設定は、通常、データベースに保存されるため、コアファイルやプラグインは新しいものに書き換えても大丈夫です。

※コアファイルやプラグインファイル自体をカスタマイズしている場合、またそういうプラグインを使っている場合は注意してください

クリーンアップするときは上書きだと、不正なファイルが残ってしまうので、一旦全てを削除してから、新たにアップロードするようにしましょう。

きれいなデータは公式サイトからダウンロードし、FTPソフトを使ってサーバー内にアップロードし直します。

とても気をつかう作業ですが、この対策で解決することが多いです。

対策⑤データベースをクリーンアップ

WordPressのコアファイルやプラグインのファイルに対策をしても解決しない場合は、データベース内に不正なコードが埋め込まれていることが考えられます。

「wp_options」や「wp_posts」テーブルが被害に合うことが多いので確認してみましょう。

対策⑥以上の方法で解決しない場合

これらの方法で解決しない場合は、新たにWordPressを作成し、手作業で記事をコピペする方法があります。

記事数が多いと大変ですが、終わりのある作業です。不正データを特定するという終わりの見えない作業よりは確実だと思います。

そして、新しくなったサイトにはしっかりとセキュリティ対策をするようにしましょう。

ハッキングはセキュリティの穴をついてくるものですが、しっかりと対策しておけば多くは未然に防ぐことができます。