Webサイトの構造

ついでなので簡単にWebサイトの構造を書いておこう。上のasahi.comの記者氏もおそらくちゃんと理解できてないから上の様な記事になると思うからだ。
一般的に、Webページを表示しているのがWebサーバと呼ばれるアプリケーションであることは多少は知られているかもしれない。上の記事中にも「ホームページをネットに提供するプログラム」としてWebサーバのことが記述されている。しかし、個人ページであれば掲示板やBlog、商用サイトであればオンラインショッピングサイトなどはWebサーバだけでは表示できない。必ずWebアプリケーションと総称されるプログラムが動いている。
簡単な図にすると以下のようなイメージだ。

閲覧者(Webブラウザ) — Webサーバ — Webアプリケーション — データベース(DB)[1. DBはDBサーバを利用することもあるし、DB代わりのファイルを利用することもある。]

Webサーバが直接DBからデータを取得することは出来ない。そのような仕組みが存在しないからだ。だから間にWebアプリケーションが入ってDBからデータを取得する必要がある。そういう仕組みのプログラムを作らなければならないと言い換えてもいい。
今回のカカクコムへの攻撃が本当にSQLインジェクションであったのなら、このWebアプリケーションに脆弱性があったということだ。asahi.comの言う「ソフトの不備ではなく、データベースの安全設定が不十分だった点を悪用された」わけではなく、Webアプリケーションというソフトの不備であって、設定の問題ではない。
脆弱なWebアプリケーションはここまで大問題になりうる[2. 大問題になった原因はインシデントレスポンスの間違いの方が大きいとは思うが。]ことは知ってほしい。
特に自分のサイトを持っている人。Webアプリケーションとは何も大規模なものだけではなく、前述の通り掲示板やWebチャットも立派なWebアプリケーションなのだから。

雑記

Posted by いつみゆう