
UNIX Cafe 第112回
25年前、ある「コーヒーポット」が教えてくれたこと
薄暗いカフェの図書室。
使い込まれた木製イーゼルの上の金縁の額縁には、今日もシアン色のホログラムが静かに浮かんでいます。
湯気の立つコーヒーを片手に、少し昔話をしましょう。
2000年。Webはまだ「魔法」のようなものでした。 当時の私たちが夢中になったのは、ケンブリッジ大学の片隅に置かれた1台のコーヒーポットの映像です。
数分おきに更新される、ザラついた静止画。「コーヒーが空かどうか」を知るためだけのそのサイトに、なぜか私たちは胸をときめかせました。不便な回線の向こう側に、確かに「誰かの工夫」という人の体温を感じていたからです。
あの時代のWebには、不便がありました。しかし、その不便は欠点である前に、作り手の工夫がそのまま表に出る余白でもありました。
1枚のHTMLに知恵を詰め込み、限られた環境の中で目的を達成する。その感覚は、後年になって強く意識するようになったUNIX哲学、すなわち「小さく、単純に、予測可能に作る」という思想と、どこか深いところでつながっていたのだと思います。
「プレタポルテ」の誘惑 | WordPressという既製服
それから時代は進み、Webは誰でも着られる「プレタポルテ(既製服)」の時代を迎えました。その象徴がWordPressです。
お店に行けば、最新のトレンドを纏った服がすぐに手に入る。 これはWebをみんなのものにした、素晴らしい革命でした。 でも、セキュリティエンジニアの視点でログを眺めてみると、別の姿が見えてきます。
UNIXユーザーの独り言
誰もが同じ型紙の服を着ているということは、泥棒にとっても「ポケットの位置」や「ジッパーの弱点」が最初からわかっているということです。
実際、世界中のサイトで、次のような悪意を持ったbotが、毎日のようにWordPressの入り口を叩いています。
- wp-login.php への総当たり攻撃
- xmlrpc.php を悪用した認証試行や増幅的なアクセス
- プラグインやテーマの既知脆弱性を狙ったスキャン
- 標準的なディレクトリ構成を前提にした探索
このように、便利さと引き換えに、私たちは「共通の狙われやすさ」というリスクを背負うことになったのです。
これは「WordPressが悪い」という単純な話ではありません。
プレタポルテである以上、入口も構造も広く知られる。すると防御側は、公開され た共通仕様を前提に、ひたすら補修と監視を続けることになるのです。
実際、ログを見れば、その現実はすぐに分かります。人が訪れている気配より先に、ボットがログイン画面を叩いている。静かなサイトほど、その不均衡はむしろ鮮明です。便利さの裏側には、常に「共通構造ゆえの脆弱性」が付いて回る。これは運用している人間にしか見えにくい、しかし非常に本質的なコストです。
「オートクチュール」への回帰 | HTMLという贅沢
私はその流れを見ながらも、HTMLで作るというやり方を手放しませんでした。 HTML中心のサイトは、私にとってオートクチュールです。
既製の型に体を合わせるのではなく、目的そのものに合わせて一着ずつ仕立てる。必要なものだけを残し、不要なものは最初から持ち込まない。
- 引き算の美学: データベース(DB)という巨大な倉庫を持たず、PHPという動く機械を使わない。
- 圧倒的な速さ: 「ファイルをそのまま渡すだけ」という、最も原始的で、最も速いレスポンス。
- 最強の防御: そもそも「動く仕掛け」がないから、壊しようがない。
そこには、UNIXの歴史がずっと大切にしてきた「KISS原則(シンプルにしておけ)」という美学が息づいています。
「予測可能」であることの安らぎ
ここで重要なのは、単に「HTMLは軽い」という印象論ではありません。性能上の利点には、明確な因果関係があります。
- データベースを使わない
- すると、ページ表示のたびにPHPなどの動的処理を起動する必要がなくなる
- その結果、CPU・メモリ消費が大きく減る
- 同時アクセス時の負荷が安定し、レスポンスも向上する
これは極めて素直な流れです。
動的CMSでは、1ページを出すために、アプリケーション層が起動し、設定を読み、DBへ問い合わせ、テンプレートを組み立て、最終的にHTMLを生成します。もちろんキ1ャッシュはありますが、キャッシュは複雑さを覆い隠す緩衝材であって、複雑さそのものを消すわけではありません。
一方、静的なHTMLは、原理的にほぼ「ファイルを返すだけ」です。処理系が介在しない。問い合わせもない。実行時に組み立てない。だから速い。これは思想ではなく、構造上そうなるのです。
KISS原則とセキュリティ
UNIX哲学を好む人間にとって、Webの安全性はしばしば「何を積むか」より「何を置かないか」で決まります。
HTML中心のサイトは、その意味で非常に誠実です。データベースがない。ログイン機構がない。管理画面がない。PHP実行系に依存しない。つまり、攻撃者が足場にしやすい可動部分が、そもそも存在しない。
攻撃面を減らすことは、防御を強くすること
セキュリティ対策というと、WAF、IDS、レート制限、多要素認証、脆弱性スキャンといった「追加の防具」を思い浮かべがちです。もちろんそれらは必要です。しかし、それ以前に最も効くのは、攻撃面そのものを減らすことです。
HTML主体の構成では、少なくとも次のような利点があります。
- 認証画面への総当たり対象が存在しない
- xmlrpc.php のような共通知の入口がない
- プラグイン由来の実行時脆弱性を抱えにくい
- アプリケーション更新の追随負荷が小さい
これは、派手さのない強さです。
「動く仕掛け」を減らと、監視すべき箇所も、壊れる箇所も、侵入される箇所も減る。KISS原則は美意識であると同時に、運用コストと攻撃面を削る現実的な戦略でもあります。
レジリエンスは「ファイルであること」から生まれる
HTMLサイトの価値は、性能や安全性だけではありません。運用の現場で効いてくるのは、むしろレジリエンスです。すべてがファイルとして手元にある。この事実は、UNIX的な意味で非常に大きい。
ファイルは予測可能です。コピーできる。比較できる。差分を取れる。圧縮できる。転送できる。壊れ方も分かりやすい。つまり、扱いが透明です。
これは静的バイナリの可搬性に少し似ています。依存関係の泥沼に足を取られず、環境が変わっても、運ぶ対象が明快である。サーバーが落ちたとしても、必要なファイル群を別のホストへ配置すれば、再構築は極めて速い。DBダンプの整合性や、アプリケーションのバージョン差異に神経を尖らせる場面が相対的に減ります。
「復旧しやすさ」は、設計時点で決まっている
障害対応で本当に効くのは、派手な高可用構成よりも、復旧の手順が単純であることです
HTML主体の構成では、
- バックアップ対象が明快
- 復元手順が短い
- 環境差分が小さい
- 障害時の切り分けが容易
という利点があります。
すべてのデータが「ファイル」として手元にあること。 それは、いざという時に「一瞬で別の場所に引っ越せる」という自由を意味します。 データベースの不機嫌に怯える必要も、複雑なアップデートに追われることもありません。
丁寧に仕立てられた服が、何十年経っても色褪せないように。 シンプルに作られたWebサイトもまた、時代を超えて残り続けます。
技術比較: プレタポルテとオートクチュール
| 観点 | WordPressというプレタポルテ | HTMLというオートクチュール |
| 立ち上げ速度 | 極めて速い。既成の仕組みを即座に利用可能。 | 設計と手仕事が必要。一からの構築に時間を要する。 |
| 柔軟性 | プラグインを「着せ替える」ことで容易に拡張できる。 | 必要な機能だけを個別に、精密に実装する。 |
| 実行時負荷 | 動的処理とDBアクセスに依存。リクエストごとに演算が発生。 | ファイル配信のみで完結。CPU・メモリ負荷が極めて低い。 |
| 攻撃面 | 共通構造ゆえに狙われやすい。既知の脆弱性がリスクに。 | 可動部(動的処理)が少なく、攻撃の足場が存在しない。 |
| 運用負荷 | 本体・プラグインの更新、依存関係の管理が永続的に必要。 | 構成が単純。経年劣化しにくく、保守の手間が少ない。 |
| 復旧性 | DBの整合性や環境差分の考慮が必要。復旧手順が複雑。 | ファイル単位で完結。移植やバックアップからの復元が容易。 |
| 設計思想 | 利便性とスピードを優先する「既製服」の合理性。 | 目的への最適化を追求する「注文服」の機能美。 |
いま起きているのは「新発明」ではなく再発見
近年、「静的サイト生成」や「Jamstack」といった言葉が広まりました。しかし、その本質は目新しい魔法ではありません。実行時の複雑さを減らし、配信物を単純化し、攻撃面と障害面を小さくする。言い換えれば、昔からあるHTMLの強さを、現代の道具で再評価しているにすぎません。
時代は一度、便利さのほうへ大きく振れました。その結果、私たちは多くを得ましたが、同時に多くを背負いました。速く作れるようになった代わりに、更新に追われ、監視に追われ、共通の弱点に付き合い続けることになった。
だからこそ今、シンプルさの価値が戻ってきているのだと思います。それは懐古趣味ではありません。複雑な時代を一周したからこそ見えてくる、設計の答え合わせです。
まとめ
あのコーヒーポットの映像に、多くの人が驚きと愛着を覚えた時代。そこには、Webがまだ人の手の温度を保っていた記憶があります。
そして私は、いまでもWebの理想形は、その延長線上にあると考えています。
必要十分であること。予測可能であること。壊れにくく、戻しやすいこと。攻撃面を増やさないこと。KISS原則とは、単なる作法ではなく、長く運用するための倫理です。
プレタポルテは時代を広げた。しかし、長く着続ける一着は、結局オートクチュールの側にある。
Webもまた同じです。便利さの時代を経た今だからこそ、HTMLという静かな仕立ての強さが、もう一度まっすぐに見えてきます。
便利さの時代をくぐり抜けたからこそわかる、引き算の豊かさ。 UNIX Cafeは、この「小さなカフェ」から生まれるコードたちが、そんな静かな強さを持った一着であることを、私はいつも願っています。

