# サイトがハッキングされた場合の対処方法

Source: https://support.kapsulehost.com/ja-jp/site-hacked-what-to-do

侵害されたウェブサイトには、決まった順序で3つの対応が必要です。被害を封じ込める、侵入経路を突き止める、そしてクリーンな状態で再構築する、の3つです。この順序を守らないと、1日のうちに再感染してしまいます。

このページは上から順に進めてください。攻撃がどのように行われたかについて、何も前提にしていません。

> **Important:** 不審なファイルを削除するだけで作業を終えないでください。ほぼすべての侵害では、再侵入の経路が複数残されています。2つ目のバックドア、不正な管理者アカウント、スケジュールされたタスク、改ざんされたコアファイルなどです。目に見える症状だけを取り除いてそこで止めてしまうことが、同じ週のうちにサイトが再び攻撃される最も一般的な原因です。

## 実際に侵害されている兆候

- 検索結果に、作成した覚えのない医薬品、ギャンブル、外国語のページが表示される。
- 訪問者が別のサイトにリダイレクトされる(多くの場合、モバイルからのみ、または検索エンジン経由のみ)。
- ブラウザや検索エンジンが、ドメインに対して警告を表示する。
- 心当たりのない名前や更新日時のファイルが現れる。
- サイトがスパムを送信している、またはドメインがメールプロバイダーに拒否されるようになった。
- 誰も作成していない管理者アカウントが存在する。

これらのすべてがハッキングを意味するわけではありません。単に表示が遅い、またはエラーが出ているだけのサイトは、プラグインの競合やリソース制限が原因であることのほうが多くあります。該当するのがそれだけであれば、まず[ウェブサイトが表示されない](https://support.kapsulehost.com/ja-jp/website-not-loading)をご覧ください。

## ステップ1: 被害を封じ込める

調査を始める前に、サイトをオフラインにしてください。公開されたままの時間が1分延びるごとに、評判、検索順位、訪問者への被害が大きくなります。

何も削除せずにこれを行う最も早い方法はパスワード保護です。ウェブサーバーのレベルで、サイト全体の手前にログイン画面を置きます。

1. **ウェブサイト**に移動し、対象のサイトを開きます。
2. **パスワード保護**タブを開きます。
3. 有効にして、ユーザー名とパスワードを設定します。

これで、攻撃者を含むすべての訪問者にログインのプロンプトが表示されるようになり、ご自身はパネル、SFTP、SSHから引き続きすべての操作ができます。

![マルウェアスキャン、IPブロックリスト、保護機能が表示されたKPanelのサイトのセキュリティタブ](https://support.kapsulehost.com/help/screenshots/site-hacked-what-to-do.27484098.webp)

攻撃者のIPアドレスがわかっている場合は、サイトの**セキュリティ**タブにある**IPブロックリスト**にも追加してください。

> **Warning:** サイトを削除しないでください。また、まだ何も復元しないでください。現在の状態は、攻撃がどのように行われたかを示す唯一の証拠です。今すぐ侵害されたサイトのバックアップを取得し、感染していることがはっきりわかるラベルを付け、別の場所に保管してください。後で必要になることがあります。

## ステップ2: 侵入経路を突き止める

現実的な答えはいくつかしかなく、どれに当てはまるかによって次に行うことが変わります。

**パネルの監査ログを確認します。** **設定**、**アカウント**、**ログを表示**の順に開きます。チームの誰も使用していないIPアドレスから、チームによるものとされる操作が行われている場合、KapsuleHostアカウント自体に侵入されたことを意味します。これははるかに重大なインシデントです。[アカウントのセキュリティ](https://support.kapsulehost.com/ja-jp/account-security)を参照し、アカウントも侵害されたものとして扱ってください。パネルから行われた変更は、サイトの**アクティビティ**タブで確認できます。

サイトの**ログ**タブで**エラーログとアクセスログを確認します。** 1つのプラグインのパスへの繰り返しのリクエストや、アップロード用エンドポイントへのPOSTの集中は、多くの場合、侵入経路を示しています。[エラーログの読み方](https://support.kapsulehost.com/ja-jp/error-logs)をご覧ください。

サイトの**セキュリティ**タブで**マルウェアスキャンを実行します。** 結果の読み方については、[マルウェアのスキャンと駆除](https://support.kapsulehost.com/ja-jp/malware-cleanup)をご覧ください。

**古いままになっていたものを確認します。** 古いプラグイン、テーマ、コアのバージョンは、圧倒的に多い侵入口です。[WordPressを最新の状態に保つ](https://support.kapsulehost.com/ja-jp/wordpress-updates)をご覧ください。

## ステップ3: クリーンな状態で再構築する

クリーンなサイトを取り戻す方法は2つありますが、信頼できるのはそのうち1つだけです。

### 信頼できる方法: 侵害前に取得したバックアップから復元する

ログから侵害が始まったおおよその時期を割り出し、その日付より十分前に取得したバックアップから復元します。

1. サイトの**バックアップ**ページに移動します。
2. 感染前のバックアップを選びます。
3. **まずステージングに**復元します。復元ダイアログは、意図的にステージングが既定になっています。
4. ステージングのコピーを確認します。不明なファイルがないこと、不明な管理者ユーザーがいないこと、リダイレクトがないことを確かめてください。
5. 問題がなければ、本番に復元します。本番への復元では、確認のためにドメイン名を入力する必要があります。

ファイルとデータベースを別々に復元する方法を含む詳細は、[バックアップからの復元](https://support.kapsulehost.com/ja-jp/restoring-from-backup)をご覧ください。

管理型データベースを使用しているWordPressおよびWooCommerceサイトでは、サイトの**PITR**タブにあるポイントインタイムリカバリを使って、前夜のバックアップではなく特定の分の時点にデータベースを復元できます。そうしなければ1日分の注文を失ってしまう場合に、これが重要になります。

> **Warning:** 復元すると、そのバックアップの取得後に作成された正当なコンテンツや注文も含め、すべてが巻き戻されます。復元する前に、現在のサイトから残しておく必要のあるデータをエクスポートしてください。また、侵害されたサイトからエクスポートしたコンテンツ自体に、注入されたコードが含まれている可能性があることに注意してください。インポートする前に内容を確認してください。

### 信頼性の低い方法: その場でクリーンアップする

クリーンなバックアップがない場合は、サイトを手作業でクリーンアップする必要があります。どこまで徹底する必要があるかについて、ご自身に正直になってください。

- マルウェアスキャンで検出されたファイルはすべて隔離します。[マルウェアのスキャンと駆除](https://support.kapsulehost.com/ja-jp/malware-cleanup)をご覧ください。
- WordPressコア、すべてのプラグイン、すべてのテーマを、その場で更新するのではなく、配布元から入手した新しいコピーで置き換えます。
- 実際に使っていないプラグインやテーマはすべて削除します。無効化されたコードでも、アクセス可能であれば実行されます。
- スキャナーの対象外のファイルを確認します。`.htaccess`、`wp-config.php`、アップロードフォルダ内の画像以外のファイルなどです。
- サイトの**cronジョブ**タブで、作成した覚えのないスケジュールされたタスクがないか確認します。
- データベース、特にオプションと投稿の本文に、注入されたコンテンツがないか確認します。

## ステップ4: すべての認証情報を変更する

サイトがアクセスできたものはすべて盗まれたと想定してください。

- **WordPressの管理者パスワード。** サイトの**WordPress**タブからすべてリセットし、盗まれたセッションCookieが使えなくなるよう全ユーザーを強制的にサインアウトさせ、作成した覚えのないアプリケーションパスワードを削除します。[WordPressパスワードのリセット](https://support.kapsulehost.com/ja-jp/wordpress-reset-password)をご覧ください。
- **不明な管理者アカウント。** 削除してください。また、管理者権限が不要なアカウントは権限を下げてください。
- **データベースの認証情報**は、サイトの**データベース**タブで変更します。
- **SFTPアカウント**は、サイトの**SFTP**タブで変更します。アカウントを削除すると、そのアカウントで開いているセッションは終了します。
- **SSHキー**は、サイトの**SSHアクセス**タブで管理します。心当たりのないキーは削除してください。
- **KapsuleHostのパスワード**を変更し、作成した覚えのないAPIキーを取り消してください。[APIキーと開発者アクセス](https://support.kapsulehost.com/ja-jp/developer-api-access)をご覧ください。

## ステップ5: サイトを復帰させ、強化する

サイトがクリーンであると確信できたら、パスワード保護をオフにして、再び公開してください。

そのうえで、開いていた扉を閉じます。

- **すべてを最新の状態に保ちます。** [WordPressを最新の状態に保つ](https://support.kapsulehost.com/ja-jp/wordpress-updates)と[プラグインの管理](https://support.kapsulehost.com/ja-jp/wordpress-plugins)をご覧ください。
- サイトの**セキュリティ**タブで**セキュリティ保護機能をオンにします**。ブルートフォース対策、国別フィルタリング、IPブロックリストです。
- KapsuleHostアカウントと、サイト自体の管理者アカウントで**二要素認証を有効にします**。
- 正常であることがわかっているサイトの**新しいバックアップを取得します**。[バックアップの取得](https://support.kapsulehost.com/ja-jp/taking-a-backup)をご覧ください。
- **バックアップ保持期間の延長を検討します。** 何週間も気づかなかった侵害でも、復旧できるようになります。

## サポートに相談すべきとき

次のいずれかに当てはまる場合は、[サポートチケットを作成してください](https://support.kapsulehost.com/ja-jp/opening-a-support-ticket)。

- 侵害がサイトではなく、KapsuleHostアカウントを経由して行われた。
- サイトがスパムを送信している、または送信元としての評価が影響を受けている。
- 使えるバックアップがなく、サイトをクリーンにできない。
- アカウントまたはサイトが停止された。[アカウントが停止された理由](https://support.kapsulehost.com/ja-jp/account-suspended)をご覧ください。
- 別のお客様のサイトがご自身のサイトを攻撃していると思われる。[不正利用の報告](https://support.kapsulehost.com/ja-jp/reporting-abuse)をご覧ください。

見つけたこと、最初に気づいた時期、すでに変更したことを記載してください。ご自身の調査内容を多く共有していただけるほど、早く回答できます。

## トラブルシューティング

**検索エンジンが引き続きサイトに警告を表示する。** サイトが本当にクリーンになったら、各検索エンジンのウェブマスターツールから審査をリクエストしてください。これは当社の管理の及ばない範囲です。

**クリーンアップした後に再発した。** バックドアを見落としているか、変更していない認証情報がまだ有効です。代わりにクリーンなバックアップから復元し、ステップ4のすべての認証情報を変更してください。

**スキャンではクリーンと表示されるのに、明らかに侵害されている。** ファイルスキャンが検出するのは既知の悪意あるコードであり、データベースに注入されたレコードは検出しません。バックアップと比較し、データベースを確認してください。

**修正するためにログインできない。** 攻撃者が変更している可能性のあるアプリケーション自体のログインではなく、SFTPまたはSSHを使用してください。[SFTPアクセス](https://support.kapsulehost.com/ja-jp/sftp-access)と[ファイルマネージャー](https://support.kapsulehost.com/ja-jp/file-manager)をご覧ください。
