当サイトへの影響
10/21に発表されたPHPの脆弱性(通称:php2shell)のおかげで世界中がてんやわんやになりましたが、このサイトおよびブログもPHPで構成されているのでその影響を受けました。以前であればPHPのバージョンを上げるのですら四苦八苦で最悪全てのサーバを停止、終了することになったかも知れませんが、幸運なことにというかなんというか、Claude Codeのテストも兼ねて環境のアップデートを行っており、脆弱性発表前にそれが完了していました。
Claude Codeでサイトをブラッシュアップ
更新内容
更新内容から関係ある部分を抜き出すと、こんな感じ。- Lightsail(Amazon Linux)からEC2(Amazon Linux 2023)に引っ越しするとともに全てDocker化
- PHPのバージョンを8.5系に
- Laravelのバージョンを13に
- WordPressのバージョンを始め6系(PHPは8.2系)に、稼働後7系(PHPは8.5系)に
Dockerイメージ含めて全体がほぼ最新の状態になっていたので、php2shell 対応作業としては Docker イメージ(Laravel/WordPress/MediaWiki など)が更新されるのを待って(PHP修正バージョンリリース後すぐに更新されました)差し替えるだけで済みました。全く偶然でしたけど、環境アップデートやっといて良かった……
メンテナンスの徹底がより大事な時代に
いやまあ、大事じゃなかった時代なんか無かったといえばそうなんですけど、現実的には多少サボっていてもすぐに大変なことにはなりません、でした。今までは。でもAIによる解析やコーディングが高度化することで、環境情報の取得から不正アクセスの試行まであっという間に出来るようになってしまいました。金を直接的に生むわけでもないメンテナンスに(人的費用的)コスト掛けるのはしんどいという気持ちもわかるのですけど、今やそんなこと言ってられない時代になってきています。だってAIすげーんだもん。やべーよ。
対策する側もAIを使って穴埋めをするわけですけど、実際使ってみて思うのは、人間が手で行った環境設定、コーディングがどれだけ信用出来ないものかってことなんですよね。大したことしてないし大丈夫だろと思っても、次から次へと「これヤバいですよ」と指摘されるのはなかなか来るものがあります。「このインスタンスのこのポートが全開です」とか「このファイル公開されてました」とか指摘されることもあって、肝が冷え冷えで風邪引きそうでした。そうだったのか。
「矛盾」の世界
お互いにAI持って殴り合うってのは、なんかどこかこう「矛盾」の世界線に似たものがあって、盾と矛どっちが勝つんだよという気がしないでもありませんが、矛には「相手を打倒するまで何回もやり直せる」「妥当出来る相手を選べる」という特徴があり、盾には「相手を打倒しなくても負けさえしなければ勝ち」「実際に戦わなくても戦うことを諦めさせれば勝ち」という特徴があって、実はルールは同じではありません。我々としては、技術的な面ではハッカーには全く敵わないとしても、戦いが始まる前に出来るだけ穏便にお帰りいただけるよう、日頃からきちんと準備しておきましょうねという話になるのかなと思います。まあそれも昔から言われてることではあるんですけど、現代ではマジでそれしないと負けるので切迫感が違います。
AIで生産性が上がる半面メンテナンスにはしっかりコスト掛けないと詰むって、全体として良くなってるのか悪くなってるのか、、