御社は大丈夫? 公開前のはずの重要情報がWebサイトから漏洩、CMSの公開予定でもダメな場合がある?
今日は、企業サイト管理者にとって「うちは大丈夫か?」と気になる話題を。もう少し後にならないと公開されないはずの情報が、Webサイトで見えるようになってしまっていた事件があったのです。それも国家試験の問題が試験前に見えていたという。
国家検定ファイナンシャル・プランニング技能検定試験の
試験問題が試験日前に……
国家検定ファイナンシャル・プランニング技能検定試験が1月27日に実施されたのですが、試験実施団体である一般社団法人金融財政事情研究会のWebサイト上で、試験問題のPDFが試験日よりも前に閲覧できる状態になっていたのです。
報道では、次のようにいわれています。
過去の問題をHPで公開しているが、問題ごとに割り振られているURL(ネット上の住所)の一部を試験実施日を意味する「20130127」に書き換えることで閲覧可能な状態になっていたという。
HPを開いただけでは閲覧できなかったが、既に公開されていた過去の試験のアドレスの一部を今回の実施年月日に変えると、見られる状態だったという
同サイトでは実施した試験の問題を「過去問題」として公開しているが、次回の試験問題のPDFを試験日よりも前にWebサーバー上にアップロードしていたということですね。
サイト管理者は「ページからPDFへのリンクを張っていなければ大丈夫だろう」と判断していたようですが、PDFのファイル名が試験実施日ベースで付けられていたため、類推してURLを直接指定することで、そのPDFをだれでも見られたということです。
Webサーバーにアップしたら、それは「公開した」ということ
同様のことは、実は意外と多く発生しているようです。最近も、「Webサーバーに置いてあった、だれもURLを知らないはずのPDFが検索エンジンで見つかる状態になっていた」という相談がグーグルのウェブマスター向け公式ヘルプフォーラムに投稿されていました。
- インデックスされるはずがないPDFがインデックスされてしまった
→ http://web-tan.forum.impressrd.jp/e/2013/02/01/14589#d4
その記事でも説明しましたが、こうした件に関してWeb担当者が肝に銘じておかなければいけないのは、次のようなことです。
Webサーバーにアップロードしたファイルには、アクセス制限を正しくかけていない限り、だれでもアクセスできる。
どのページからもリンクしていないファイルでも、URLさえわかれば、だれでもアクセスできる。HTMLでも、PDFでも、画像でも、JavaScriptでも。
URLを内緒にしていたとしても、意外と多くの人がURLを類推して試してみることはしているし、ブラウザのツールバーやその内緒ファイル内のリンクをクリックした際のリファラーなど、内緒のURLが漏れるルートは多くある。
どれだけ内緒のURLであっても、複雑で類推しにくいURLであっても、どのページからリンクしていなくても、インターネット上に公開していることに代わりはありません。
ましてや、ファイル名を年月日ベースで付けていて類推しやすかったり、Webサーバーの設定でディレクトリ内のファイル一覧を表示するDirectoryIndexが指定されていたりすれば、「見てくれ」と言っているのと同じです。
原則として、本当に事前に(または永遠に)だれかに見られると問題になるファイルは、公開Webサーバー上には置く(アップロードする)べきではないのです。
CMSに「公開予定」機能があっても、実は注意が必要なのです
企業サイトで使うようなCMS(コンテンツ管理システム)では、日時を指定してコンテンツを公開したり非公開にしたりといった「日時指定公開設定」の機能をもっているものが多くあります。
しかし、実はこういうCMSの機能を使っていたとしても注意が必要です。
というのも、こうした時限公開には次の4つのパターンが考えられるからです。
リンク自動掲載型 ―― トップページや一覧ページのリンクを時限設定で追加・削除するだけで、コンテンツは見られる状態になっている。
ページアクセス制御型 ―― HTML(ページコンテンツ)は指定した日時までは公開されないが、そのページで使っている画像ファイルやリンクしているPDFはその前にも見られる状態になっている。
全アセットアクセス制御型 ―― HTML(ページコンテンツ)だけでなく、画像ファイルやPDFファイルなどの素材(アセット)へのアクセスも管理していて、指定日時にならないと画像なども見られない。
日時指定デプロイ型 ―― CMSと公開サーバーが別で、そもそも指定日時にならないとファイルやコンテンツ自体が公開サーバーにアップロード(デプロイ)されない。
御社サイトで使っているCMSの実装が1つ目の「リンク自動掲載型」だと、非常に問題があります。URLを類推すれば、公開前にどんなファイルでもだれでも見られるからです。
2つ目の「ページアクセス制御型」は、実は怖いケースです。ページ自体は公開日前にアクセスしても見えないので問題なさそうなのですが、そのページで使っている画像ファイルやリンクしているPDFはURLを類推すれば見られるからです。特にPDFに限って言えば、今回の試験問題の場合と同じ状態だと言えます。
3つ目の「全アセットアクセス制御型」ならば、安心できます。ただし、CMSの設定ミスやバグによって、本来ならば見られないはずのコンテンツが見えてしまう可能性が残っていることは、頭の隅においておきましょう。
4つ目の「日時指定デプロイ型」は、ほぼ完璧ですね。CMS自体はファイアウォールの後ろにあってインターネットからはアクセスできない状態になっていて、時間になったら自動的にコンテンツを公開サーバーにアップロードするわけですから。それ以前には公開Webサーバー上に何もないので、アクセスできるはずはありません(もちろん設定ミスやバグによる誤デプロイの可能性は残っていますが)。
意外と2つ目のパターンの実装をしているシステムは多いのではないかと思います。というのも、4つ目のパターンはシステム構成が複雑になりますし、3つ目のパターンはアクセスが多いとサーバーの負荷が高くなって遅くなってしまうからです。
2つ目のパターンのCMSでも、中間的な対策は可能です。たとえば、通常の画像ファイルはCMSがハンドルしないけれども、PDFファイルと特定の画像ファイル(たとえばファイル名に「restricted」など特定の文字列含むもの)だけはCMSがハンドルして、それらのアセットにアクセス制限を設定できるようにするか、紐づけられたコンテンツと同様のアクセス制限をするような仕様にするといった手です。
また、「うちはPDFは使っていないから大丈夫」という油断も要注意。
というのも、たとえば来月リリース予定の製品情報やそのキャンペーンページをあらかじめCMS上で作っている場合、そのページで使っている画像に製品の情報が含まれている可能性がありますよね。その製品の価格や特徴や仕様が書かれている画像ファイルがリリース前に見られると……問題になる場合がありますよね。
ユーザーに見られるだけならいいですが、競合に見られて事前に対策されたりキャンペーンをぶつけられたり、IRに関する情報が一部の人にだけ見られる状態になっていたりすれば、さらに大きな問題になります。
御社のCMSや運営ワークフローは大丈夫ですか? 次に御社のサイトのことが(悪い意味で)ニュースになる前に、同様の問題が発生する可能性はないか、チェックしておきましょう。
ソーシャルもやってます!