こんにちは。アイテム株式会社 IT部です。
システムの保守という仕事は、普段なかなか成果が見えにくいものです。
何も問題が起きず、いつもどおりシステムが動いている。
それは、お客様にとって当たり前のことであり、私たちにとっても、そうあるべきだと思っています。
ただ、何も起きていないからといって、何もしなくてよいわけではありません。
今回は、先日発表されたPHPの脆弱性への対応を通じて、改めて感じた「保守の大切さ」について書いてみたいと思います。
システムは、作って終わりではない
当社では、自社で構築・開発したシステムを中心に、その後の運用や保守にも携わっています。
システムを作ることと、作ったシステムを長く使い続けられるようにすることは、別の仕事です。
ただ、私たちはその二つを切り離して考えるべきではないと思っています。
システムは、一度完成すれば、そのままずっと使い続けられるものではありません。
OSやプログラミング言語、さまざまなソフトウェアは日々更新されています。
新しい機能が追加されることもあれば、不具合が修正されることもあります。
そして、ときにはセキュリティ上の問題が発見されることもあります。
自分たちで構築したシステムだからこそ、その仕組みや構成を理解しています。
そして、その状態を把握しながら、必要な更新を続けていく。
そうしたことも、システムを開発した会社として大切な仕事だと思っています。
何も起きていないときの保守
保守というと、何か問題が起きたときに対応する仕事という印象があるかもしれません。
もちろん、障害や不具合への対応も保守の大切な仕事です。
でも、それだけではありません。
古い環境を更新すること。
バックアップを確認すること。
セキュリティ情報を確認すること。
将来の更新に備えて、システムの状態を把握しておくこと。
こうした作業も、保守の一部です。
もちろん、新しいバージョンに更新すれば、必ずよくなるというわけではありません。
これまで動いていたものが、新しい環境では動かなくなることもあります。
そのため、既存システムへの影響を確認し、必要に応じて検証しながら更新を進める必要があります。
何も問題が起きていないときに、こうした作業を進めることは簡単ではありません。
時間もかかりますし、場合によっては費用も発生します。
それでも、古い環境をそのままにしておくことが、将来的に大きな負担になることもあります。
以前から進めていたシステムの更新
当社が保守を担当しているシステムの中には、以前、CentOS 7というOSを使用していたものがありました。
CentOS 7は2024年6月にサポートが終了しており、そのまま使い続けることにはリスクがありました。
そこで、以前の保守作業の中で、OSをAlmaLinuxへ移行しました。
あわせて、PHPについても8.4への更新を実施しました。
OSやPHPの更新は、単純に新しいものをインストールすれば終わりというわけではありません。
既存のプログラムが動くか。
利用しているライブラリに問題がないか。
これまでの機能に影響が出ないか。
そうしたことを確認しながら、環境を更新していく必要があります。
更新したからといって、お客様が利用するシステムに新しい機能が増えるわけではありません。
画面の見た目が変わるわけでもありません。
それでも、将来のリスクを減らすためには必要な作業だと考え、対応を進めていました。
突然発表されたPHPの脆弱性
2026年10月、PHPに関する緊急性の高い脆弱性情報が公開されました。
PHPは多くのWebシステムで利用されているため、影響を受ける可能性のあるシステムも少なくありません。
当社でも情報を確認した後、すぐに保守対象のシステムについて調査を始めました。
対象には、AWSやGoogle Cloud(GCP)など、異なるクラウド環境で稼働しているシステムも含まれていました。
それぞれの環境で利用しているPHPのバージョンや構成を確認し、必要な対応を整理しました。
今回の対応では、PHPを独自にビルドするのではなく、各環境で利用できる修正版パッケージなどを適用する方針としました。
ただ、修正版が公開されたからといって、すぐに更新できるとは限りません。
修正版が公開されても、すぐに更新できるとは限らない
Linux環境では、一般的にパッケージ管理システムを利用してソフトウェアを更新します。
当社のAlmaLinux環境では、PHPのパッケージにRemiリポジトリを利用しています。
修正版が公開されても、そのパッケージがすぐにすべてのサーバーから取得できるとは限りません。
リポジトリのメタデータ更新やミラーサイトへの同期、DNSによる接続先の振り分けなど、いくつかの要因によって反映に時間差が生じることがあります。
今回も、修正版の提供状況を確認しながら、実際に取得できるようになるまで待つ必要がありました。
更新できるはずなのに、まだ新しいバージョンが取得できない。
そんな状況を確認しながら、利用可能になるのを待っていました。
実際には、この待ち時間が対応時間の大半を占めていました。
そして、修正版が利用できるようになった後、速やかに更新作業を進めました。
お客様が寝ている間に
今回のPHP脆弱性への対応は、夜間の作業となりました。
修正版の提供状況を確認しながら準備を進め、更新可能になったところで対象環境のアップデートを実施しました。
結果として、脆弱性情報の発表から約3時間で、当社が保守を担当する対象環境すべての更新を完了することができました。
ただ、今回伝えたいのは、その3時間という数字ではありません。
お客様が寝ている間に必要な対応を終え、翌朝もいつもどおりシステムを使っていただけること。
もちろん、すべての更新を夜間に完了できるわけではありません。
作業内容によっては、事前の検証やお客様との日程調整が必要になることもあります。
それでも、できる限りお客様の業務に影響を与えず、安心して使い続けていただける状態を維持すること。
それも、私たちが考える保守の大切な役割です。
事前に環境を整えていたからこそ
今回、短時間で対応できた理由の一つは、以前からシステムの環境を整えていたことだと思っています。
もし、CentOS 7や古いPHPをそのまま使い続けていたら、どうなっていたでしょうか。
修正版を適用したくても、OSやライブラリの制約によって、簡単には更新できなかったかもしれません。
場合によっては、OSの移行やプログラムの改修から始めなければならなかった可能性もあります。
緊急性の高い脆弱性が発表されてから、それらをすべて対応するのは簡単ではありません。
しかし、今回は事前に環境を更新していたことで、大規模な移行を伴わずに対応を進めることができました。
また、自社で構築・開発したシステムを継続して保守しているため、それぞれの環境の構成を把握できていたことも大きかったと思います。
短時間で対応できたことよりも、短時間で対応できる状態を事前に作っていたこと。
今回、私自身が一番大切だと感じたのは、そこでした。
保守の成果は、何も起きていないときには見えにくい
保守という仕事は、少し不思議なものだと思います。
何も問題が起きなければ、その必要性を感じる機会はあまりありません。
毎日システムが動いていることが当たり前になり、保守で何をしているのか、分かりにくいこともあると思います。
でも、何も起きていないことと、何もしなくてよいことは違います。
今回、以前に実施したOSやPHPの更新が、緊急時の対応に役立ちました。
もし、あのとき更新していなかったら、今回の対応にはもっと時間がかかっていたかもしれません。
もちろん、実際に起きなかったことを正確に比較することはできません。
それでも、日頃の保守が将来の選択肢を増やしてくれることは、今回の経験から感じています。
目立つ成果がなくても、少しずつ環境を整えていく。
その積み重ねが、いざというときに大きな違いになるのだと思います。
問題が起きてからでは、できないこともある
もちろん、どれだけ保守をしていても、すべての障害や脆弱性を防げるわけではありません。
新しい問題は、これからも発見されると思います。
クラウドサービスであっても、障害が発生することはあります。
そして、修正版の提供状況によっては、すぐに更新できない場合もあります。
だからこそ、問題を完全になくすことだけを考えるのではなく、問題が起きたときにどう対応できるかも大切になります。
古い環境を放置しないこと。
必要な更新を続けること。
バックアップや復旧の方法を考えておくこと。
システムの構成を把握しておくこと。
そして、何かが起きたときに、できるだけ早く対応できる状態を維持すること。
そうしたことも含めて、保守なのだと思っています。
保守は将来のリスクを減らすためのもの
今回のPHP脆弱性への対応は、当社にとっても、日頃の保守の大切さを改めて実感する機会となりました。
以前に実施したOSやPHPの更新は、その時点では目立つ成果があったわけではありません。
でも、今回の緊急対応では、その積み重ねが役に立ちました。
当社では、自分たちで構築・開発したシステムを、作って終わりにするのではなく、その後も安心して使い続けていただけるようにすることを大切にしています。
保守とは、問題が起きてから対応するためだけのものではありません。
将来起こり得るリスクを減らし、万が一のときにも迅速に対応できる状態を維持するためのもの。
もちろん、すべてのリスクをなくすことはできません。
それでも、日頃から少しずつ備えておくことで、減らせるリスクはあります。
システムは、作って終わりではありません。
使い続けていただくために、そして安心して利用していただくために、これからも日々の保守を大切にしていきたいと思っています。