FAQ ハッキングされた場合は

注: 悪意を持ったサイトへの攻撃や不正アクセスは本来「クラッキング」と呼ばれますが、検索性などを考えて、ここでは一般的な用法に従い「ハッキング」と併記しています(ウィキペディア » クラッキング)。

ハッキング/クラッキング被害の例 ハッキング/クラッキング被害の例

WordPress サイトが受ける攻撃の被害には、以下のような例があります。

  • テーマファイルの改変
    • スパムサイトやマルウェアサイトへのリンクが埋め込まれた
    • iframe で外部サイトを表示させられた
    • 悪意あるスクリプトを埋め込まれた
  • データの改竄/漏洩/破壊
    • データベースの改竄/破壊
    • ユーザーログインデータの漏洩
    • 投稿パスワードの漏洩
  • 既存ファイルの削除、不正ファイルの追加

トップ ↑

助けて ! サイトがハックされました 助けて ! サイトがハックされました

細心の注意を払って WordPress をインストールし、理想のデザインにぴったりのテーマを見つけ、素晴らしいプラグインをいくつか導入して、気の利いた投稿とページを作成し …. と、サイトの構築には誰もが膨大な時間と労力を注ぎ込んでいます。

そんなある日、ブラウザで自分のサイトにアクセスすると、そこには真っ白で何も表示されなかったり、アダルトサイトに自動で転送されたり、ページがステロイド剤の広告で埋もれていたり…。頭の中では「私のサイトをハックして何の意味があるの ?」という疑問がいっぱい。さて、どうしよう…。

ハッキングされたという事実自体が破壊的で、WordPress サイトを開いたことさえ悲観したくなるかもしれません。ただ安心してください。何も世界の終わりがきたわけではなく、発生した問題に対する解決に必要な具体的な手順はあります。再びハッキングされることを防止する方法もあります。

以下では、何年にもわたって蓄積されたハッキング後の後処理についての考察、特に、ハッキング被害にあったら何をすべきかを説明します。

トップ ↑

被害を受けた時には 被害を受けた時には

冷静になる 冷静になる

Web サイトのオーナーとしてセキュリティの問題への対応は非常なストレスがかかります。特に、「WordPress は簡単」と誰もが口にしていたのと反対の状況が起きては気弱になっても仕方ありません。ただ、すべてを失ったわけではありません ! 確かに少しお金を失ったかもしれません。ブランドが傷ついたかもしれません。しかし、そこから回復はできます。

まずは立ち止まって、冷静になりましょう。冷静になれば、より効率的に状況を把握、対処し、失った信頼を取り戻すことができます。

トップ ↑

ローカル環境をスキャンする ローカル環境をスキャンする

まず最初に始めるべき場所はローカルコンピュータです。多くの場合、攻撃や感染の出どころはローカルコンピュータ、たとえばノートパソコン、デスクトップ PC です。

ローカルコンピュータでアンチウイルスやマルウェアのフルスキャンを必ず実行してください。ウィルスの中にはアンチウイルスソフトを検出し、スキャンを逃れるものもあるため、可能であれば別のソフトも使用してください。このアドバイスは Windows、OS X、Linux いずれにも当てはまります。WordPress 管理画面にログインできない場合 この問題は一般に考えられる以上に発生しています。慌てる必要はありません。「ログインパスワードを変更・再発行する」に丁寧に書かれた手順に従って対処してください。

phpMyAdminAdminer を使用すると WordPress の管理画面をバイパスし、データベースに直接ログインして、ユーザーテーブル wp_users 内のユーザーをリセットできます。

パスワードの暗号化についてよく分からなければ、メールアドレスを更新し、WordPress のログイン画面に戻り、「パスワードをお忘れですか ?」リンクをクリックしてメールを待ってください。

トップ ↑

Web サイトをスキャンする Web サイトをスキャンする

スキャンには多くの方法があります。現在では簡単にスキャンできる多くの優れたプラグインも公開されています。

拡張子も含めてすべてのファイルやフォルダーを表示し、「*.exe」ファイルまたは実行可能ファイルをスキャンし、ファイルサイズの大きさで並べ替えます。ウィルスプログラムは多くの場合5MB 以下ですが、5MB 以上の場合もありますし、5MB 以下の「.exe」ファイルがすべてウィルスプログラムでもありません。既知のウィルスプログラム、ワームプログラムを削除し、不明な実行ファイルについてはリストを作成し、オンラインウィルスデータベースと照らしあわせてください。注意: システムファイルを削除しないように注意してください。 Securelist が感染したファイルの見つけ方に関する記事 (英文) を公開しています。

さまざまな症例や、Web サイト、訪問者への影響に注意してください。たとえば不正転送は Web サイトのルートの .htaccess ファイルや index.php ファイルなどで見つかります。他のウィルスでは wp-content/themes ディレクトリ内の index.php、header.php、footer.php、functions.php を狙います。もちろんもっと単純な例もあります。

トップ ↑

Web サイトのスパム認定に注意する Web サイトのスパム認定に注意する

Google Blacklist でのスパム認定はブランドにダメージを与えます。1日に 9,500 から 10,000 の Web サイトがスパムサイトとして認定され、この数字は日々増え続けています。スパムサイトの警告には、大きなスプラッシュページが表示され近づかないよう警告するものから、検索エンジンの結果ページに小さくポップアップするものまでさまざまな形があります。

スパムサイトのリストとしては Google Blacklist がもっとも有名ですが、他にも Bing や Yahoo、さまざまな種類のデスクトップアンチウイルスソフトがあります。クライアントやサイトの訪問者がこれらのツールを使用してサイトをスパム認定できることに注意してください。

最低限、Google Webmaster Tools のアカウントを取得した上で、現在、ハッキングの被害を受けているのであれば実施すべき項目を確認し、完了後に、Google の登録取消手順に従ってください。

トップ ↑

サーバー管理者に確認を取る サーバー管理者に確認を取る

共有サーバーを利用している場合は特に、あなたのサイト以外にも被害が及んでいるかもしれません。サーバー管理者 (レンタルサーバー会社など) に確認し、必要な対策をとっているか確認しておくのも無駄ではないでしょう。また、実際に攻撃が起こったのか、単にサービスがダウンしていたのかなどの確認を行ってくれるかもしれません。

現代のハッキング被害で極めて深刻なものにメールアドレスのスパム認定があります。これはたびたび発生しています。サイトがスパムメール送信の踏み台に使用されると、スパムアドレスの管理会社や団体はサイトの IP アドレスを、スパムメール送信に使用されたサーバーと関連するものとして登録します。最良の方法は、ビジネスインパクトが発生した際に Google Apps などのメールプロバイダを調べることでしょう。

トップ ↑

アクセス制御の見直し アクセス制御の見直し

同僚がパスワードの更新について話すのを聞いたことがあるはずです。確かに、パスワードの変更は重要です。しかしそれはより大きな問題の一部でしかありません。アクセス権について考慮する場合、全体の基本姿勢を変更する必要があります。たとえばパスワードは最初から複雑で、長く、ユニークなものを使用すべきです。最良の方法として 1PasswordLastPass などのパスワードジェネレータを使用してください。

変更するパスワードには、すべてのアクセスポイントのパスワードが含まれることに注意してください。アクセスポイントには、FTP または SFTP、WP-ADMIN、CPANEL、その他サーバーで使用されるすべての管理パネル、そして MYSQL があります。

またサイトのユーザーのパスワードだけでなく、環境にアクセスするすべてのユーザーのパスワードも変更の対象とします。

トップ ↑

秘密鍵 (シークレットキー) を変更する 秘密鍵 (シークレットキー) を変更する

攻撃者がパスワードを盗んでブログにログインした場合、パスワードを変更してもその人がログインした状態になってしまいます。これは、Cookie がまだ有効なためです。これを防ぐには、新しい秘密鍵を作成する必要があります。WordPress キージェネレーターでランダムなキーを取得し、wp-config.php ファイル内の値を上書きしましょう。

トップ ↑

残っているデータとファイルのバックアップを取る 残っているデータとファイルのバックアップを取る

もしまだファイルやデータベースが残っているなら、バックアップを取ることを検討してみてください。そうしておけば、あとから検査を行ったり、クリーンアップに失敗したときに元に戻すことができます。ただし、「被害を受けたサイトのバックアップ」ということがはっきり分かるようにしておくようご注意ください。

トップ ↑

ハッキングを見つけ、除去する ハッキングを見つけ、除去する

このリストの中で恐らくもっとも難しく、もっとも作業の必要な項目です。結局は Web サイトのハッキングに関する個人の技術的な知識力や洞察力に左右されますが、以下の項目から始めることで正しい方向に進むことができます。

Donncha O Caoimh(ダナカ)氏の記事は、攻撃の可能性があることが疑われる場合にはどうすればよいかが書いてある役に立つ記事です。このページよりさらに深く踏み込んだ内容なので、しっかり読んで、実行する価値があるでしょう。

また「被害を受けたサイトをクリーンインストールする方法」も参照してください。

Sucuri は多くの技術的な記事を投稿しています。「WordPress ブログからマルウェアを除去する方法」では手順の詳細を説明しています。

さらに、転送のコツを紹介した記事「Web サイトをクリーンにする FTP のヒントとコツ」は問題の根本を探るために役立ちます。

ハッキングに対して、すべてを削除し、ゼロから始める方法は分かりやすい対処方法で、確かに魅力的な方法ですが、まったく現実的ではありません。実施すべきは Web サイトのコアに対する影響を考えず、サイトのある要素を再インストールすることです。常に Web サイトで使用していたソフトウエアと同じバージョンを再インストールしてください。古いバージョン、新しいバージョンの再インストールはサイトを殺すようなものです。再インストールの際には、WP-ADMIN で再インストールオプションを使用せず、FTP または SFTP アプリケーションを使用してバージョンをドラッグアンドドロップしてください。インストーラはしばしば存在するファイルのみを上書きする一方、ハッキングは新しいファイルを追加するため、長い実行ではこちらの方が効率的です … 🙂

攻撃者は、.htaccess を使ってあなたの URL から悪意のあるサイトに訪問者を誘導することができます。ブログのディレクトリだけでなく、サイトのルートディレクトリもチェックしてください。ハッカーはコードをファイルのかなり下の方に隠すことがあるので、最後までスクロールしましょう。また、.htaccess ファイルのパーミッションを変更して初心者がファイルの変更しづらくすることもあります。その場合はパーミッションを644に変更します (推奨される安全なパーミッションは604です) 。

トップ ↑

コミュニティの利用 コミュニティの利用

しばしば忘れられますが、WordPress はコミュニティベースのプラットフォームです。困っていれば、コミュニティの誰かが手を貸してくれるでしょう。サイトに火が付いた状態なら、あるいは単に手助けが欲しいだけでも、WordPress.org フォーラムのタグ「Hacked」またはタグ「Malware」から始めると良いでしょう。

トップ ↑

バージョン管理システムを利用の場合 バージョン管理システムを利用の場合

バージョン管理システムを使っている場合、何が変更されたかを素早く発見して直前のバージョンのサイトに戻すことができるかもしれません。ターミナルまたはコマンドラインから現在のファイルと公式 WordPress レポジトリ上の同じバージョンのファイルを比較するには、以下のコマンドを使います。

$ svn diff .

または、特定のファイルを比較するには以下を入力してください。

$ svn diff /path/to/filename

トップ ↑

バックアップからの復元を検討する バックアップからの復元を検討する

被害を受けていない、クリーンなデータベースバックアップからデータの復元を行い、WordPress を再インストールし、プラグインやテーマを SFTP などからアップロードすれば、悪意のあるコードが含まれていない状態にできます。

トップ ↑

バックアップが存在しない場合 バックアップが存在しない場合

2つのあまり喜ばしくない選択肢があります。新しいサイトをゼロからはじめるか、悪意のあるコードを手動で発見、削除することです。専門家にも、あなたのサイトを完全にクリーンアップすることは難しいでしょう。数日間ファイルを目視し続けてハッカーによって挿入された小さなスニペットコードを取り除く作業を行わなくてはなりません。ひとつでも見落とせば、サイトがオンラインになった瞬間にまたハッキングされてしまうでしょう。バックドアについて詳しく読み、対策を練らなくてはならない相手のことを少し理解してみましょう。これを読んでいる方でまだハッキングされていないという場合は、今すぐ始めてください。

トップ ↑

コアファイルを新しくダウンロードした ZIP 内のファイルと入れ替える コアファイルを新しくダウンロードした ZIP 内のファイルと入れ替える

最低限でも、コアファイルをすべてまっさらな状態にして、ハックされたコードが混入していないことを確実にしましょう。プラグインやテーマも忘れずに。

また「優れたバックアップ戦略の立案」のプロセスを通した考え方にヒントを得られるかもしれません。検討すべき多くの手順がありますので、これに従って計画してください。

トップ ↑

アップグレードを行う アップグレードを行う

きれいな状態になったら、WordPress を最新バージョンアップデートしましょう。古いバージョンを使っていると、攻撃を受ける危険性が高くなります。

トップ ↑

パスワードをもう一度変更する パスワードをもう一度変更する

サイトがすべてきれいになったら、その後にまたパスワードを変更しましょう。攻撃を発見した後ににパスワードを変更しただけの場合は、再度変更しましょう。パスワードは複雑で、長く、ユニークなものを使用することを思い出してください。

トップ ↑

サイトのセキュリティを高める サイトのセキュリティを高める

サイトの回復に成功したら、お勧めのセキュリティ対策の一部または全部を実行し、サイトの安全性を向上しましょう。WordPress の脆弱性が高い部分についてよく理解しましょう

次にWeb サイトがハッキングされる仕組みを理解し、学んだ知識を使用して将来のセキュリティリスクを下げる環境を構築してください。

トップ ↑

事後分析を行う 事後分析を行う

サイトが安全な状態になったら、ログを確認し、攻撃がどうやって起こったのか分析してみましょう。OSSEC のようなオープンソースツールでログを分析し、攻撃どこでどのように発生したかを発見できます。「Web サイトセキュリティのための OSSEC」は OSSEC を使用したプロセスを概観するコンパクトで良い解説です。

Case Study: Analyzing a WordPress Attack (ケーススタディ: WordPress への攻撃の解析)」はログを利用してハッカーの狙いを見つける別の良い記事です。

他にも多くの例があります。「My WordPress Website Was Hacked(WordPress のサイトがハックされた)」を読めば、ハッキング方法を識別するさまざまな手順を概観できます。

トップ ↑

定期的なバックアップをとる 定期的なバックアップをとる

悪夢が終わりを告げたら、データベースファイルの定期的なバックアップを取り始めましょう。万が一またこのようなことが起こってしまっても、前回取ったクリーンなバックアップから復旧し、パスワードと秘密鍵を変更するだけで済みます。

トップ ↑

Google の検索結果に警告がでる場合は Google の検索結果に警告がでる場合は

こちらのドキュメントを参照して対処してください。

トップ ↑

その他のリソース その他のリソース