質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

解決済

2回答

3334閲覧

過去に一度スパム攻撃されたWordPressの、プラグインがアップデート・削除不可能になっています。

tabowalker

総合スコア9

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

0クリップ

投稿2018/07/23 10:39

編集2018/07/24 02:33

前提・実現したいこと

WordPressの「MW WP Form」のプラグインのアップデートをしたかったのですが、以下のエラーが表示されてしまいできませんでした。
そのWordPressのサイトは、一度「MW WP Form」で作成したお問い合わせフォームから大量のスパムが送られ、一部データを削除されるなどのハッキングを受けたものです(その時はサイトガードプラグインを入れたり、お問い合わせフォームにreCAPTCHAを入れたりして防ぎました)。他のプラグインはアップデートできています。「MW WP Form」だけがアップデートできません。

発生している問題・エラーメッセージ

MW WP Form の更新中にエラーが発生しました: いくつかのファイルをコピーできないため、最新版のインストールができません。これはたいていの場合、ファイルのパーミッションが適切でないことが原因です。 readme.txt, languages, languages/mw-wp-form-ja.po, languages/mw-wp-form-ja.mo, languages/mw-wp-form.pot, css, css/admin-list.css, css/admin-common.css, css/admin-data-list.css, css/style.css, css/admin-data.css, css/admin-repeatable.css, css/admin.css, classes, classes/validation-rules, classes/validation-rules/class.zip.php, classes/validation-rules/class.maximagesize.php, classes/validation-rules/class.numeric.php, classes/validation-rules/class.kana.php, classes/validation-rules/class.alpha.php, classes/validation-rules/class.filesize.php, classes/validation-rules/class.in.php, classes/validation-rules/class.mail.php, classes/validation-rules/class.between.php, classes/validation-rules/class.required.php, classes/validation-rules/class.noempty.php, classes/validation-rules/class.minimagesize.php, classes/validation-rules/class.eq.php, classes/validation-rules/class.alphanumeric.php, classes/validation-rules/class.url.php, classes/validation-rules/class.month.php, classes/validation-rules/class.akismet.php, classes/validation-rules/class.katakana.php, classes/validation-rules/class.hiragana.php, classes/validation-rules/class.filetype.php, classes/validation-rules/class.nofalse.php, classes/validation-rules/class.minlength.php, classes/validation-rules/class.tel.php, classes/validation-rules/class.date.php, classes/functions.php, classes/models, classes/models/class.contact-data.php, classes/models/class.mail.php, classes/models/class.abstract-form-field.php, classes/models/class.csv.php, classes/models/class.setting.php, classes/models/class.form.php, classes/models/class.akismet.php, classes/models/class.contact-data-setting.php, classes/models/class.validation.php, classes/models/class.session.php, classes/models/class.admin.php, classes/models/class.error.php, classes/models/class.json-parser.php, classes/models/class.file.php, classes/models/class.abstract-validation-rule.php, classes/models/class.data.php, classes/controllers, classes/controllers/class.controller.php, classes/controllers/class.contact-data.php, classes/controllers/class.admin-list.php, classes/controllers/class.main.php, classes/controllers/class.contact-data-list.php, classes/controllers/class.chart.php, classes/controllers/class.admin.php, classes/controllers/class.stores-inquiry-data-form-list.php, classes/services, classes/services/class.redirected.php, classes/services/class.mail.php, classes/services/class.exec-shortcode.php, classes/services/class.mail-parser.php, classes/form-fields, classes/form-fields/class.select.php, classes/form-fields/class.button-submit.php, classes/form-fields/class.zip.php, classes/form-fields/class.akismet_error.php, classes/form-fields/class.number.php, classes/form-fields/class.password.php, classes/form-fields/class.submit.php, classes/form-fields/class.button.php, classes/form-fields/class.email.php, classes/form-fields/class.datepicker.php, classes/form-fields/class.radio.php, classes/form-fields/class.button-button.php, classes/form-fields/class.submit-button.php, classes/form-fields/class.range.php, classes/form-fields/class.button-confirm.php, classes/form-fields/class.hidden.php, classes/form-fields/class.url.php, classes/form-fields/class.textarea.php, classes/form-fields/class.custom-mail-tag.php, classes/form-fields/class.text.php, classes/form-fields/class.button-back.php, classes/form-fields/class.image.php, classes/form-fields/class.checkbox.php, classes/form-fields/class.monthpicker.php, classes/form-fields/class.confirm-button.php, classes/form-fields/class.error.php, classes/form-fields/class.file.php, classes/form-fields/class.tel.php, classes/form-fields/class.back-button.php, classes/config.php, js, js/admin-data-list.js, js/mw-wp-form-google-chart.js, js/admin.js, js/jquery-ui-month-picker, js/jquery-ui-month-picker/MonthPicker.min.js, js/jquery-ui-month-picker/MonthPicker.min.css, js/scroll.js, js/admin-chart.js, js/mw-wp-form-repeatable.js, js/form.js, images, images/handle.png, templates, templates/contact-data-list, templates/contact-data-list/admin-print-styles.php, templates/contact-data-list/column.php, templates/contact-data-list/csv-button.php, templates/stores-inquiry-data-form-list, templates/stores-inquiry-data-form-list/index.php, templates/contact-data, templates/contact-data/admin-print-styles.php, templates/contact-data/detail.php, templates/contact-data/returning-link.php, templates/chart, templates/chart/index.php, templates/admin, templates/admin/add-ons.php, templates/admin/admin-mail-options.php, templates/admin/form-key.php, templates/admin/tag-generator.php, templates/admin/settings.php, templates/admin/validation-rule.php, templates/admin/url.php, templates/admin/mail-options.php, templates/admin/style.php, templates/admin-list, templates/admin-list/form-key.php, mw-wp-form.php

試したこと

  1. プラグインを管理画面のダッシュボードから該当プラグインを「削除」

 → 同様のエラー
0. FTPソフトから「mw-wp-form」を別名に変更
→ 同様のエラー
0. FTPソフトで「mw-wp-form」フォルダを削除
→ 何度やっても消えない
0. FTPソフトから「mw-wp-form」を別名に変更したあと、新しくmw wp formのプラグインを管理画面からDL
→ MW WP Fromがはいっている扱いのためDLはできない
0. FTPソフトから「mw-wp-form」を別名に変更した状態で、mw wp formプラグインをZIPファイルでDLして、管理画面からプラグインを新規追加でアップロードしてみる
→ 同じプラグインが2つはいっている扱いなのは変わらないため、WordPress側が混乱したのか「mw wp form」の設定画面に入れなくなる。
0. FTPソフトで「パーミッション」と「所有者/グループ」を見ると他のプラグインと明らかに情報が違うことがわかり、管理者を変えようと試みる。
→ ターミナルからFTPにログインしようとするが、パスワードは合っているはずなのに「Connection closed」となりログインすら不可能。
※ターミナルから管理者権限をいじるのはやったことがなく、基本の「き」すらよく分かってません。

補足情報

使用OSはmac。
使用しているFTPソフトはFileZilla。
サーバーのPHPのバージョンは7.0.16。
サーバーはレンタル(詳細なプランは不明)、コントロールパネルはPlesk。
その他に必要な情報がございましたら追加します。

推測・考えられる解決法

おそらく、以前の攻撃で管理者権限を変更されてしまったためにプラグインのアップデート・削除ができなくなってしまったのだと推測しています。ですので、その管理者権限をなにかに変えれば解決できると考えていますが、以下の点で詰まっています。

  1. コマンドラインで変更する方法がよくわからない

sftp コマンドでFTPに接続して、プラグインのフォルダに対して何かしらのコマンドを打って変更すると思いますが、FTPに接続できないので困っています。コマンド以外で変更する方法はありますか?
0. 権限を何に変更すればいいのか分からない
「Apache」にすればいいんでしょうか?

削除もできないため、他のプラグインに乗り換える事もできません。セキュリティ面を考えると不安なので、できればなんとかしたいです。お手数をおかけいたしますが、ご教示いただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

MW WP Form の更新中にエラーが発生しました: いくつかのファイルをコピーできないため、最新版のインストールができません。これはたいていの場合、ファイルのパーミッションが適切でないことが原因です

確認したって記述がないけど、メッセージどおりじゃないの?

ちなみに、

一部データを削除されるなどのハッキングを受けたものです

このレベルの攻撃を受けたサイトは、「攻撃方法の特定」ができない場合、再公開してはいけません。
簡単に再度侵入を許すことになります。

きちんと対策できる方に相談し、一から作り直すのが適切です。

投稿2018/07/23 16:47

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tabowalker

2018/07/24 02:27 編集

攻撃を受けたサイトはもう一度作り直すほうがいいんですね…初めて知りました。ありがとうございます。 再構築の方向性で考えようと思います。
退会済みユーザー

退会済みユーザー

2018/07/24 02:07

攻撃を受けた場合は、まず「サーバをネットワークから切り離す」事が鉄則です。次に、解析に移りますが、最低限攻撃手段の特定までは行いたいです。 で、問題のサイトの再開ですが、「一部データを削除されるなど」の被害がある場合、すでにシステム内のファイルに変更が加えられている可能性があるので、サーバ構築からやり直す必要があります。 *DB 内データの書き換えのみであれば、影響範囲は絞れる可能性がありますが、それでも保険的に一から作り直したほうが良いと思います。 再構築にあたっては、セキュリティに通じた方にアドバイスをもらい、セキュアな環境として公開することが必要となります。 侵入された攻撃手段を封じたとしても、すでに一度許している以上、標的としておいしい相手だと認識されている可能性が高いので、慎重なセキュリティ設計を行ったほうが良いです。
tabowalker

2018/07/24 02:51

ありがとうございます。 その時確認できた攻撃は目に見えるもので、以下の3点でした。 ・大量のスパムメールを送られる。 ・投稿ページが一部削除されている。 ・MW WP Form プラグインフォルダの権限がapacheに変えられている。 DBをイジられたかどうかは分かりませんが、可能性は0ではなさそうです。 作り直す場合「サーバー構築からやり直す」ということですが、このようなことでしょうか。 ・サーバー内のWordPressに関するデータを全部削除 ・もう一度WordPressを入れ直す(WordPressを入れるディレクトリ名は変える) ・過去のデータは記事、メディアとプラグインの情報をインポート+エクスポートする ・万が一を考え、データベースは以前のデータをプラグインを使ってそのまま移行はしない。 ・サーバーを変える必要はない サーバーやセキュリティ関連には詳しくなく、サーバをネットワークから切り離す方法すら分からないので、セキュリティやサーバー関連に詳しい人を探して相談しようと思います。
退会済みユーザー

退会済みユーザー

2018/07/24 02:59

レンタルサーバのようなので、いろいろ制限されますが、とりあえず以下の手順かと。 ・静的ページを別に作り、「メンテナンス中」として、DNS をそちらに向ける ・既存サイトの解析を専門家に依頼する ・新サイトを、新しいサーバで構築する ・DNSを新サイトに向ける サーバ環境にすでに何か仕込まれている可能性があるので、新サーバを利用したほうが良いです。 また、既存環境は、調査の為初期化せず、そのまま専門家に見てもらってください。 併せてレンタルサーバの管理会社に連絡を入れておくと適切な対応をしてもらえると思います。
tabowalker

2018/07/24 03:31

ありがとうございます。 その方向で社内に報告し、相談しようと思います。 サーバー変更はすぐには難しいかも知れませんが、検討する方向まではもっていけそうです。
退会済みユーザー

退会済みユーザー

2018/07/24 03:47

変更はどうでも良いですが、対象サーバの停止は優先してください。 スクリプト1つ突っ込めれば、かなり危険なことまで可能なので、まず上長と相談してください。 他社(他者)に迷惑をかける可能性もあります。 具体的には ・他社サイトを攻撃 ・貴社のドメインでスパムを出しまくる 等々、踏み台として使用されると非常に厄介です。 もっとも、今はマイニングがブームなので、上記は無いかもしれませんが、それでも早急にサーバは停止したほうが良いです。
guest

0

まずはレンタルサーバーなのか何なのか、レンタルサーバーならどこのレンタルサーバーのどのプランなのか、その辺の情報が絶対必要です。

とりあえずDoS的な攻撃でしたら管理者権限を書き換えられるようなことはあまり考えなくて良いと思います。

いろいろやり方は考えられますが、3点提案してみます。

1.コントロールパネルから削除(レンタルサーバーの場合)
フォルダを消したり名前変更したいのであればまずはコントロールパネルにログインします。
ほとんどのレンタルサーバーでファイルマネージャー的な物があるので、そこから削除なり名前変更を行う。
ファイルマネージャーからも出来ないのであればレンタルサーバーのサポートに相談しましょう。

2.DBからプラグインを強制的に無効にする

https://happyquality.com/2014/07/07/2908.htm

この辺を参考に。

3.ワードプレス自体を再構築する
サイトにどれくらい手間がかかってるか、記事数がどれくらいか次第ですが、個人的にはあれこれ考えるくらいならこっちが簡単かな?と思います。
記事をエクスポートして、使用しているプラグインを控えて、画像・ファイルをバックアップして・・・
って感じで別のサブフォルダにWordpressをインストールし直して再構築していきます。
記事等が余程の件数があっても現状サイトの管理画面に入れるのであれば1時間はいらないのではないでしょうか?

細かいことがわかりませんがとりあえずの提案まで。

投稿2018/07/23 13:21

編集2018/07/23 13:22
landy77

総合スコア1614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tabowalker

2018/07/24 02:28

サーバー情報の記述については完全に失念しておりました。お手数をおかけしてすみません。いろいろパターンを記述いただき、ありがとうございます。 サーバーはレンタルで、コントロールパネルはPleskを使っています。プランなどは詳しくわからないです。 >1.コントロールパネルから削除(レンタルサーバーの場合) この存在を忘れていました。 直接削除してみましたが、FTPソフトと同じように削除できません。 ▼エラー内容ーーーーー /*wpのディレクトリ*/wp-content/plugins/mw-wp-form を削除できません。filemng failed: filemng: Error occurred during /bin/rm command. ーーーーーーーーーーー ユーザー名とグループ名を見ると「MW WP Form」のディレクトリのみ、「apache」に変えられていました。そのためか、パーミッションの変更もできなくなっています。 >2.DBからプラグインを強制的に無効にする 無効にはできるのですが、データ自体が削除できないのでどうしようもないです。 >3.ワードプレス自体を再構築する 記事数は30個もいかないほど規模の小さなサイトですので、この中の選択肢の中では1番適切なのかもしれません。攻撃を受けてしまったのは事実なので、再構築の方向性で考えようと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問