web-dev-qa-db-ja.com

です WP プラグインやテーマを更新するときに脆弱ですか?

かつて、私はどういうわけか誰かが私のウェブサイトのファイルをFTPまたはSSH資格情報なしで変更することに成功したという問題を抱えていました。おそらく彼はWPを通って侵入したでしょう(おそらくそれは '彼'ではなく 'it'、ボットでした)、我々は調査の後に言った。

とにかく、それ以来、私は WordPress File Monitor プラグインを使っています。これはファイルが変更されたときに私にメールを送ります。さて、プラグインやテーマをアップデートするとき、私は最初にファイルモニターでスキャンを実行し、それからアップデートし、そして次に再びスキャンします。モニタはアップデートのために警告を出します、そして、私はそれを削除します、それは 'アップデートのため'です。

さて、ifWPは更新時に特に脆弱です(例えば、更新がWPサーバではなくハッカーから)、これで私は自分のサイトのセキュリティにリークを開きます。
一方、更新されたプラグイン/テーマが(私はいつもチェックしています)うまく動いていて、それが変更されているのは(私もいつもチェックしています)更新中に誰かが私のサイトをハッキングした可能性はあまりありません。

私はここで正しいことをしているのでしょうか、それともアップデート後にもっとよくチェックするべきですか?

4
Keelan

現在あなたがしていることは大丈夫ですが、それを行うにははるかに良い方法があります。

ここでの中間者攻撃の問題は、wordpress.orgとデータセンターのサーバーの間に自分を挿入することは簡単な作業ではないため、このシナリオはほとんどありません。

ただし、

組み込みのアップデーターを放棄し、代わりにgitリポジトリに依存してデータを取得する場合は、プラグインとテーマが安全であることを100%保証できます。発生

これはgitが約束する信頼性のためです。 gitリポジトリには、VCS履歴を表すSHA-1ハッシュがあり、gitリポジトリを「操作」または操作してコードを追加しようとすると、そのハッシュが無効になり、gitが動かなくなります。このため、そのハッシュが適切である限り、暗号化保証のおかげでどんなに信頼できなくても、どこからでもコードの変更を取得できます。

Linus TorvaldsがGitの信頼性と信頼性について、私が説明できるよりもはるかに上手く話しています。

http://youtu.be/4XpnKHJAok8?t=56m10s

バージョン管理されたセットアップに移動したら、wp-contentフォルダーなどを設定して、サーバーApache/WWW/Nginxユーザーのみを読み取ります。 git以外のリポジトリが破損または侵害された場合は、リポジトリを所定の場所に再チェックアウトし、損傷を取り消すことができます。

ここでは、Composerなどのプロビジョニング/展開ツールも役立ちます。

Gitはデータの不整合を強調し、改ざんの証拠を提供することで中間者攻撃を防ぎますが、ソースの正しいコピーがあることを保証するだけであることに注意してください。元の開発者が神経衰弱を起こし、プラグインにDROP ALL TABLESコマンドを追加することを妨げません。そのために、サンドボックスでのテスト、校正/コードレビュー、サポートフォーラムがあります。

3
Tom J Nowell

あなたのアップデートは、あなたのアップデートチェーンの最も弱い部分と同じくらい安全です。アップグレードは3.7以降HTTPS経由で行われるため、wordpress.orgに対するMITM攻撃はそれほど困難ではありません。そのためのリソースを持っている人であれば、何らかの形であなたを攻撃することになります。

もっと問題となる点は、実際にはwordpress.orgのアカウントとサーバー上のあなたのアカウントです。サーバーを保護することはできますが、wordpress.orgアカウントのハッキングや、使用するプラグインやテーマに悪質なコードを挿入することから保護することはできません。

サイトの更新内容を完全に確認する唯一の方法は、ファイルをチェックした後に手動でファイルをサーバーにアップロードすることです。

注意:あなたのサーバー上のファイルがftpまたはsshアクセスなしで変更された場合、あなたのサーバーは十分に安全ではなく、おそらくあなたのApacheを別のユーザーとして分離し、あなたのディレクトリに正しいパーミッションを設定しないでしょう。

1
Mark Kaplun