本日の趣旨説明
- WordPressアップデートと脆弱性ということで、どうしたら安全にWordPressを利用し続けられるか。その内容をお届けします。
■WordPressの脆弱性とその対策について
脆弱性とアップデートの関係性
WordPressは脆弱なのか?
- そんな事はありません
- いや、そんな場合もあります。(アップデートをしているかどうか)
- 多くの場合はプラグインの問題
脆弱性のニュース発表について
- 脆弱性が発見され、開発者などに報告される
- その対応がなされたバージョンが公開される
- ニュースが発表される
WordPressに限った話ではない
- ソフトウェアには脆弱性が生まれる可能性がある
- その脆弱性を埋めながら進んでいく
- たとえばPCのOSアップデートにも、スマートフォンのアップデートにも脆弱性への対応が含まれることがあります。
- WordPressの報道が多く感じるのは、利用者が多いため。ニュースになりやすいため。多くのプラグインが公開されているため。
アップデートと同様にもしくはそれ以上にまずはパスワードを難しくする
- ソフトウェアが乗っ取られるのは以下の2つから始まる可能性が高い
- 脆弱性を突かれる
- 認証を突破される
- WordPressの場合の認証はログイン
- まずはパスワードを難しくしましょう。
- WordPressがdefaultで提案するパスワードと同等か、それ以上に難しくすることを推奨します
- 24文字以上、大文字、小文字、数字、記号を含んだ、意味のない文字列
脆弱性はWordPressだけでなく、動作させるためのソフトウェア(ミドルウェア)にもあります
- 以下のミドルウェアもバージョンアップが必要
- PHP
- MySQL
- ApacheやNginxといったWebサーバー
- LinuxなどのOS
- 一般的な共有レンタルホスティングであれば、PHP以外は、常にメンテナンスされているはずです。
- 通常、クラウドサーバやVPSサーバの場合、ミドルウェアのメンテナンスも利用者が行う必要があります。このケースは要注意です。
- 共有レンタルホスティングであっても。PHPについてはサーバの管理画面からアップデートすることが必須
- 2023-06-21現在のPHPのサポートについて
自分のWordPressの環境を確かめる方法
- ツール → サイトヘルスより確認いただけます。
- WordPress関連
- ミドルウェア関連
参考
- https://blog.tokumaru.org/2015/12/wordpress-security.html
- https://www.slideshare.net/ockeghem/wordcamptokyo2015
■WordPressのアップデートについて
アップデートの方法
- WordPressのコア、テーマ、プラグイン、翻訳のアップデートは管理画面よりクリック操作だけで可能です。
- さらに自動アップデート設定もあります。
- 自動アップデートの設定方法
- テーマやプラグインの個別設定
- Easy Updates Managerプラグインを使った一括設定
- 自動アップデートの設定方法
- ただ、アップデートをするためにはバックアップが推奨されます。
- 特に長年アップデートしてない場合は特にバックアップが重要
- アップデートとは基本的にファイルが上書きされます。
- その際に様々な理由で失敗するケースが有る
- ファイル転送の失敗
- ファイル展開の失敗
- ファイル展開後の他の要因との相性の問題
- その際に様々な理由で失敗するケースが有る
- アップデートが上手く行かなかった場合に、自分で元に戻し、それらを修正した上でアップデートする必要があります。
- もとに戻すためにはバックアップが必須となります。
バックアップの方法
- ホスティングの機能を使う
- ホスティング会社毎にことなるので、それぞれのホスティング会社の内容を参考
- バックアップ用のプラグインを利用する
- バックアップを利用する場合には、忘れても自動的に動いてくれるような定期的な実行をしてくれるタイプのものがよいです。その際に容量には気をつけましょう。
- UpdraftPlus WordPress Backup Plugin
- BackWPup
- All-in-One WP Migration
- 自分でバックアップする
- ファイル群とDB
- ここでFTP/SFTPソフトを利用したことがあるかどうか。というのが関わってきます。
- また。phpMyAdminなどを利用し、DBを操作してファイルをダウンロードする必要もあります。
- ファイル群とDB
- プラグインを使ったとしてもファイルの保存場所は知っておきましょう
- 万一WPにログイン出来ない場合にもバックアップファイルを取り戻せるように
バックアップデータとローカルと本番環境などの関係性
- 本番をバックアップ
- ローカルに展開
- ローカルでアップデートテスト
- ローカルの内容を反映
ローカル環境構築アプリ、Localの動かし方
- https://localwp.com/
- 簡単にWPの環境を作成できる
本番環境をローカル環境に適用する方法
- 双方にAll in One Migrationをインストール
- エクスポートとインポートの実施
- 注意点
- コアのバージョンは、Localにインストールされているものに依存する
- もしコアを先に揃えたい場合は、WP Downgradeプラグインを利用する
ローカル環境でアップデート
- それぞれのアップデート
- コア
- テーマ
- プラグイン
- 確認
本番への適用
- 上記をエクスポート・インポートするか
- もしくは本番側で更新を実施するか(推奨)
万一失敗した際にもとに戻す方法
- メンテナンスと表示されて動けない場合
- 現在メンテナンス中のため、しばらくの間ご利用いただけません
- SFTPソフトなどを利用し、直接WordPressが入っているところの.maintenance ファイルを削除する
- 真っ白になった場合
- リカバリーに付いてのメールが届いているかどうかを確認
- そのためにも管理者のメアドは必ず普段使っているものにしておく
- https://www.vektor-inc.co.jp/post/wordpress-recovery-mode/
- メールが届いてない場合
- wp-content/pluginのフォルダをリネームして一時的にプラグインを全停止し、復旧できるかどうかを確認
- 復旧できた場合新たにwp-content/plugin のフォルダを作る、一つづつ移動させる(簡単ではない
- wp-config.phpを編集してdebugをtrueに変更し、エラーの出ているファイルの原因を突き止めて修正(簡単ではない
- WordPressの管理画面が表示されたら
- All in One Migrationで元に戻す
- WordPressの管理画面が表示されない場合
- バックアップのファイルから手動でファイルをアップロードしもとに戻す
- その際にパーミッションについては要注意
- wp-content/pluginのフォルダをリネームして一時的にプラグインを全停止し、復旧できるかどうかを確認
- リカバリーに付いてのメールが届いているかどうかを確認
なぜアップデートが失敗したかの原因究明
- 偶然のファイルコピーなどのミス
- プラグインやテーマなどが原因
- PHPのバージョン問題
自動アップデートの適用方法
- なかなか手動は大変ということがわかっていただけたかと思います。
- 多くの場合は大丈夫なので。自動アップデート設定を実施しておくのはオススメの一つ
- もしくは.comを利用してこれらを任せられるようにする