Proposal
トーナメントアクセス再構築のご提案
2026年10月21日、PHP の重大な脆弱性「PHP2shell」が公表され、翌日には IPA・JPCERT/CC が注意喚起を出しました。株式会社エール・クリエート様の「トーナメントアクセス」(tournament-access.com)は、サポートが終わった古い PHP をはじめ、すべての部品で修正が提供されない環境で動いており、これまでどおりの運用では、安全を保証できない状態になりました。
安全な状態を取り戻すには、部品の更新ではなく、サポートが続いている環境の上に作り直す必要があります。本資料では、現在の環境と脆弱性の状況をご報告したうえで、より安全性の高い仕組みへ作り直す「新システム」をご提案します。新システムの完成には約2か月かかるため、11月19日から始まる大王製紙エリエールレディスオープン2026に間に合わせる「暫定対応」もあわせてご提案します。左の目次から、知りたいところへ直接移動できます。
Chapter 1
現在の環境と脆弱性
現在の環境
| 部品 | 役割 | 現在の版 | サポートの状況 |
|---|---|---|---|
| サーバー | システムを置いている場所 | さくらのVPS | 現在の契約期間は2026年12月31日まで(延長も可能) |
| OS | サーバーの土台となるソフトウェア | CentOS 6 | 2020年11月に終了 |
| Webサーバー | 画面をブラウザに届ける | Apache 2.2.15 | 2017年7月に終了 |
| プログラム言語 | 画面や管理機能を動かす | PHP 5.3.3 | 2014年8月に終了 |
| フレームワーク | プログラムの骨組み | CakePHP 2.4.9 | 2.x 系は2021年6月に終了 |
| データベース | 大会や駐車場の情報を保存する | MySQL 5.1.73 | 2013年12月に終了 |
| ブラウザ側の部品 | 画面の動きを作る | jQuery 2.0.3 | 既知の脆弱性あり(3.5.0 で修正) |
| ドメイン | tournament-access.com | — | 当社が契約し、費用を支払っています |
どのくらい危険な状態か
トーナメントアクセスの画面や管理機能は、PHP というプログラム言語で動いています。その PHP に、2026年10月、重大な脆弱性が公表されました。
PHP2shell(CVE-2026-109618、CVE-2026-109619)
2026年10月21日に PHP の開発元が公表し、翌22日に IPA(情報処理推進機構)と JPCERT/CC が注意喚起を出した脆弱性です。悪用されると、外部の第三者がサーバー上で任意のプログラムを実行できるおそれがあります。10月26日には、米国の CISA が「実際に悪用が確認された脆弱性」の一覧に加えました。
IPA が求める対応
IPA は、サポートが終わった版について、サポート中の版への移行と、それまでのアクセス制限を求めています。十分な暫定対策がとれない場合は、外部からのアクセスの遮断やサービスの停止も判断するよう呼びかけています。当社はこの公表を受けて10月21日にサイトを停止し、作り直しをご提案しています。
悪用されると、何が起きるか
サーバーに入り込まれると、大会のサイトが、大会名や主催企業名を表示したまま攻撃に使われるおそれがあります。被害を受けるのは来場者で、問い合わせや苦情は大会の主催企業・協賛社、そしてエール・クリエート様に届くことになります。
- 1サーバーに入り込まれるPHP の脆弱性を突かれ、外部からプログラムを実行される
- 2大会サイトが書き換えられる「○○カップ 交通・駐車場案内」など、大会名・主催企業名のページのまま中身だけ差し替えられる
- 3来場者が偽のサイトへ誘導される「駐車場の事前予約はこちら」などの偽の案内から、別のサイトへ移される
- 4来場者が被害を受ける偽のサイトを開いただけで、端末がウイルスに感染する
- 5問い合わせ・苦情が届く「大会の公式案内から被害に遭った」として、主催企業・協賛社、エール・クリエート様へ
公式の案内だと信じて開くため、偽物と気づきにくく、被害が広がりやすくなります。大会当日はアクセスが集中するため、短い時間で多くの方が影響を受けるおそれがあります。
大会名・企業名のついたページから被害が出ると、主催企業・協賛社の名前で報じられたり、問い合わせが寄せられたりするおそれがあります。
主催企業・協賛社への経緯のご説明、来場者からの問い合わせへの対応、再発防止策のご報告などが求められ、今後のお取引にも影響しかねません。
これを機に、すべてを作り直すことをおすすめします
PHP だけ、あるいは部品を1つずつ入れ替えても、残った古い部品が侵入口になります。OS から入れ替えるとなると、結果としてほぼ作り直しと同じ作業になります。
そこで当社は、今回を機にすべての部品を作り直し、サーバーの保守が要らない Cloudflare の環境へ移すことをご提案します。次の章で、新システムとしてご説明します。
これまでの経緯と、これからの予定
- 2026年10月21日PHP の開発元が重大な脆弱性(PHP2shell)を公表。現行の環境では修正できないため、これを受けて当社の判断でサイトを停止
- 2026年10月22日IPA・JPCERT/CC が PHP2shell の注意喚起を公表(26日に CISA が悪用の確認された脆弱性の一覧に追加)
- 2026年11月9日暫定対応の完成目標
- 2026年11月19日〜大王製紙エリエールレディスオープン2026
- 2026年12月31日さくらのVPSの現在の契約期間が満了(延長も可能)
Chapter 2
新システムのご提案
サーバーをさくらのVPSから Cloudflare に移すだけでなく、プログラムやデータベースなどの技術構成も新しくすることで、セキュリティ性を高めます。
現行と新システムの比較
来場者が画面を見るときと、ご担当者が管理画面で更新するときに、情報がどこを通るかを図にしました。ボタンで現行と新システムを切り替えられます。図の中の「対策01」などの番号は、下の「セキュリティ対策」の番号です。
来場者が画面を見るとき
ご担当者が更新するとき
来場者が画面を見るとき
ご担当者が更新するとき
現行は、公開画面・管理画面・データベースがすべて1台の古いサーバーに載っています。どこか1か所が破られると、画面の書き換えやデータの持ち出しまで一続きに進むおそれがあります。
新システムでは、すべての部品がサポート中のものになり、管理画面は本人確認の内側に置かれます。仮に1か所に問題が見つかっても、ほかの部分まで一続きに進みにくい作りです。
セキュリティ対策
個別の不具合を一つずつ直すのではなく、問題が起きにくい仕組みで安全を保ちます。暫定対応にも同じ対策を入れます。
対策01サーバーを持たない
Cloudflare の実行環境の上で動かすため、OS やミドルウェアの更新を弊社やエール・クリエート様が行う必要がありません。土台の脆弱性への対応は Cloudflare が行います。
対策02管理画面は本人確認の内側に
現行の管理画面はベーシック認証(ID とパスワード)で守っているため、パスワードが漏れたり推測されたりすると入られてしまいます。新システムでは、登録したメールアドレスに届くワンタイムコードで本人を確かめ、確認が済むまで管理画面そのものに届かない作りにします。パスワードを使わないため、使い回しや漏えいの心配もありません。
対策03画面でスクリプトを動かさない
公開画面・管理画面とも、ブラウザでスクリプトを実行させない設定にします。万一、不正な文字列が入り込んでも、スクリプトとしては動きません。
対策04入力と出力の安全対策
入力された文字はすべて無害な形に変換して表示し、選択肢は決められた候補だけを受け付けます。管理画面からの送信は、正しい画面から送られたものかを確かめます。
対策05データを7日前まで戻せる
データベースは、7日以内の任意の時点に戻せます。管理画面での変更は履歴として残るため、誤って更新した場合も、いつ・誰が・何を変えたかを確かめられます。
対策06アカウントはお客様名義
Cloudflare のアカウントはエール・クリエート様名義で作成していただき、弊社は招待されたメンバーとして作業します。サイトの持ち主がはっきりし、権限の管理もエール・クリエート様の手元で行えます。
ドメイン(tournament-access.com)の DNS を Cloudflare に移し、現行と同じ URL で公開します。印刷物や QR コード、主催者サイトのリンクはそのままお使いいただけます。
構成の変更点
これまでの構成が、新システムでどう変わるかをまとめました。
| 部品 | 現行(旧) | 新システム |
|---|---|---|
| サーバー | さくらのVPS自前で保守 | Cloudflare(サーバーを持たない)保守が不要 |
| OS | CentOS 6サポート終了 | 不要(土台の保守は Cloudflare)保守が不要 |
| Webサーバー | Apache 2.2.15サポート終了 | Cloudflare WorkersCloudflare が保守 |
| プログラム言語 | PHP 5.3.3サポート終了 | TypeScriptサポート中 |
| フレームワーク | CakePHP 2.4.9サポート終了 | Honoサポート中 |
| データベース | MySQL 5.1.73サポート終了 | Cloudflare D1Cloudflare が保守 |
| 管理画面のログイン | ベーシック認証(ID とパスワード)パスワード頼み | Cloudflare Access(メールのワンタイムコード)Cloudflare が保守 |
| ブラウザ側の部品 | jQuery 2.0.3既知の脆弱性あり | 使わない(画面でスクリプトを動かさない)対策済み |
Cloudflare とは?
Cloudflare(クラウドフレア)は、Webサイトの配信やプログラムの実行、セキュリティ対策などを提供する米国の会社です。世界中に拠点があり、アクセスが集中しても表示が遅くなりにくく、大量の通信による妨害からもサイトを守ります。
料金は、使った分に応じて決まる従量課金制です。ただし、一定の量までは無料で使える「無料プラン」があり、トーナメントアクセスの利用量はこの無料プランの範囲に収まる見込みです。そのため、運用コストを下げられます。
機能要件
現行の機能を使用できるようにします。
| 区分 | 内容 |
|---|---|
| 公開画面 | TOP(周辺地図と駐車場の満空表示)、駐車場一覧・詳細(経路検索つき)、駅詳細、推奨環境、準備中・公開終了の表示。スマートフォンと PC に対応し、URL は現行と同じです |
| 管理画面 (エール・クリエート様) | 担当大会の駐車場の満空・バス待ち時間・お帰り混雑・オープン時間、駅の状況、現在の情報、インフォメーションの更新。変更履歴の閲覧 |
| 管理画面 (弊社) | 大会の作成、公開状態の切り替え(準備中・テスト・公開中・終了)、駅や駐車場の基本情報、利用者の登録 |
| ログインと権限 | メールのワンタイムコードでログインします。利用者ごとに担当大会と役割を設定できます |
| アクセス計測 | 従来の報告と同じ項目(PC・スマートフォン別、画面別、公式サイト経由、駐車場別、経路検索のクリック数、時間別)を記録し、管理画面から報告と同じ形の集計表を出せます |
期間と前提
- 構築には約2か月前後かかります。開始時期はご相談のうえ決めます。
- 過去の大会のデータは移行しません。旧サーバーのデータは、さくらのVPSを解約する前に書き出して保管します。
- ガラケー向けの表示は廃止します。
- 画面の見た目は現行に近いものとします。見た目の刷新も、オプションとしてご相談いただけます。
- 経路検索の使い方は変わりません。駐車場ページの「経路検索」ボタンを押すと Google マップが開き、現在地からのルートが表示されます。変わるのは裏側の仕組みで、現在地の取得をページ側ではなく Google マップに任せます。ページ側でプログラムを動かさずに済むため、安全性が上がります。
Cloudflare のご契約にあたっての注意点
- アカウントはエール・クリエート様名義で作成してください。担当者の異動に備え、個人ではなく会社で管理できるメールアドレスでのご登録をおすすめします。
- クレジットカード情報の登録が必要です。無料プランで運用する場合でも、管理画面のログイン機能(Cloudflare Access)の利用と、ドメインの更新費用のお支払いのために登録します。
- Cloudflare の料金は米ドル建てで、登録したクレジットカードに Cloudflare から直接請求されます。ドメインの更新費用は年に1回です。
- 無料枠を超えても、自動で有料プランに切り替わることはありません。有料プランが必要になった場合は、事前にご相談します。
- アカウントを守るため、ログイン時の二段階認証の設定をお願いします。
- 弊社は招待されたメンバーとして作業します。弊社の権限は、エール・クリエート様がいつでも変更・削除できます。
Chapter 3
暫定対応(大王製紙エリエールレディスオープン2026)
新システムの完成には約2か月かかるため、11月19日から始まる大王製紙エリエールレディスオープン2026には間に合いません。そのため、大会のページだけを先に公開する「暫定対応」をご提案します。暫定対応で作る土台は、新システムにそのまま引き継ぎます。
11月19日から始まる大会に向けて、大会のページだけを先に、新システムと同じ安全な環境で公開します。見た目と URL(https://tournament-access.com/?tm=dsel)は現行と同じですので、公式サイトのリンクや印刷物を変える必要はありません。完成は11月9日を目標とします。
機能要件
| 区分 | 内容 |
|---|---|
| 公開画面 | TOP、駅詳細(JR松山駅、松山市駅)、推奨環境。スマートフォンと PC の両方に対応します |
| 管理画面 | 駅ごとのギャラリーバス待ち時間、お帰り混雑状況、TOP の「現在の情報」、インフォメーション(自由記述)を、エール・クリエート様が更新できます。スマートフォンから操作でき、更新はすぐに画面へ反映されます。変更の履歴も残ります |
| ログイン | 登録したメールアドレスに届くワンタイムコードでログインします。パスワードを管理する必要はありません |
| アクセス計測 | 従来と同じ条件(PC・スマートフォン別、画面別、公式サイト経由、時間別)で記録し、従来と同じ形式でご報告します |
| その他 | 過去の大会の URL には「公開を終了しました」と表示します。公開前の確認用に、パスワードつきのテスト用 URL をご用意します |
更新機能つきと固定版
管理画面を作らない「固定版」もお選びいただけます。大会期間中に情報を更新できる更新機能つきをおすすめします。
| 項目 | 更新機能つき(おすすめ) | 固定版 |
|---|---|---|
| バス待ち時間・お帰り混雑 | 管理画面から随時更新 | 掲載しません |
| インフォメーション | 管理画面から随時更新 | 固定の文言。期間中の変更は、その都度弊社で対応(別途ご相談) |
前提
- 掲載内容(大会名、日程、駅情報、地図、インフォメーション)は、従来どおりご提供ください。
- 管理画面で変更できるのは上の項目です。駅の基本情報や画像の変更は、弊社が行います。
- ドメイン(tournament-access.com)は現在、当社が契約しています。DNS を Cloudflare に移した後、登録先もエール・クリエート様の Cloudflare アカウント(Cloudflare Registrar)に移し、以後はエール・クリエート様の管理とさせていただきます。移す際に登録期間が1年延長され、以後の更新費用はエール・クリエート様のお支払いとなります。11月9日の公開には必須ではないため、公開後に行います。
- 過去の大会のデータは移行しません。ガラケー向けの表示は廃止します。
Chapter 4
日程とお願い
暫定対応は約7〜9日分の作業です。10月30日頃までにご発注のご判断とアカウントのご準備が整わないと、11月9日の完成に間に合わないおそれがあります。
暫定対応の日程
- 10月27日弊社ご提案
- 10月30日頃エール・クリエート様ご発注のご判断。Cloudflare アカウントの作成、弊社の招待、クレジットカード情報の登録
- 10月31日〜11月8日弊社構築、2026年の掲載内容の差し込み、テスト
- 11月9日弊社・エール・クリエート様完成、ご確認
- 11月19日〜大王製紙エリエールレディスオープン2026
10月30日頃までのお願い
01Cloudflare アカウントの作成
エール・クリエート様名義でアカウントを作成し、弊社をメンバーとして招待してください。
02クレジットカード情報の登録
無料プランで運用する場合でも、管理画面のログイン機能(Cloudflare Access)とドメインの更新費用のお支払いのために、クレジットカード情報の登録が必要です。
03エリエール2026の掲載内容
日程、駅情報、地図、インフォメーションなどをご提供ください。
04DNS 設定とメールの利用状況
ドメインの DNS 設定の一覧と、そのドメインでメールをお使いかどうかを教えてください。切り替えの際にメールが止まらないようにするためです。
ご確認いただきたいこと
大会ごとに、更新できる方を分ける必要はありますか
新システムでは、利用者ごとに担当大会を設定できます。分ける必要があるかどうかで、ログインと権限まわりの作り方が変わります。
お伝えしておきたいこと
- アクセス計測は現行と同じ条件で記録し、ご報告の数値を前年と比べられるようにします。プライバシーポリシーに、記録している旨を追記します。
- ガラケー向けの表示は廃止します。
Chapter 5
技術的な補足
技術のご担当者向けの要点です。新システムと暫定対応で同じ構成を使い、暫定対応の成果をそのまま新システムに引き継ぎます。
| 項目 | 内容 |
|---|---|
| 実行環境 | Cloudflare Workers(静的ファイルの配信を含む)。サーバーの保守やOSの更新が不要です |
| 言語・フレームワーク | TypeScript、Hono |
| データ | Cloudflare D1(SQLite 互換)。7日以内の任意の時点に戻せる機能(Time Travel)が無料プランで使えます |
| 管理画面の認証 | Cloudflare Access のメールワンタイムコード。アプリの手前で認証します |
| 画面の作り | サーバー側で HTML を組み立て、ブラウザ側の JavaScript は使いません。CSP で script-src 'none' を指定します |
| 入出力の安全対策 | 出力はすべてエスケープし、管理画面の送信は Origin を確認します(CSRF 対策)。選択肢の入力値は、決められた候補にあるかを検証します |
| URL | 現行の ?tm= などの URL をそのまま使えるようにします |
| 端末の判定 | 現行と同じく User-Agent でスマートフォン版と PC 版を切り替えます |
| アクセス計測 | 現行と同じ条件でサーバー側に記録し、記録用のデータベースを本体と分けます。経路検索のクリックは中継 URL で数えます。記録に失敗しても画面の表示は止めません |
| 環境と公開 | テスト環境と本番環境を分け、GitHub Actions で公開します。不具合があれば直前の版に戻せます |
Chapter 6
運用費用
新システムへ移ると、現在お支払いいただいている年間6万円の運用費用がなくなります。Cloudflare の利用料は、無料プランの範囲に収まる見込みです。
年間の運用費用
Cloudflare の利用料が0円に収まるかは、過去の大会のアクセス実績を、Cloudflare の無料枠の数え方に当てはめて見積もりました。
無料枠に収まると見込む根拠と、超えた場合の対応
- 元にしたのは、弊社が提出したアクセス報告の実績です。エリエール2025は5日間で5,833件(駅情報のみ)、コスモスカップ2026は10日間で約1.6万件(駐車場あり)で、いずれも最も多い日の数字で比べました。
- 新しい構成では、ページの表示1回が Workers のリクエスト1件にあたります。画像、CSS などは静的ファイルとして配信し、リクエスト数に数えられません。経路検索のクリックだけは中継URLを通るため1回につき1件増えますが、最多日でも約100件です。
- 1日約5万回のページ表示まで無料枠に収まります。コスモスカップ2026の最多日の約11倍、エリエール2025の約27倍にあたります。
- 無料枠を超えても、自動で課金されることはありません。ただし、その日の残り(日本時間の午前9時まで)は画面がエラーになるか、アクセスの記録が止まります。記録に失敗しても画面の表示は止めない作りにし、大会期間中は弊社が利用量を確認します。無料枠の5割を超えそうな場合は、有料プラン(月5米ドル、月1,000万リクエストまで)への切り替えをご相談します。
- ドメインの更新費用は、登録先を移した後はエール・クリエート様から Cloudflare へ直接のお支払いとなります。
用語の説明
- Cloudflareクラウドフレア
- Webサイトの配信やプログラムの実行、セキュリティなどのサービスを提供する米国の会社です。世界中に拠点があり、アクセスが集中しても表示が遅くなりにくい特長があります。
- 脆弱性Vulnerability
- ソフトウェアの不具合のうち、不正アクセスなどに悪用されるおそれがあるものです。通常は修正版が配布されますが、サポートが終わったソフトウェアには配布されません。
- DNSDomain Name System
- ドメイン名(tournament-access.com)と、実際にサイトやメールを動かしている場所を結びつける仕組みです。移す際は、メールの設定も漏れなく引き継ぎます。
- ワンタイムコードOne-time code
- ログインのたびにメールで届く、1回だけ使える確認コードです。パスワードを覚えたり管理したりする必要がありません。
- 無料枠Free plan limits
- Cloudflare の無料プランで使える上限です。1日あたりのページ表示回数やデータベースの書き込み回数などに上限があり、超えても自動では課金されません。