猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

wordpress

不正アクセスからの復旧(1)

投稿日:

2017年4月22日「【重要】ネットオウルお客様のサーバーアカウントにおける不正なアクセスの検知および制限の実施について」というメールがきて、サイトにアクセスできなくなってしまいました。

↓↓↓メール↓↓↓
お客様のサーバーアカウントにおいて、
運用中のウェブサイトが改ざんされている旨、
第三者より報告が寄せられました。

▼報告のあったURL
——————————————————-
http : //ips.nekotype.com/articles1/soT/3Fb/fHItJ/
http : //ips.nekotype.com/wp-combenr/yPJ/U1Dnp/JcbkI/
http : //ips.nekotype.com/wp-cross/pABy/bzZzf/FmIn/
http : //ips.nekotype.com/wp-cross/STExQ/LWx/BsW/

※不正なコード等が挿入されている可能性があるため、
 上記URLへ直接アクセスなさいませんよう、ご注意ください。
——————————————————
↑↑↑メール↑↑↑

これを機会に全てを一新しようと思いました。しかし、過去の投稿だけはなんとか保存しておきたいと思いました。
色々調べても移行や引っ越しの方法はでてきますが、引っ越しするわけではありません。
しかも現在のサイトにアクセスできなくなってしまっています。

エクスポート

WordPressには記事のエクスポート機能があるようです。
面倒なのでこれを使用することにきめましたが、サイトにアクセスできません。

まずは全てのデータをFTPでダウンロードし、データベースをエクスポートしました。

データベースはPHPMyAdminから簡単にダウンロードできたのですが、FTPのデータをすべてダウンロードするには相当な時間がかかりました。
FFFTPの設定を見直すところから始まりました。

  • 「高度」タブで「NLST -Rを使って高速に再帰検索」だけにチェック
  • 「暗号化」タブでは「暗号化なしで接続を許可」だけにチェック

これでフォルダ単位でやっとダウンロードできるようになりました。

こうして手にいれた「ファイル」と「DBダンプ」を、vmwareで構築したCentosのローカルWordpressにインポートすることが目的です。

仮想マシンにWordpressを構築する

軽く1年以上、自分のPCでVMwareを起動していませんでした。
適当なCentosの仮想マシンを起動するも、ホストマシンから繋がりません。
一から勉強しなおすことになりました。

  • NAT接続・・・仮想マシンがホストマシンのIPをつかって外部に接続。仮想マシンとホストは繋がらない。
  • ブリッジ接続・・・仮想マシンがホストと同じネットワーク上に繋がる。仮想マシンとホストは繋がる。
  • ホストオンリー・・・仮想マシンとホストの間の専用ネットワーク。もちろん仮想マシンとホストは繋がる。

ブリッジ接続で設定したかったのだが、なかなか上手くいかなかった。結果として、自分のPC(=ホスト)には複数のアダプターがありました。
その中で、仮想マシンがブリッジ接続したいネットワークのアダプターのプロパティにある「VMwarae Bridge Protocol」だけにチェックを入れます。そして、VMwarePlayerの仮想マシンの設定のネットワークアダプタの設定を「ブリッジ:物理ネットワークに直接接続」にチェックをいれ、「物理ネットワーク接続の状態を複製」にもチェックを入れます。仮想マシンを再起動し、ファイヤーウォールを適切な設定にすることでやっと繋がりました。

その後Wordpressのインストールは簡単でした。
バージョンもなにもかも気にせずに、見かけたサイトの通りに構築でききました。
この辺りはさすがワードプレスです。自分のPCでよければ簡単に構築できるようでした。
ただ、自分のPCは外部に公開したくないので私がやりたいのはやはりレンタルサーバーでの再構築です。
DBダンプとFFFTPでダウンロードしたファイルををWinscpで仮想マシンに移動してDBはインポート、ファイルは構築したWordpressの内容と置き換えました。

これでいつもの私のサイトが、ローカル環境では復旧できました。

エクスポートとインポート

レンタルサーバー上のデータは全て削除して復旧依頼をしました。
最新のWordpressを改めて構築しました。

旧サイトからは記事をツール>エクスポートから取得してエクスポートしました。
インポートもかなりのスピードでした。

これでサイトが復旧したかに見えました。
バージョンが違うせいか、テンプレートが違うせいか、何かが色々ことなります。
一応記事は復旧できているようですが・・・。
一つ一つ、元に戻す作業がはじました。

メディアや画像が移行できていない

必用なプラグインは入れていくしかありません。
固定ページに変更履歴は記載していたので、気になる点は順次作業をしていきます。

大変だったのが画像です。

\wp-content\uploadsのファイルをアップロードすることで、記事の画像がもどってきました。
今思うと、バックアップすべきはここだけだったようです。

それでも記事にあるアイキャッチ画像がもどってこず、空っぽになってしまいます。
そのためパスの確認もできません。

よく見ると、メディアの中身が空っぽです。
調べてみるよくあることのようで、「WordPress Flash Uploader」というプラグインを入れて、同期させることで復活しました。
メディアの中は復活したのですが、やはりアイキャッチ画像が戻りません。

どうせエクスポートしてインポートしただけなので、思い切ってDBをインポートしてやろうと思いました。
しかし、サイズが大きすぎて簡単にはいきません。
PHP.iniを修正したのですがどうも反映されません。

したかなく、ダンプの中から「wp_posts」テーブルの個所をコピーしてPHPAdminで実行しました。
それでもやはりだめです。
名前的に関連してそうなので、「wp_postmeta」もコピーして実行しました。
なんと画像の見つからない状態にまで戻ってきました。
調べてみると、DB上は「…/Movie.png’」なのに、実際のフィルは「…/movie.png’」でした。
一瞬衝撃が走りましたが、「wp_postmeta」のDrop&InsertのSQLをサクラエディタで全て小文字に変更して再実行しました。
これでやっとアイキャッチ画像が戻ってきました。

薄々感じていたのですが、少し古い感じがするのでこの機会に新しい画像を作成しようかと思っています。

Gooleアドセンス用336

Gooleアドセンス用336

-wordpress
-

執筆者: