ホームページ作成

WordPress作成ホームページ改ざん被害の実体験!復旧方法紹介

WordPress作成ホームページ改ざん被害の実体験!復旧方法紹介

ホームページ制作に携わる者としてお恥ずかしい限りですが、当方は2018年某月に運用しているホームページ約30個が改ざん被害を受けました。
実際に改ざん被害を経験するまでセキュリティに対する意識が欠如していた結果です。

以下は実際に埋め込まれた悪意のあるファイルとコードになります。

悪意のあるファイルとコード
当ホームページ制作では、この改ざん被害に遭遇したことでセキュリティの重要性を認識し、現在は逆にWordPressセキュリティ保守などをサービスの一つとしてご提供しております。

本記事では、実際に改ざん被害を受けたホームページを復旧した対処方法について紹介します。

被害を受けた場合の対象方法

悪意のあるプログラムを埋め込まれてしまった場合に復旧するには、

  • 復旧専門会社に依頼する
  • 自力で復旧する

この2つの選択肢になります。

復旧専門会社に依頼

当方は復旧専門会社への依頼には至りませんでしたが、被害当時に相談した会社を2社紹介します。

クロスアンドクラウン セキュリティ インテリジェンス合同会社
URL:https://webrepair.jp/ 
オレンジセキュアサービス株式会社
URL:https://www.orange-ss.com/index.html 

自力で復旧

自力で復旧する上でまずお伝えしたいのが、専門的な知見がない限りは、データの部分修正で対応するのはやめましょう。

一度改ざんされたホームページは、コアな部分まで侵入しており、いくつかのバックドアを埋め込まれている危険性が高いです。
このバックドアをピンポイントで対処するには専門的な知見が必要となります。

当方は実際に部分修正で一度対処しましたが、見事バックドアから侵入されて再改ざんされました。

見覚えの無い管理者が不正登録
サーバ管理会社から届いた下記メールに部分的な修正では不十分であると記載されていましたが、その通りの結果となりました。

 サーバ管理会社から届いたメール
改ざんファイルが確認されたフォルダに設置されたデータのうち、未検出の不正ファイル、脆弱性のあるファイルが残っている可能性もございます。
その場合、改ざんが再度発生いたしますので、併せて改ざん防止の対策を実施ください。

「急がば回れ」手動でのホームページ再構築

改ざんされたサーバ内での復旧は諦めて、新たにサーバを契約、そこへホームページを手動で移転し、再構築する方法で復旧対応しました。

決して効率的な方法ではありませんが、この方法で復旧。
現在はセキュリティの保守を継続し、再改ざんされることなく攻撃をブロックしています。

なぜ手動なのか?

通常、WordPressサイトの移転作業はDB(データベース)のエクスポート・インポートで行いますが、改ざん被害にあったホームページはDBにも悪意のあるコードが格納されている可能性があるために、手作業で行いました。

移転前に行ったこと

改ざん被害サーバにファイルをアップロードする際に利用していたFTPクライアントソフトのアカウント情報が盗まれている可能性がありますので、既存のFTP接続データは全て削除し、FTPクライアントソフトをアンインストールしました。

※当方は現在(2019年5月時点)FTPクライアントソフト「WinSCP」を使用しております。

「WinSCP」SCP/SFTP/FTPS対応のFTPクライアント – 窓の杜
URL:https://forest.watch.impress.co.jp/library/software/winscp/ 

FTPへの攻撃について詳しく知りたい方はこちら

GumblarによるFFFTPへの攻撃について
参考URL:http://www2.biglobe.ne.jp/sota/ffftp-vulnerability.html 

移転の手順

当方は移転先サーバをXseverにして、以下の流れで手動移転を行いました。

エックスサーバー
URL:https://www.xserver.ne.jp/ 

ステップ:1

改ざん被害サイトは移転準備できるまで閲覧できる状態のまま残す。

ただし、クライアントに事情を説明の上、アクセス制限などで復旧が終わるまで他のユーザーには閲覧できない状態にすることを推奨します。

特定のホスト、IPの許可/制限
参考URL:https://lolipop.jp/manual/hp/htaccess-03/ 

ステップ:2

Xsever契約時付与されるデフォルトのドメイン(***.xsrv.jp)を利用してWordPressをインストール。

これを「仮移転サイト」とします。

WordPressインストール時の注意点

テーブルの接頭語をデフォルトの「wp_」のままにしておくと、容易にテーブル名が推測できますので、覚えにくいランダムな文字列に変更することを推奨します。
WordPressの管理者名も「admin」は当然NGとして、「ドメイン名」など不正アクセスされやすい名前は控えてください。
同様にログインパスワードも強力なものに変更してださい。

パスワード生成 – ルフトツールズ
URL:http://www.luft.co.jp/cgi/randam.php 
テーマ・プラグインの注意点

長期に更新が途絶えているテーマ・プラグインは脆弱性に対応していない可能性が非常に高いので使用を控えてください。
当方は公式ディレクトリ配布で更新が途絶えていない代替えとなるプラグインを探して対応しました。
復旧専門会社に相談した際も「WordPresの改ざん被害はプラグイン経由が多く、開発が止まっているプラグインの使用は控えること」との回答、非常に重要なポイントです。

ステップ:3

改ざん被害サイトの情報を全て「仮移転サイト」に移す。

画像ファイル名の注意点

画像ファイル名を日本語にすると本番の移転時(インポート)に文字化けしますので、もし画像ファイル名が日本語の場合、半角英数字に変更してください。

ステップ:4

「仮移転サイト」に全て情報を移し終えたら、WordPress移転プラグイン「All-in-One WP Migration」で本移転先用データをエクスポートする。

「All-in-One WP Migration」の詳細については以下の記事が参考になります。

All-in-One WP Migrationのインポート可能ファイルサイズが512MBから30MB等へ減少した件について
参考URL:https://kaminarimagazine.com/web/2018/10/31/all-in-one-wp-migration…/ 
【All-in-One WP Migration】 WordPressのドメイン変更&サーバー移設には絶対これお薦め!
参考URL:http://momo-clan.hatenablog.com/entry/2017/05/14/%E3%80%90All-in-One_WP_Migration… 

ステップ:5

本移転先の「新しいサイト」にファイルをインポートする。

以上で移転が完了です。

再改ざんを防ぐためのセキュリティ基本事項

改ざん復旧が完了しても、ノーガードで運用すれば再び改ざん被害を受けますので、以下の防止策を継続して行ってください。

ステップ:1

攻撃をガードするプラグインをインストールする。

当方が推奨するプライグインはWordfence(ワードフェンス)です。
詳細については以下の記事が参考になります。

【SS】2019年版の後世に残るWordfence Securityプラグイン設定
参考URL:https://excesssecurity.com/wordfence-settings/ 
主なWordfence(ワードフェンス)が対応する攻撃の種類
  • SQLインジェクション
  • クロスサイトスプリプティング
  • ディレクトリラバーサル

…など

ステップ:2

定期的なバックアップを怠らない。

手動で定期的に行うのも悪くありませんが、ご契約されているサーバの契約オプションに「定期的な自動バックアップ」があれば、ホームページ運用担当者の負担が減りますので導入を推奨します。
また自動バックアップするWordPressプライグインがいくつかありますので、用途に合えば利用するのも良いでしょう。

ステップ:3

WordPress本体の最新版バージョンアップ化を怠らない。

当方が定めた最新版維持設定ルールは以下になります。

  • マイナーアップデートは自動更新
  • メジャーアップデートはリリースしてから1週間~2週間後くらいに手動で更新
メジャーアップデートの更新に期間を空けている理由は?

新しい機能追加や古い関数がクラスにまとめられるなどの変更を含みますので、メジャーアップデートが原因で不具合が発生するケースがあります。
そのため、有志の方々が不具合に対する解決策を発信してくれるまで、メジャーアップデートは一時保留しています。
なお、アップデートする際にはバックアップを忘れないようにしましょう。

ステップ:4

定厳選したプラグインのみを入れる

セキュリティ意識が低い人やWordPress初心者にありがちなのが、プラグインを大量に入れることです。
当方もWordPressをはじめて使ったときは「おおっ!こんなこともプラグインで実装できるんだ!」と胸がときめきました。

しかし、だからといって20~30個など、大量のプラグインを入れることはおすすめしません。
理由はプラグインの数が多すぎると、プラグインのアップデート対応に追われることになるからです。

ちなみに当方はプラグインの数は目安としてメジャーなプラグイン10~12個くらいに抑えるセキュリティ方針にしています。

ステップ:5

プラグイン&テーマの最新版バージョンアップ化を怠らない。

長期に更新が途絶えているテーマ・プラグインは脆弱性に対応していない可能性が非常に高いので使用を控えてください。

メジャーなプラグインだけど、長期に更新が途絶えているプラグイン例

PS Auto Sitemap
PS Auto Sitemap 

もし公式ディレクトリ配布で更新が途絶えたいるなら、代替えとなるプラグインを探して対応しましょう。

以上、
いずれもWordPressでホームページ運用するためのセキュリティ基本事項です

各アップデートが不安な場合

WordPress本体やプラグイン&テーマのアップデートで、悩ますのが、エラーが起こることです。

エラー表示例

Warning Message

こちらを危惧して手をつけられないケースは多いと思います。
そんなときは、本番そっくりのテスト環境を構築し、そこでアップデートテストすると安心です。

最新の状態を維持しましょう

WordPressは便利なホームページ作成ツールではありますが、素人(セキュリティ意識が低い人)が管理するのは危険です。
もし、セキュリティ基本事項にリソースが割けれないのであれば、制作会社にセキュリティ保守を依頼してWordPress本体やプラグイン、テーマのアップデートは無視せず、最新の状態を維持することを推奨します。
WordPressで作成したホームページの攻撃状況を調査