ここ数日、「PHP2Shell」と呼ばれるPHPの脆弱性がニュースになっています。PHPは、WordPressをはじめ多くのウェブサイトやサービスの裏側で動いているプログラミング言語です。今回の脆弱性は、外部からサーバー上で勝手にプログラムを動かされるおそれがある深刻なもので、緊急のアップデートが公開されました。
身近なところでは、ふだん使っている2つのAndroidアプリが、サーバーメンテナンスのため約2日間使えなくなりました。再開後のお知らせで、今回のPHP脆弱性への対応だったことが公表されていました。企業のサイトでも、メンテナンス中の表示をいくつも見かけました。
このブログを含め、わたしが運営している5つのサイトもPHPで動いています。ただ今回は、最新のセキュリティアップデートを適用するだけで対応が終わりました。ちょうど先月、サーバーの引っ越しをした際に、PHPを最新のバージョンに上げて動作確認まで済ませていたからです。念のため、不審なファイルが置かれていないかも確認しました。
■ アップデートより「バージョンアップ」が壁
「PHP脆弱性、利用サイトの半分が修正困難 バージョン古くサポート終了」(日本経済新聞社)という見出しのニュースもありました。修正プログラムが公開されても、サポートの終わった古いバージョンには届きません。まず新しいバージョンへ上げる必要があり、そのときに使えなくなった機能の書き直しなどが発生します。メンテナンスが長引いたり、なかにはサービスを終了したところもあるようです。
わたし自身、PHP7から長いあいだバージョンアップを放置していた時期がありました。PHP8に上げたときは、ネットの情報を頼りに廃止された機能への対応を一つずつ調べて、ずいぶん苦労した記憶があります。
■ 小さな段差を、こまめに越える
今回あらためて感じたのは、大きな壁を一度に越えるより、小さな段差をこまめに越えていくほうが、結局はラクだということです。今回のサーバー引っ越しも、2021年以来の作業で記憶違いもありましたが、PHPを最新に保っていたおかげで大きな書き直しは発生しませんでした。
今なら、わからないことを生成AIに相談しながら進められるので、PHP8のときよりずっと取り組みやすくなっています。これからはUbuntuの新しいLTS版が出る2年ごとに、サーバーごと見直していくつもりです。
毎日の散歩と同じで、少しずつ続けることがいちばんの近道なのかもしれません。








