お得な入会キャンペーンいろいろ
PR

WordPress を削除して再インストールする方法

WordPress をクリーンインストールしてマルウェアを除去する方法(サイトはそのまま) サイト制作
この記事は約14分で読めます。

また、マルウェアが検出されました。サーバーで不正ファイルを探しましたが見当たりません。

サイトの初期化後、WordPress のクリーンインストールで対応します。

WordPress の再インストール

WordPress は筆者が作ったページなどのデータはデータベースに記録されています。人で言うと魂に当たります。

WordPress とプラグインなどは単なる入れ物や装飾なので、まっさらにしてデータベースを入れ替えてもほとんど同じサイトの状態です。

これを踏まえて、WordPress をクリーンインストールします。

大まかなサイトの復旧はサイトの大きさにもよりますが、2時間もあればできると思います。

本当ならサイトメンテナンス中を検索向けに用意するのがいいですが、うちの規模ならすぐに終わるので

  • 訪問が一番少ない時間をアクセス解析で確認(このサイトでは午前3~5時)
  • ダウンロードなど時間がかかる作業は事前に済ませて、すぐにサイトを表示できるように作業

しました。少しアクセス数は落ちましたが想定内です。また、クリーンインストール作業が原因かもわかりません。

プラグインとテーマの記録

現在入れているプラグインとテーマの記録しておきます。

管理画面からインストール済みプラグインページとテーマのスクリーンショットを撮るのが簡単です。

下準備

WordPress からインストールできないテーマと子テーマはダウンロードしておく。(Cocoon は子テーマも自動インストールされる)

テーマ設定のバックアップ

Cocoon 設定をバックアップする方法

ダッシュボード左メニュー[Cocoon 設定]内[バックアップ]を押します。

バックアップ画面が開くので[バックアップファイルの取得]を押して、設定情報をダウンロードしてください。

Cocoon 設定をリストアする方法

リストアから[ファイルの選択]を押して、バックアップで取得したテーマ設定ファイルを選択します。

[設定の復元]を押すとリストアが完了です。

Cocoon 設定 バックアップとリストア

サイトをバックアップする

エックスサーバーを利用しています。

サイトを丸ごとバックアップしてダウンロードしておくと怖い物無しです。トラブル時はアップロードすればクリーンインストール作業前の状態にもどります。

FTPソフトでも何を利用しても良いですが、今回は例としてエックスサーバーのファイルマネージャを利用します。

ファイルマネージャにログインします。

ファイルマネージャ - ログイン | レンタルサーバーならエックスサーバー

バックアップ

サイトで利用しているバックアップしたいフォルダやファイルを選択して[圧縮]を押します。

Xserver ファイルマネージャ 圧縮方法

圧縮画面が開きます。

  • 名前を入力してください。(日付を入れておくといつのバックアップか後でわかりやすい)
  • 圧縮形式を選択してください。(なんでもいいですが、Windowsなので ZIPアーカイブを選択)
  • 作成先を指定してください(見失わなければどこでも大丈夫)

必要事項を記載して[圧縮]を押します。

Xserver ファイルマネージャ ZIPアーカイブ

圧縮ファイルの完成です。

ダウンロード

圧縮したファイルを選択して[ダウンロード]を押します。

Xserver ファイルマネージャ 圧縮ファイルのダウンロード方法

確認画面が表示されるので[ダウンロード]を押します。

Xserver ファイルマネージャ ダウンロード方法

操作ログを押すと日時と進行内容を確認できます。

Xserver ファイルマネージャ 操作ログ

ファイルマネージャからファイルのアップロードやダウンロードは

  • ファイルの数が多い
  • ファイルのサイズが大きい

時は失敗する場合が多いです。

ファイルマネージャで失敗する場合は、WinSCP などを使ってダウンロードしてください。

WinSCPの詳細情報 : Vector ソフトを探す!

データベースのバックアップ

エックスサーバーはデータベースを自動でバックアップしていますが、念のためにローカルのパソコンにもバックアップしておきます。

エックスサーバーのサーバーパネルにログインします。

サーバーパネル - ログイン | レンタルサーバーならエックスサーバー

データベース 内[MySQLバックアップ]を押します。

Xserver サーバーパネル データベース

MySQLバックアップ画面が開くので、[現在のMySQLをダウンロード]タブを選択してダウンロードするデータベースの圧縮形式を選択して[ダウンロード実行]を押します。

Xserver サーバーパネル MySQLのダウンロード方法

ダウンロードが実行されてファイルがパソコンに保存されます。

エックスサーバーからドメイン初期化

マルウェアやバックドアが隠れている可能性をつぶすためにサイトで利用しているドメインを初期化します。

サーバーパネルトップから[ドメイン]内[ドメイン設定]を押します。

Xサーバー ドメイン設定

該当ドメインの[初期化]を押します。

ドメインが必要の無い場合は[削除]を押します。

Xサーバー ドメインの初期化と削除

初期化の処理方法を選択して[確認画面に進む]を押します。

  • ドメイン設定の初期化:メールも含めてドメイン運営を一からやり直すならここ
  • ウェブ領域・設定の初期化:サイトの内容のみ再構築したい場合はここ
  • 初期ファイル・フォルダの復元

今回はドメイン名のウェブ領域に設置されたすべてのファイルが削除するために[ウェブ領域・設定の初期化]を選択しました。

Xサーバー ウェブ領域・設定の初期化

初期化される各種設定を確認して問題なければ[実行する]を押します。

Xサーバー ドメインの初期化を実行する

ウェブ領域・設定の初期化処理が完了しました。

画像、プログラム、設定ファイルなどの必要なデータは事前にバックアップしてください。ドメインを初期化してもデータベースは初期化されません。

ドメインの初期化 | レンタルサーバーならエックスサーバー
レンタルサーバー「エックスサーバー」のご利用マニュアル|アップロード済みデータをすべて削除し、運用中の独自ドメインを初期化できる「ドメイン初期化」機能に関するご案内です。サイト構築を一からやり直したい場合にご利用ください。

WordPress のインストール

利用しているデータベース名は wp-config.php ファイルで確認できます。

サーバーパネルにログインして、WordPress 内[WordPress簡単インストール]を押します。

Xサーバー WordPress簡単インストール

ドメイン選択画面が開くので、対象ドメインの[選択する]を押します。

Xサーバー 削除するドメインのデータを選択する

ドメインを指定して作業中の場合は、右上の 現在の設定対象ドメインを[クリア]すると対象ドメインが切替できます。

Xserver サーバーパネル WordPress簡単インストール

WordPress簡単インストール画面が開くので[WordPressインストール]タブを選択して必要事項を記入して[確認画面へ進む]を押します。

  • 設定対象ドメイン:ドメインを選択できます。
  • サイトURL:サイトのURLを指定します。フォルダ部分は任意です。
  • ブログ名:書き換えるので適当に
  • ユーザー名:書き換えるので適当に
  • パスワード:書き換えるので適当に
  • メールアドレス:利用しているメールアドレスを記入する。後ほど変更も可能。
  • キャッシュ自動削除:CronによってWordPressのキャッシュを一定間隔で削除します。好みでどうぞ。
  • データベース:自動でデータベースを生成するに[チェック]を入れる
  • テーマ:Cocoon を利用していたので選択しましたが、利用しているテーマがない場合はデフォルトのテーマでどうぞ。
Xserver サーバーパネル WordPressインストール

確認画面で内容に間違いが無ければ[インストールする]を押します。

Xserver サーバーパネル WordPressインストールする

インストールが開始されます。WordPress のインストールが完了しました。

Xserver サーバーパネル WordPressインストールが完了しました

データベースへ接続

WordPress がまっさらになったところで、以前のデータベースと入れ替えます。

データベースを入れ替えるには[wp-config.php]ファイルのデータベース設定を書き換えます。

バックアップファイルの[public_html]フォルダ内[wp-config.php]に以前のデータベースの情報が記録されています。

エックスサーバーのファイルマネージャを起動して、インストールした WordPress の[public_html]フォルダ内[wp-config.php]を選択して、メニューから[編集]を押します。

[ダウンロード]すれば、パソコンのテキストエディタで編集できます。

Xserver ファイルマネージャ wp-config.php の編集

編集画面が開きます。

以前の wp-config.php と入れ替えると簡単ですが、バックアップはスパマーの影響を受けている可能性があるので、必要情報を書き換えてください。

必要情報

  • WordPress のためのデータベース名
  • データベースのユーザー名
  • データベースのパスワード
  • データベースのホスト名
  • WordPress データベーステーブルの接頭辞

[更新]を押して完了です。

認証用ユニークキー

認証用ユニークキーは、下記ページで取得して後でいつでも変更してください。全てのユーザーを強制的に再ログインさせることができます。

https://api.wordpress.org/secret-key/1.1/salt/

WP_CACHE_KEY_SALT は上記ページで表示されないので、適当に自身で変更するか、ページを更新して他のユニークキーの文字列を利用などしてください。

データベースが反映されると、ネット上からサイトは画像をのぞいてほとんど復旧しています。

画像のアップロード

画像ファイルは upload フォルダに入っています。

example.com\public_html\wp-content\uploads
WordPress uploadsファイルの場所はここで確認できます。

エックスサーバーのファイルマネージャを利用してZIP形式で圧縮した画像ファイルを一括アップロードして戻そうとしましたが、ファイルサイズが大きいこと(250MBほど)を理由にエラーが出ました。

普段使っている FFFTP を利用してアップロードを試みたところ、ファイルが足りなかったり、勝手に終了したりとエラーが多発。こんなに使えん子やったかな?いまいち信用できない。

Adobe Dreamweaver でアップロードを試みましたが、サイトの読み込みを始めたため時間がかかりそうなのでやめる。

面倒になったので、安心・確実・のんびりの WinSCP をパソコンにインストールしてアップロードしました。

画像フォルダは ウイルス検査の後、目視で画像ファイル以外は削除してアップロードしました。

あまり大きなサイトでは大変ですが upload フォルダはスパマーの標的になりやすく、マルウェアやバックドアが仕込まれている可能性があります。

せっかくの再インストール後なので注意しすぎてください。

ここまでくればネット上のサイトに画像も反映されるのでほぼ完成しています。

WordPress の確認

ネットからクリーンインストールが完了したサイトにアクセスして、ページや画像が反映されていることを確認します。

次は WordPress にログインします。

管理画面の左メニュー[ユーザー]内[ユーザー一覧]を押します。

知らないユーザーがここにいたらすぐに削除してください。

WordPress ユーザー一覧

Wordfence Security プラグインの導入

WordPress にファイアーウォールプラグインをインストールします。

Wordfence Security は WordPress プラグインディレクトリから自動でインストールできます。

Wordfence インストール
プラグインのインストール方法 WordPress
WordPress のプラグインをインストールする方法です。公式サイトやzip 形式のファイル、FTPソフトを利用したインストールの仕方を画像を利用してわかりやすく説明しています。プラグインの有効化と設定方法も記録しています。

インストールして有効化すると Wordfence Security が起動して

  • セキュリティアラートを送信するメールアドレスの入力
  • メーリングリスト参加の可否
  • 利用規約や契約、プライバシーポリシーのチェック

の必要事項を記載して[次へ]を押します。

Wordfence 利用規約の承諾

有料版のプレミアムライセンスキーの入力画面です。[いいえ、結構です]を押します。

Wordfence 有料版のプレミアムライセンスキーの入力画面

有料版と無料版の違い

  • 有料版は年1万円程度の料金で、リアルタイムのファイアウォール ルール、マルウェア シグネチャ、国のブロックを取得し、動的に更新される IP ブロックリストを使用して 40,000 を超える悪意のある IP をブロックします。プレミアムカスタマーサポートが含まれています。
  • 無料版は、サイトを安全に保つために必要な基本的なツールで攻撃をブロックします。ファイアウォール ルールとマルウェア シグネチャは 30日間の遅延があります。
Products - Wordfence

Wordfence が起動します。

上部通知にある「サイトをできるだけ安全にするために、Wordfence Web アプリケーションファイアウォールを最適化する時間を取ってください。」の[設定するにはここをクリック]を押します。

通知されている「Wordfence を自動的に最新の状態を保つようにしますか?」は好みの方法を選択してください。自動更新の有効はいつでもできます。

サイトをできるだけ安全にするために、Wordfence Web アプリケーションファイアウォールを最適化する時間を取ってください

Wordfence ファイアウォールの最適化が開きます。

  1. サーバーの構成が分かっている場合はプルダウンから選択してください。(分からない場合はそのままでOK)
  2. .htaccess や .user.ini ファイルをダウンロードしてください。最適化に失敗した場合に置き換えると元に戻せます。
  3. 準備が済んだら[次へ]を押して設定を完了します。
Optimizing The Firewall - Wordfence
The Wordfence firewall has a feature that allows the firewall to be loaded before any other code loads. This provides th...
Wordfence ファイアウォールの最適化

Wordfence は有効化するだけで自動的にファイアウォールやマルウェアスキャンなどの機能を最適化するので、特に設定をする必要がありません。

スキャン

マルウェアやセキュリティをスキャンしてチェックします。

ダッシュボード左メニューの[Wordfence]内[スキャン]を押すとスキャン画面が表示されるので[新しいスキャンを開始する]を押すとスキャンできます。

Wordfence 新しいスキャンを開始する

セキュリティホール検知サイト

さらにマルウェアやバックドアを調べます。

ウェブサイトのセキュリティ状況をチェックするサイトです。URL を入力するとチェックできます。

gred|安全なサイトはgreen、危険なサイトはredでお知らせ。無料のWeb安全チェックサービスといえばグレッド!
gred(グレッド)は、そのサイトが安全(green)か危険(red)かを判断する、無料のWebチェックサービスです。
aguse.jp: ウェブ調査
あやしいサイトや知らないサイトを訪れる前に、URLを入力するだけでサイト背景情報を調査したり、迷惑メールの送付経路を表示したりすることが出来ます。

データベースのパスワード変更

パスワードはサーバー、FTP、WordPress ともにすべて変更・複雑化しましたが、データベースのパスワード変更を失念していました。

エックスサーバーでサーバーパネルの管理画面を開いて、データベース 内[MySQL設定]を押します。

Xserver MySQL設定

MySQL設定画面が開くので、[MySQLユーザ一覧]タブを選択してパスワードを変更する MySQLユーザのパスワード変更から[変更]を押します。

Xserver MySQLユーザ パスワード変更

パスワード入力画面が開くので、変更する新しいパスワードを入力して[確認画面に進む]を押します。

Xserver MySQLユーザ パスワード変更入力画面

確認画面が表示されるので、問題が無ければ[変更する]を押します。

簡単インストール機能を利用した場合は、DB接続設定ファイル(主に wp-config.php)も合わせて補正されます。

Xserver MySQLユーザ パスワード変更確認画面

MySQLユーザの編集を完了しました。画面が表示されたら、パスワードの変更は完了です。

結果が「失敗」の場合は、DB接続設定ファイルを直接修正してください。

Xserver MySQLユーザ パスワード変更完了

パスワードは8文字ぐらいではすぐに解読されるので、16文字以上で数字、小文字、大文字、記号の組み合わせにする。ID も複雑にしておくとかなり強固な鍵になります。

どうせ覚えられないなら複雑にした上で、Wordfence で一定回数ログインに失敗した場合のアカウントロックをかければかなり有効。

プラグインのインストール

以前使っていたプラグインを新規インストールします。

これが終わればクリーンインストールからサイトの復旧が完了します。

FAQ ハッキングされた場合は
注: 悪意を持ったサイトへの攻撃や不正アクセスは本来「クラッキング」と呼ばれますが、検索性などを考えて、ここで…

自分メモ

最初からインストールされているプラグイン

  • Akismet Anti-Spam (アンチスパム)
  • Hello Dolly(不要なので削除)
  • TypeSquare Webfonts for エックスサーバー

後からインストールするプラグイン:インストール順

  • jetpack
  • jetpack protect
  • WP-Doctor Malware Scanner & Security Pro
  • SiteGuard WP Plugin
  • Broken Link Checker
  • Google XML Sitemaps
  • BackWPup を入れてバックアップ

Xサーバーサーバーパネルから、ホームページ内[ads.txt設定]を入れる

cocoon 設定リストア

必要があればファビコンの再設定、背景透明画像:WordPress ダッシュボード左メニュー[外観]内[カスタマイズ]内[サイト基本情報]

cocoon 子テーマに style.css を書き込み

後でややこしくなるので、Xサーバーの不要なデータベース削除

ファイルに対する攻撃がすごいので接頭辞を変更してセキュリティを高めること推奨。ただし、データベース等はバックアップしていつでも元に戻せる状態ですると安心です。

まとめ

WordPress のクリーンインストールが完了しました。

やる前はとても面倒に思いましたがデータベースさえあれば、あっという間に復旧できるのでマルウェアや不正アクセス、乗っ取りで悩んでいるならすぐに始めてください。

これでだめなら、ドメイン設定の初期化で再クリーンインストールと、データベースを精査してみます。

コメント

タイトルとURLをコピーしました