マイナー?メジャー?安全で効率的なアップデート計画をたてるには

相原知栄子

こんにちは、KUSANAGI 開発チーム、プロダクトマネジャーの相原です。

WordPress/CMSサイトの継続的なセキュリティ対策として、迅速なセキュリティアップデートの適用が重要である、ということに反対される方はおそらくいらっしゃらないのではないかと思います。

ですが、実際のアップデートとなるとためらってしまうのは、過去にエラーでサイトが見えなくなった、表示崩れしてしまった、という苦い経験だったり、恐れだったり、というのがあるのではないかと思います。私もお客様のサイトをお預かりしていた経験(会社としては現在進行系)がありますから、その気持ちは本当によくわかります。

セキュリティ対策に100%が無いように、ウェブサイトのエラーも完全に0%にすることは難しいので、結局はリスクのバランスをとる、という考え方になります。アップデート/バージョンアップには色々な性質のものがあります。その性質を知って適切な計画を定めることで、リスクを下げて安全性を高めることが可能です。今回はそのガイドになるお話をしたいと思います。

WordPressのメジャー/マイナーアップデート

WordPressには、年間約4回程度の「メジャーアップデート」と不定期に実施される「マイナーアップデート」の2種類があります。間違いやすいのですが、WordPressのバージョンは最初の二桁がメジャー、最後の一桁がマイナーの番号です。

メジャーアップデートは更新前にテストを

「メジャーアップデート」では機能追加、新しいデフォルトテーマの追加など、大きな変化があります。関数が非推奨になるのもほとんどこのタイミングです。サイトによっては影響が大きいため、あらかじめアナウンスされる情報を確認したりやベータ版などでテストを事前に行うのも有効です。プラグインやテーマが追従していないこともあるので、次のマイナーバージョンが出るまで待つなどの時間差を取り入れるのも一つの方法です。

マイナーアップデートは自動更新を活用する

「マイナーアップデート」は脆弱性やバグに対する修正が主な内容です。直近でアップデートを実施できている環境でしたらエラーとなるリスクは低いので、セキュリティリスクへの迅速な対応のため自動更新にしておくことがおすすめです。逆をいうと、自動更新ができるようなサイトの状態にしておくことが望ましいともいえます。

とはいえ、知らないうちにアップデートされてトラブルがおきるのは困る、という方は、自動更新を行う時間をコントロールしてみてはいかがでしょうか。KUSANAGIにも自動更新の時間や曜日をコントロールできる機能があります。

自動更新が動作しないときは?: WordPressサイトの重要な安全機能「自動更新」は有効ですか

WordPressのセキュリティ対策にはマイナーアップデートを実施することが大切

WordPressのマイナーアップデートは過去のバージョンに対しても実施されます。メジャーのバージョンが大きく離れてしまうことは避けたほうがよいですが、毎回メジャーアップデートに追随しなくても、マイナーアップデートにしっかり対応していれば、セキュリティのリスクを軽減することができます。

WordPressのプラグインやテーマのアップデート

プラグインやテーマにはマイナーやメジャーといった考え方がありません。機能の追加変更がサイトに影響を与えることも考えられます。そのため、アップデートの計画はWordPressのコア(本体)より少し難しくなります。

プラグインやテーマも自動更新を中心に考える

自動更新でエラーになった場合のロールバック機能も追加され、以前よりリスクが少なく自動更新を行うことができます。また、管理画面でプラグインごとに自動更新をするかしないかを選べるので、影響度や重要度を考慮して自動更新と手動更新を使い分けてもよいかもしれません。

自動更新が難しい場合、脆弱性の情報を収集して対応ができればベストですが、日付や曜日を決めて一気にアップデート作業をおこなうのも一つの方法でしょう。

PHPのアップデート

PHPの場合は、メジャー、マイナー、ポイントの3種類を考える必要があります。



PHPのマニュアルに通常 PHP では、新機能の追加はメジャーリリースやマイナーリリースでしか行いません1  ”と記載があるように、メジャーとマイナーのバージョンアップはアプリケーションに影響が大きいため、事前に十分なテストが必要です。特にPHPのメジャーバージョンアップ対応には、苦労された方も多いのではないでしょうか。

PHPのバージョンアップに困ったら? : WordPressのPHPをバージョンアップするには?更新する方法と注意点を解説

日常の運用ではポイントのアップデートを迅速に適用することが大切

PHPのポイントのアップデートは、アプリケーションへの影響が低いうえ、脆弱性への対応ができるため、できるだけ迅速に実施するのが望ましいといえます。

下の画像は2024年6月に公開されたのPHPの脆弱性を狙った攻撃の増加を表したグラフです。IPAからも警告が出される程の状況でした。迅速にアップデートを実施することの重要度がわかっていただけると思います。

引用: 【注意喚起】PHPの脆弱性を狙った攻撃が6月7日以降で約10倍に急増! ダークウェブへの不用意なアクセスにもご注意を

Webサーバ(nginx) のアップデート

nginxはバージョンの考え方が少し変わっています。安定版(Stable)と開発版(Mainline)の2種類があります。

安定版は機能追加が行われることなく、重大なバグ修正や脆弱性への対応が行われます。毎年4月頃に新しい安定版がでると、それまでの安定版は廃止され、それ以降は修正が行われなくなります。

開発版からは安定版が作成されたあと、次のバージョンで開発が継続されます。

引用:Introducing NGINX 1.18 and 1.19 

安定版か開発版か

新機能、パフォーマンスの改善、機能強化が利用できる開発版の利用が推奨されていますが、検証の手間を考えると、1年に一回で済む安定版を利用するのもよい方法でしょう。

nginxに関しては安定版か開発版のどちらかを選び、その中で最新版を使い続けるのがベストでしょう。

KUSANAGIでは安定版/開発版のどちらも利用できます。

参考:KUSANAGIの仮想マシン構成

専門家のアドバイスや自動化も取り入れる

アップデートの計画を立てるには、専門家のアドバイスも役に立ちます。当社もセキュリティアップデートを含むマネージドサービスを提供していますので、お困りの際にはお気軽にご相談ください。

アップデートの計画に困ったら:KUSANAGI マネージドサービス

また、ここで紹介した考え方に沿ってOS・ミドルウェアの自動アップデートを安全に行う「KUSANAGI Security Edition」の提供も開始しました。運用負荷の軽減を検討されている方には、ぜひお試しいただきたいです。企業での試用などついてはお気軽にお問い合わせください。

OS・ミドルウェアのアップデートを安全に自動化するなら:KUSANAGI Security Edition

まとめ

それぞれのアプリケーションがどのような考え方でアップデートを配信しているのかを知ると、計画も定めやすいのではないでしょうか。基本的な考え方として以下を軸に、

  • 更新頻度が高く、セキュリティ対策として有効な末尾のバージョンのアップデートは自動、またはそれに準ずるスピード感で実施する
  • 機能の変更等を含むアップデートは事前に計画を立てて十分な検証を行う

Webサイトの性質やポリシーを考慮して適切なアップデート計画をたてて、効率的なセキュリティ運用を行ってください。

  1. https://www.php.net/manual/ja/about.phpversions.php ↩︎

関連記事

Webサイト運用の課題解決事例100選 プレゼント

Webサイト運用の課題を弊社プロダクトで解決したお客様にインタビュー取材を行い、100の事例を108ページに及ぶ事例集としてまとめました。

・100事例のWebサイト運用の課題と解決手法、解決後の直接、間接的効果がわかる

・情報通信、 IT、金融、メディア、官公庁、学校などの業種ごとに事例を確認できる

・特集では1社の事例を3ページに渡り背景からシステム構成まで詳解