カテゴリー別アーカイブ: WordPress

WordPress4.9.1がリリース

早速セキュリティとメンテナンスのリリースです。

WordPress 4.9.1 Security and Maintenance Release

[WordPress.org]

今回の修正は珍しく「即時のアップデートを強く勧める」という前置きが書いてあり、ちょっと深刻そうな雰囲気を感じます。

WordPress3.7~4.9まではマルチベクトル攻撃に対する脆弱性が存在し、今回の4.9.1でその脆弱性を修正しているそうです。

マルチベクトル攻撃という単語が良くわからなかったので調べてみたところ、”アプリケーション層などの複数の層に対しても攻撃を行うDDoS攻撃”のことのようです。

よく知られているsynフラッド攻撃はTCPの仕様を利用した攻撃なのでトランスポート層に対する攻撃になりますが、それとは別に今回のWordPressで発見されたようなアプリケーション層の脆弱性を突くような攻撃を複合的に行い、簡単な対策では対抗できないような攻撃を行うケースが増えているんだそうです。

今回はアップデート勧告文付きなので、いつも以上の速やかなアップデートが吉だと思います。

WordPress4.9がリリース

バージョン4.9がリリースになりました。今回はメンテナンスリリースではないので様々な変更点があります。

WordPress 4.9 “ティプトン”

[wordpress.org 日本語版]

大まかに分けてサイトデザインの変更とコーディング周りの変更があります。いくつか気になった変更点をピックアップしてみます。

サイトデザインの予約変更

エントリの投稿は未来の日付を設定することで予約投稿ができますが、同じ要領でサイトのデザイン変更やカスタマイズも予約で変更できるようになったそうです。サイトリニューアルを指定日時に行いたい時に便利そうです。

変更後デザインのリンク送付

変更後デザインのプレビューをリンクで送付することができるそうです。複数人で運営するサイトの場合、デザインリニューアル案を詰める時などに使えそうな機能です。

カスタムHTMLウィジェット

これは4.8.1で追加されていた機能ですが、カスタムHTMLウィジェットを使用することで、CSSの構文誤りを発見するのが容易になるそうです。

などなど、WordPressをほぼ無改造で細々と使う私にはあまり縁のない系統の更新が多いですが、4.8台の更新分も含めて盛りだくさんのアップデートになっています。

WordPress4.8.3がリリース

今回のリリースはセキュリティリリースとのことです。

WordPress 4.8.3 Security Release

[wordpress.org]

今回の修正はWordPressのデータベースにアクセスするためのwpdbというクラスで使用できるprepareメソッドに脆弱性が発見されたためとのことです。

このメソッド自体がそもそもSQLインジェクションを予防する機能を提供しているようなのですが、安全でないクエリを生成してしまう可能性があったそうです。

WordPressのコアはこの脆弱性の影響を受けないようですが、テーマやプラグインが影響を受ける恐れがあるためいち早くの修正となったようです。

WordPress4.8.2

セキュリティ&メンテナンスのリリースとなっています。

WordPress 4.8.2 Security and Maintenance Release

[wordpress.org]

リリースノートの冒頭に記載されている $wpdb ->prepare() が何なのかピンとこなかったので少し調べてみました。$wpdb ->prepare()はWordPressのデータベース(MySQL)にアクセスするための関数で、()内にSQL文と変数を記載することでデータベースに不正なSQL文が発行されることを防ぐ仕組みになっているそうです。

せっかくの仕組みなのですが、今回はその関数に不正なSQL文を作成する脆弱性が発見されたので、その修正が行われたそうです。脆弱性そのものはWordPressのコアに影響するものではないそうなのですが、プラグインやテーマへの影響も考えられるのでいち早く修正となったようです。

当blogを常時SSL接続にしました

当blogで常時SSL接続を行うように設定を行いました。個人の日記帳でそんなことしなくても…という気はするのですが、以下の理由からSSL化することにしたものです。

ログイン情報が非SSL通信だったこと

記事を書くに当たってはログイン作業が必要になります。個人の日記帳ではありますが、ログイン情報や問い合わせフォームの情報が平文で流れるのはどうかな、とかねてから考えていました。

例えばですが、サイトを改ざんされて不正なスクリプト置き場にされたりすると当blogが加害者になってしまいますのでこれは好ましくありません。

ちなみにSSL化の計画はちょっと前から考えていて、2013年に共有SSLを導入しようとしました。しかしこの時は自分で自分をロックアウトするという失態をやらかしました。

 

そのうちアドレスバーに”安全ではない接続”等の表記がされないか心配なこと

近年インターネットにおけるSSL通信の割合は増加傾向で、ブラウザベンダも将来的にはHTTP接続すべてについて警告を出すことを検討しているようです。

Googleの場合はこんな風に計画を表明しています。

Moving towards a more secure web

[Google Security Blog]

せっかく見に来ていただいた方にはコンテンツを楽しんで帰っていただきたいと思っているので、アクセスした瞬間「なんか危ないサイトなのかな」と思われるのは好ましくないと思いました。

 

SSL証明書が意外に安価だったこと

独自ドメインに適用可能なドメイン認証のSSL証明書は、最低でも年額数万円くらいのコストがかかるものと思っていました。ところが、お世話になっているさくらインターネット様が取り扱っている証明書ラインナップの中に”ラピッドSSL”という安価なものがあり、これなら導入可能と判断しました。

月額100円くらいの維持費で導入できるので、自分のドメインの証明とSSL通信用であればこれで十分と判断しました。

 

さくらインターネット様がWordPressをSSL化するプラグインを用意してくれたこと

WordPressのSSL化に当たっては、htaccessの編集や既存の絶対パスの書き換えなど面倒な作業が発生するのですが、これをワンタッチで済ますことができるプラグインをさくらインターネット様が用意していました。これでハードルがかなり下がった感じがしました。

というわけで無事に導入できて一安心というところです。

 

WordPress4.8.1がリリース

メンテナンスリリースです。

WordPress 4.8.1 Maintenance Release

[wordpress.org]

テキストウィジェットに多数修正が加えられているとのことです。

テキストウィジェットはどんな機能のものだったかな…と思って改めて調べてみたところ、任意のテキストを表示するというシンプルなものでした。HTMLタグを使わずに、エントリ本文のような感じでUIの操作で書式を設定したり、文中にリンクを張ったりすることもできます。

このテキストウィジェットの強化は4.8の目玉の一つでもあったのですが、改めて管理者画面でテキストウィジェットを追加しようとすると、「Custom HTMLというウィジェットもあるのでそっちを使いませんか?」というメッセージが出ます。

せっかく強化されたばかりのテキストウィジェットでしたが、さっそくたくさんの修正が入った上に別のウィジェットに誘導されるというのはちょっと妙に思います。

 

WordPress4.8が登場

4.8が登場しました。

WordPress 4.8 “エバンス”

[wordpress.org日本語版]

当blogでは使っていませんが、画像ウィジェットや音楽ウィジェットが強化され、使いやすくなっているそうです。

小さいことながらエントリを書いている側として便利だと思ったのは”リンク境界”の実装です。

動画を見て頂くと分かりやすいのですが、従来のエディタではリンク済みの文字列の前後に新しく文字を挿入しようとした際に、挿入する文字列にはリンクをしたくないのに意図せず文字にもリンクが設定されてしまったり、逆にリンクを張りたい文字列にリンクが設定されない、という問題がよく起きていました。リンク文字列とそうでない文字列の境界が操作しにくかったのです。

今回のリンク境界の実装で、リンクが設定されていない文字列とリンクが設定されている文字列の間を矢印キーで行き来する際に、1回分余計に矢印操作が必要になりました。リンクが設定されている文字列がカプセルのようになっており、カプセルに入るのに1回余計に矢印キー操作が必要と考えると多少分かりやすいかもしれません。

これによりユーザはカーソルがリンク文字列の外側にあるのか内側にあるのかが分かりやすくなり、編集したい文字列を認識しやすくなっています。本当に微妙な改良なのですが、これは便利だと思います。

WordPress4.7.5がリリース

セキュリティ&メンテナンスリリースとなっています。

WordPress 4.7.5 Security and Maintenance Release

[WordPress.org]

例によってXSSとCSRFの修正が入っているのですが、見慣れないのが” XML-RPC APIの値の処理が不適切な問題の修正”という項目です。

調べてみるとXML-RPC APIというのはWordPressで外部プログラムからの投稿に使われているAPIなんだそうです。私はいつもエントリをブラウザ上で書いていますが、ブログ執筆アプリやブログ用エディタというアプリケーションも時折見かけますので、そういったアプリケーションはこのAPIを利用しているのではないかと思います。

WordPress4.7.4が登場

メンテナンスリリースとなっています。

WordPress 4.7.4 メンテナンスリリース

[wordpress.org日本語版]

最新版のGoogle Chrome上でのビジュアルエディタの互換性が確保されたほか、2月頃にコンテンツ改ざん事件の原因になったREST API処理についてもアップデートが加えられているとのことです。

PHPのバージョンを7.1にアップデート

当blogのバックアップに使っているプラグイン、BackWPupからお知らせが来ていました。

なんでも、最近のバージョン3.3.6からPHP7.1との互換性を確保したほか、PHP5.2については将来のバージョンでサポートしなくなるとのことでした。

BACKWPUP VERSION 3.3.6 NOW AVAILABLE – PHP 7.1 COMPATIBLE

[bacwpup.com]

改めて調べてみると、WordPressの推奨動作環境も

  • PHP バージョン 7 以上
  • MySQL バージョン 5.6 以上 または MariaDB バージョン 10.0 以上

となっていて、PHP7が推奨になっています。ということは、プラグインさえPHP7に対応していれば、サーバのPHPバージョンを上げても問題ないのではないかと思いました。

当blogにはbackWPup以外のプラグインとして、

  • Akismet
  • Contact Form 7
  • Throws SPAM Away
  • TypeSquareWebfonts

が入っています。これらのプラグインについてPHP7での動作に問題がないかざっと調べ、試しにサーバの設定をPHP7に切り替えてみました。

今のところ特に問題もなさそうなので、このまま運用してみようと思っています。

ところでPHP7導入でblog自体の処理が速くなるという情報を結構見かけたのですが、当blogは体感レベルではそんなに変わった感じはしません。正確に計測すれば差は出ているのかもしれません。