WordPress セキュリティパッチのみ自動適用するには

 WordPressのセキュリティパッチに関して検討および対処してきましたが、多数のプラグインの利用とWordPressのパッチリリースのスタンスや情報公開の仕方を考慮してパッチリリース状況の監視と適用の手順を見直しました。
 セキュリティパッチのみを適用するということが、WordPressの場合は「セキュリティ修正が含まれているのにメンテナンスパッチ」となっていたり、「プラグインのセキュリティ問題の対処をセキュリティ修正としない」などの状況からあまり妥当でないとなっていると判断しました。

つまり、ポイントは次の2点です。
・WordPressがいうところのメンテナンスリリースとセキュリティリリースとを区別して別の取り扱いをする意味はあまりない。メンテナンスリリースとされていてもセキュリティの対処が含まれている場合がある。
・ メンテナンスリリースとセキュリティリリースのどちらも適用しないと問題があるかどうかを確認できない場合がある。

以上の状況から、つぎのようにします。「テスト用サイトを立ち上げておいて、テスト用のサイトについてはパッチを自動適用する設定にしておく、パッチ適用のメールが来たら動作確認を行い、本番環境に適用するかどうかを吟味し適用手順を隠す津したうえで適用作業を行う。」

具体的なサイト移行作業を始めます


2019年9月18日時点で本サイトはBizMWのサービスを利用していますが、2019年12月27日でBizMWのサービスが終了するため、本サイトを他のホスティングサービスへの移行作業を行います。移行先については事前調査済みですが、再度、最新の状況を調査して移行作業を行います。
 移行先に関しておすすめなどの情報があればコメントをください。

次の観点で試行確認を行い、移行を進めていきす。

・基本機能確認
– メール、設定
– Web 設定

・WordPressコンテンツの移行
・DBデータ移行

移行先の検討その後


以前に、書いた移行先の検討ですが、 ”代替サービスの案内を郵送” はまだですがメールとWebでの案内がありました。その情報を先に公開した移行先の情報に反映しました。この結果から移行先の検討絞り込みをし、移行に向けて試行検討を開始します。


1)代替サービスについての資料の受領。 2019/8/下旬→ 9/10メール受領、郵送分は9/17時点で未受領。

2) 移行スケジュールの確定。 2019/8/25→暫定で以前のスケジュールで作業中。
3) これ以降のスケジュールは、代替サービスの案内書類の受領時期により見直しする。
3-1) 書類レベル調査完了 2019/8/30→ほぼ済だが郵送待ち(9/17時点)
   ここまでに代替サービス案内を入手済みと仮定。未入手ならスケジュール見直し
3-2) 移行先候補 最大3つまでに絞り込み 8/31
3-3) 実地調査 9/1-9/15 実サイトを仮運用して調査
3-4) 移行先確定 9/16
3-5) 申し込み環境構築 9/17-9/20
3-6) バックアップ・復旧、定期実行パッチ等の運用操作の動作検証 9/20-9/30
3-7) 現行サイトからのサイトデータの仮移行 10/1-3
3-8)移行後の環境の動作検証 10/3-10
3-9) 移行後環境の操作手順等手順書類更新作成 10/11-10/15
3-10) ドメイン切り替え依頼 10/16
3-11) 現行サイトからのサイトデータの移行(仮本番) 10/17-20
3-12) プロバイダによるドメイン切替作業&反映 10/16-10/30
3-13) 新クラウドサーバでのドメイン運用開始 11/1
3-14) 新クラウドサーバでのmic.or.jpドメイン運用検証 11/1-15
3-15) 現行サイトからのサイトデータの移行(本番) 11/1-2
3-16) 検証期間予備 11/16-11/30
3-17) ドメイン移行期間予備 12/1-12/27
  

スケジュールの項番3以降は、前回公開したスケジュールと同じです。

なお、移行先等は移行先検討のページに記載しています。

WordPress 5.2.3 セキュリティパッチの適用

2019年9月5日にリリースされたセキュリティ&メンテナンスパッチWordPress5.2.3について書きます。 wp-config-sample.phpが更新されていましたが、動作に影響がある変更はなく実質的には気にする必要はありませんでした。5.2.1のように白画面になることもありませんでした。
 しかし、” Page Visit Counter ”がエラー(具体的に何のエラーなのか情報がない)で止まっていました。この停止問題はプラグインを設定ページで有効化することで解決しています。

WordPress 5.2.3 で対処された脆弱性について確認します。 WordPressのサイトの情報では1件ごとに明確にされるべき影響度とか影響範囲の情報がなく、問題検出者への感謝?の公開の場でしかありません。何とかしてほしいが、他のサイトで確認してみましょう。 9/12時点でJVNのほうにはまだ登録されていないように見えます。NVDの情報では、つぎの7件がWordPress5.2.3で対処されたことが分かります。

CVE-2019-16223WordPress before 5.2.3 allows XSS in post previews by authenticated users.
CVE-2019-16222WordPress before 5.2.3 has an issue with URL sanitization in wp_kses_bad_protocol_once in wp-includes/kses.php that can lead to cross-site scripting (XSS) attacks.
CVE-2019-16221WordPress before 5.2.3 allows reflected XSS in the dashboard.
CVE-2019-16220In WordPress before 5.2.3, validation and sanitization of a URL in wp_validate_redirect in wp-includes/pluggable.php could lead to an open redirect.
CVE-2019-16219WordPress before 5.2.3 allows XSS in shortcode previews.
CVE-2019-16218WordPress before 5.2.3 allows XSS in stored comments.
CVE-2019-16217WordPress before 5.2.3 allows XSS in media uploads because wp_ajax_upload_attachment is mishandled.

9/11にDBに登録されたばかりで影響範囲など詳しい情報はまだありませんでした。

想像ですが、9/12時点で過去バージョンに対してセキュリティ修正のみ(WordPress5.1.2?)を提供しようと準備しているように見えます。5.2.3のリリースには「In addition to the above changes, we are also updating jQuery on older versions of WordPress. This change was added in 5.2.1 and is now being brought to older versions. 」の記述があります。しかし明示的には5.1.2について特にアナウンスしているようには見えないので、本当にリリースされるかはわかりません。どうしても欲しければチームに入って推進すればよいかもしれません。

移行先の検討について 


以前に、利用しているホスティングサービスのサービス終了に伴い移行先の検討すると書きました。一通り情報収集もおわりそれぞれのサービス内容の把握もほぼできました。後は動作検証によって移行先を最終的に選定を行うだけですが、窓口に問い合わせた結果、”代替サービスの案内を郵送”の時期は8月下旬という回答がありました。この時期を反映して、つぎのようにスケジュールを見直しします。

最終的な判断は資料が届いてからにするとして、本格的に情報収集を始めます。
 また、これまでに仮決めしていた移行スケジュールは2019年10月に移行先決定でしたが、現行サービス終了から逆算してスケジュールを決めなおすことにします。※ 現在の運用状況だと、1か月並行運用、1か月切り替え期間、1か月予備期間くらいをとらないと余裕を持った作業ができなさそうです。

1)代替サービスについての資料の受領。 2019/8/下旬

2) 移行スケジュールの確定。 2019/8/25
3) これ以降のスケジュールは、代替サービスの案内書類の受領時期により見直しする。
3-1) 書類レベル調査完了 2019/8/30
   ここまでに代替サービス案内を入手済みと仮定。未入手ならスケジュール見直し
3-2) 移行先候補 最大3つまでに絞り込み 8/31
3-3) 実地調査 9/1-9/15 実サイトを仮運用して調査
3-4) 移行先確定 9/16
3-5) 申し込み環境構築 9/17-9/20
3-6) バックアップ・復旧、定期実行パッチ等の運用操作の動作検証 9/20-9/30
3-7) 現行サイトからのサイトデータの仮移行 10/1-3
3-8)移行後の環境の動作検証 10/3-10
3-9) 移行後環境の操作手順等手順書類更新作成 10/11-10/15
3-10) ドメイン切り替え依頼 10/16
3-11) 現行サイトからのサイトデータの移行(仮本番) 10/17-20
3-12) プロバイダによるドメイン切替作業&反映 10/16-10/30
3-13) 新クラウドサーバでのドメイン運用開始 11/1
3-14) 新クラウドサーバでのmic.or.jpドメイン運用検証 11/1-15
3-15) 現行サイトからのサイトデータの移行(本番) 11/1-2
3-16) 検証期間予備 11/16-11/30
3-17) ドメイン移行期間予備 12/1-12/27
  

スケジュールの項番3以降は、前回公開したスケジュールと同じです。

なお、移行先等は移行先検討のページに記載しています。

いろいろ設定変更前の事前確認と設定変更で発生した問題調査について

今回、WiFi周りの設定変更をした際に事前に影響範囲を想定してWiFiの設定変更と同時に必要な対処したはずでした。しかし、あとから太陽光発電のデータがアップロードされていないことに気がついて事後対処しました。そこで、この問題の対策と、今後の検討事項について書きます。

まず、本件の発生に至るまでの経緯です。7年ほど前に太陽光発電システムを導入しWiFi接続の設定をしました。このとき、太陽光発電システム側のボックスのふたを開け箱の中にあるLAN端子にPCとクロスケーブルを使って接続し、ログインパスワードやWiFi接続設定をした覚えがあります。通常の環境ならそのようなことをする必要などないはずですが、ルーティングの構成か固定IPか何かの理由でそのような対処をした覚えがあります。

 上の状況で1年ほど使用した後、屋内ネットワークの強化のため古い無線LANはそのままで、新しい無線LANを導入しました。そして、その後購入したスマホ、タブレット、IoT機器類は新しいルータのほうに接続して使っていました。そのような状況で各端末の設定はすべて新しい無線LANを使用していると認識していました。

 そして、3年ほど前に20mほど離れた場所にWiFi端末を配置にすることにしました。その際にWiFi接続できるようにするために古い無線LANを20mほど離れた場所に移設しました。この状態でも太陽光発電システムのデータアップロードは正常に行えていました。このため、この時点で太陽光発電システムは新しいLAN経由でアップロードしているもの誤認していました。その後、20mほど離れた場所の端末の更新や設定変更など行いましたが問題なく使えておりました。

今回、20mほど離れた場所の無線LANの設定を変更しました。このときWiFi端末今回、20mほど離れた場所の無線LANの設定を変更しました。このとき20mほど離れた場所のWiFi端末の設定も変更したので、これについては問題ありませんでした。しかし、この無線LANの設定変更後、太陽光発電システムのデータがアップロードされない状態になっていました。

この問題に関して原因と対策について考えます。まず、原因のほうからです。直接的には太陽光発電システムのアップロードが該当の無線LAN経由となっていると認識していなかったことです。それに関して、どこを経由して通信しているのかを設計、記録しておくことで解決できそうですが、実際には設置時に記録していていました。配置を更新した際には更新を行うべきですが、今回は更新していないので更新した記録がありません。さらに、配置を変更したが、記録を更新していなかったものと誤解もしています。また、有線LAN・無線LANのどちらも構成変更が容易に行えます。その変更が容易なところは便利でもあり、記録があいまいになる原因でもあります。このため、記録にだけ頼るのは無理がありそうです。それから、事前の調査については、記憶と不十分な状況証拠に頼って判断したことが、原因と考えるのが妥当でしょう。

つぎに対策です。問題の検知については、本件においては対策済みなので問題ないと判断します。そこで、事前検出と、事後対処に分析します。先に事後対処の進め方です。いくつかやり方があります。1つは、正攻法で、発信源(起点)から順番に正常に動作しているかどうか順番に追っかける方法です。また、問題点を想定して順に情報採取していく方法があります。今回は、問題発生のきっかけが分かっているので問題ポイントがあらかじめ絞られているので、別のアプローチが良いでしょう。原因と想定される変更箇所をピックアップして順に元に戻す方法です。今回はこの方法を採用しました。本来使用していると想定していた無線LANの設定は変更していなかったので最初は謎でしたが、想定される範囲を順に広げていき比較的早く問題個所を特定できたと思います。この点も問題ないでしょう。

さて、最後に事前検出についてですが、これはいろいろ検討するべきネタがありそうです。現状は対処方法を用意できていません。何か良い方法を準備したほうがよさそうです。※ これは、今後の検討課題として検討していくことにします。

WordPress脆弱性の再現方法 再現検討

脆弱性 CVE-2019-8943対処済みなのかどうか情報がふにゃふにゃしているので再現検証してみようかと少し調べてみました。 
NVDによる再現方法などの情報があるブログにあるということで、それを参照してみました。

このサイトの再現確認状況の情報は影響バージョンは4.9.9と5.0.1でが未対処の情報しかなく最近の情報がないようにみえます。以下翻訳文面です「 影響範囲: この記事で説明されている脆弱性は、バージョン4.9.9と5.0.1のセキュリティパッチによって悪用されないようにされました。ただし、Path Traversalはまだ可能で、現在パッチは適用されていません。不適切なPost Metaエントリを処理するプラグインがインストールされているWordPressサイトは、悪用を依然として可能にします。私たちは、WordPressのセキュリティ月の準備中に、過去何百万ものアクティブなインストールを含むプラグインがこの間違いをしているのを見ました。 WordPressのダウンロードページによると、このソフトウェアはインターネット上の全Webサイトの33%を超える割合で使用されています。プラグインが問題を再導入し、古いサイトなどの要素を取り込む可能性があることを考慮すると、影響を受けるインストールの数は依然として数百万にのぼります。 テクニカル分析 パストラバーサルとローカルファイルインクルージョンの両方の脆弱性は、ボタンをクリックするだけでスキャン時間3分以内に当社の主要なSASTソリューションRIPSによって自動的に検出されました。しかし、一見したところバグは悪用できないようでした。脆弱性の悪用ははるかに複雑ですが可能であることが判明しました。 」


 煮え切らない情報の原因は、つぎの複合で発生しているように思われます。

・検出者が、具体的にどのバージョンで対処されているかのをレポートしていない。→”2019/2/14:WordPressがパッチ提供し、そのパッチで対処済みであることを確認した”ししかなく、対処されたWordPressの特定バージョンでの検証悔過を公開していない。
・検出者は単純な?再現方法を公開していない。→誰でも検証できる状態になっていない?
・WordPressが2019/2/14よりあとにリリースしたセキュリティパッチは5.1.1しかないが、パストラバーサルの対処をしたと明言していない。→脆弱性はWordPress自体ではなくプラグイン側のAPI使用方法にあると考えているのが原因かもしれません。
・WordPress単独では脆弱性を悪用されることはなく、ある機能を不適切に使用したプラグイン(該当するプラグインは複数(多数?)ある)を組み込んでいる場合に脆弱性を悪用される。

このように脆弱性の作り込み原因の責任がどこにあるのか不明確な状態であるためこのような状態になっているといえます。WordPress側で対処したのだから明確に情報公開をするべきでしょう。

WordPress 5.2.2の後に特に情報なし?

WordPress 5.2.2はセキュリティ修正のようなリリースのされ方でしたが、7/4時時点でWordPressのサイトでは5.2.2はメンテナンスリリースとしかかかれていません。ほかのOSSの情報公開のタイミングを参考にして後から公開されるものとして書いていました。ここでは、過去のWordPressセキュリティ公開タイミングを再確認して、5.2.1、5.2.2がどうなのかを推測してみます。

 直近のセキュリティ修正5.1.1と5.0.1についてみます

 WordPress5.1.1
WordPressサイトでの5.1.1リリース日 2019/3/12
WordPressサイトでの5.1.1セキュリティ情報公開日 2019/3/12
JVNへの5.1.1(CVE-2019-9787)の情報登録日 2019/4/10 約1か月後

 WordPress5.0.1
WordPressサイトでの5.0.1リリース日 2018/12/13
WordPressサイトでの5.0.1セキュリティ情報公開日 2018/12/13
JVNへの5.0.1(CVE-2019-8942)の情報登録日 2019/4/1 約3か月後

その他(CVE-2019-89435.0.3まで?))
・→ まだパッチが公開されていないとされている(2019/7/4時点)

パッチ公開とほぼ同時に脆弱性情報が公開されるパターンもあれば、パッチがない脆弱性情報が公開されるパターンもあります。 CVE-2019-8942 についてはWordPressサイトの セキュリティ情報公開日 しているものがWordPress5.0.1のリリース日でしかなく、JVNへの登録日の直前に情報公開されたのなら、パッチリリルースの3か月後に脆弱性情報が公開されたことになる。このようにいろいろなパターンがあるので、5.2.1も5.2.2もいずれも今後セキュリティ情報が公開される可能性がまだ残っているということになりそうです。  もしもそうなら、CVE-2019-8943 は5.2.1で修正されていたということなると推測します。


本サイトが利用しているクラウドサービスのサービス停止に伴うサイトサービスのスケジュールについて

2019/7/2時点で次のように移行スケジュールを仮置きします。

1)移行先サービスの調査。 2019/6/26~7/30

2) 移行スケジュールの確定。 2019/8/5
3) これ以降のスケジュールは、代替サービスの案内書類の受領時期により見直しする。
3-1) 書類レベル調査完了 2019/8/30
   ここまでに代替サービス案内を入手済みと仮定。未入手ならスケジュール見直し
3-2) 移行先候補 最大3つまでに絞り込み 8/31
3-3) 実地調査 9/1-9/15 実サイトを仮運用して調査
3-4) 移行先確定 9/16
3-5) 申し込み環境構築 9/17-9/20
3-6) バックアップ・復旧、定期実行パッチ等の運用操作の動作検証 9/20-9/30
3-7) 現行サイトからのサイトデータの仮移行 10/1-3
3-8)移行後の環境の動作検証 10/3-10
3-9) 移行後環境の操作手順等手順書類更新作成 10/11-10/15
3-10) ドメイン切り替え依頼 10/16
3-11) 現行サイトからのサイトデータの移行(仮本番) 10/17-20
3-12) プロバイダによるドメイン切替作業&反映 10/16-10/30
3-13) 新クラウドサーバでのドメイン運用開始 11/1
3-14) 新クラウドサーバでのmic.or.jpドメイン運用検証 11/1-15
3-15) 現行サイトからのサイトデータの移行(本番) 11/1-2
3-16) 検証期間予備 11/16-11/30
3-17) ドメイン移行期間予備 12/1-12/27
  

なお、移行先等は移行先検討のページに記載しています。

サーバー移行先検討のページを更新しました。

 
移行先検討の件です。現在、各サービスについて調査しており、ここまでの結果を移行先の検討のページに反映・更新しました。代替サービスの案内の資料はまだ届いていないので、代替サービスの部分は空欄です。最終的な判断は資料が届いてからにします。ほかによいサービスがあるなどコメントなどあれば情報をくださいお願いします。
 また、移行スケジュールは来週決める予定です。