セキュリティレポート · バージョン 2 · 2026年7月15日

検証可能な主張。

これは「安全です」というマーケティングページではなく、検証可能な主張(SR-N)の集まりです。それぞれについて、当社のバグバウンティプログラムで報奨金付きで反証を試みることができます。

主張に反証する →
01 · サーバーへのアクセス

サーバーへのアクセス

SR-1rootパスワードは一度だけ使われ、当社側には保存されません。検証済み+

パスワードは、最初のSSH接続を開き、サービスユーザーをインストールするためだけに必要です。パスワードは当社の接続のためのSSH認証として渡され、スクリプトの引数や環境変数として渡されることはありません。当社のデータベースにはパスワード用のフィールドがなく、スクリプトの実行環境に入ることも、ログに記録されることもありません(接続エラーにはアドレスとポートのみが含まれ、パスワードは決して含まれません)。メモリ上では、使用後にベストエフォートで消去されます — これは多層防御であって、保証ではありません。Goはガベージコレクションが行われるまで、値のコピーをヒープ上に保持することがあります。

正直な留保:これはあなたのサーバー上のrootパスワードのままです。インストール後、当社はSSH経由のパスワードログインとrootログインを無効化しますが、パスワード自体は変更しません — 必要であれば自分で変更してください。「保存していない」は事実ですが、「秘密でなくなった」わけではありません。

SR-2インストール後、パスワードによるログインとroot SSHログインは無効化されます。検証済み+

PasswordAuthentication no、PermitRootLogin no、SSHは非標準ポート(デフォルトは12011)へ移動、fail2ban有効(5回失敗で1時間のban)、鍵によるログインのみです。公開鍵は使用前に厳格に検証されます:改行(authorized_keys に余分な鍵を紛れ込ませる攻撃への対策)や、構文的に無効な鍵は拒否されます。

締め出し防止:新しいSSHポートが実際にlistenしていることをカーネルが(ss を通じて)確認するまで、ポート22は閉じられません。構成は sshd -t で、sudoルールは visudo -cf で検査され、エラー時はいずれもロールバックされます。

SR-3管理鍵は暗号化された形でのみ保存されます。検証済み+

パネルはあなたのパスワードではなく、自ら生成する別の鍵(ed25519)で動作します。秘密鍵の部分は AES-256-GCM で暗号化されてデータベースに置かれます。暗号鍵(KEK)はデータベースとは別に — サーバーの環境変数に — 保存され、本番環境では必須です(安全でないデフォルト値はありません。KEKがなければ暗号サブシステムはそもそも起動しません)。同じ暗号化が、データベース内の重要な秘密情報 — Marzbanの管理者パスワード/トークン/JWT、Realityの鍵、決済プロバイダーの鍵、プロキシ認証情報のキャッシュ、バックアップ設定 — を保護します。

暗号化はデータを隠すだけでなく、認証もします(GCM認証タグ):暗号化されたフィールドの改ざんは、復号時に検出されて拒否されます。各フィールドは毎回新しいランダムな nonce で暗号化されます。KEKの値がログに出ることはなく、記録されるのはその短いidだけです。

ケイパビリティトークンについて:/sub のサブスクリプショントークンはベアラー秘密情報です。検索のためにはその SHA-256 のみを保存し、すでに発行済みのリンクを再表示するために必要なコピーは AES-GCM の暗号文として保持します。古い平文のレコードは、HTTPサーバーの起動前に、fail-closed で新しい形式へ移行されます。決済 webhook のURL識別子は平文で保存されますが、それ自体はイベントを認証しません:真正性は HMAC 署名によって別途検証されます。

SR-4秘密鍵がブラウザに届くことはありません。検証済み+

鍵はサーバー上、メモリ内でのみ復号され、通常のAPIが鍵を返すことはありません。鍵を取得する唯一の方法は、意図的なエクスポート機能(「鍵を持ち出す」)であり、サインインに加えてワンタイムのメールコードで保護されています(コードは HMAC ハッシュとしてのみ保存され、定数時間で比較され、TTLは10分、試行は5回まで)。したがって鍵は意図的に取り出すことはできますが、通常のリクエストを通じて「漏洩」することはありません。

SR-5サーバーが削除されると、鍵はそのレコードから同期的に消去されます。検証済み+

サーバーの状態が変わる前、そしてあらゆるバックグラウンドのネットワーク操作の前に、管理鍵を保持するフィールドは同期的にゼロクリアされます。データベースが消去を確認できない場合、操作はエラーを返し、再試行できます。削除は「ソフト」なままです:行と、秘密でないサービスデータは保持されます。これは、すでに作成されたバックアップの物理的な消去を意味するものではありません — それらのライフサイクルはバックアップの保持ポリシーによって管理されます。

SR-16監査済みのパートナーAPIは、アクセスをリソースの所有者にスコープします。検証済み+

監査済みのパートナールートは partner_id によって認可を行います。この partner_id は、クライアントがパスやボディで送ってきた値ではなく、署名済みのログイントークンからサーバーが導出します。何かを返したり変更したりする前に、システムは、要求されたサーバー、クラスター、インバウンド、ルート、VPNユーザー、あるいは支払いがあなたのアカウントに属することを再確認します。対応するデータベースクエリはあなたの partner_id でスコープされ、スキーマ(複合ユニークキーと複合外部キー)はパートナーをまたぐ不正なリンクを拒否します。分離は多層です:アプリケーション、ユースケースでの再確認、partner_id フィルター、そしてスキーマ。

正直な留保:これはリクエストパス全体にわたるコード監査によって検証されており、公開のペネトレーションテストによるものではありません — ですからSR-16も、他と同様、バグバウンティでの反証を受け付けています。

パネルのアクセス権について正直に — それは「限定的」ではなく、完全な管理者権限です。正直な補足+

すべてを自動で構成するため(Xray+Realityのインストール、構成の適用、メトリクスの読み取り)、パネルはサーバー上で完全な管理者権限を保持します(パスワードなしsudoを持つサービスユーザー経由の、root相当の権限)。これは管理のために必要であり、当社はこれを「限定的」とは呼びません。

リスクを下げる要素:秘密情報はプロセスのstdin経由でのみサーバーに渡され(コマンド引数としては渡さないため、プロセス一覧には見えません)、初回インストール後は、すべての管理接続がサーバーのピン留めされたホスト鍵を検証します — 「途中で」サーバーがすり替えられれば拒否されます。あなたが握っている制御:アクセスは、あなたがいつでも失効させられる鍵に依存します — サーバーを削除する(鍵がゼロクリアされる)か、単にホスティング事業者側でVPSを削除する(そうすればすべてが消えます)ことで。

02 · あなたのデータとプライバシー

あなたのデータとプライバシー

SR-6VPNユーザーはあなたのサーバーに存在します。当社は最小限のサービスメタデータを保持します。検証済み+

VPNアカウント自体(VLESS/Reality)は、あなたのマスターサーバー上のMarzban内で作成され、そこに存在します。中央側で保存するのは、サブスクリプションリンクの発行に必要なものだけです:ランダムなサブスクリプショントークンと、プロキシ認証情報の暗号化されたスナップショット(キャッシュであり、真実の源はあなたのMarzbanです)。当社は通信、IP、ユーザーの訪問履歴を一切持ちません。

エンドユーザーのメールが実際に当社の中央データベースを通過する箇所を、正直に挙げます。ログインコードのメールは当社が送信するため、アドレスは送信キューを通過します(無料を含む、ストアフロントへのあらゆるログインについて)。支払い時には、購入者のメールが支払い webhook に届き、支払いログに記録されます。Telegram を連携する際には、メールがプロフィールに保存されます。接点はこれらだけであり——いずれも業務上の必要によるものです——トラフィックやユーザーの行動には関わりません。

これらのサービスデータは必要な期間だけ保持し、自動的に消去します。メールは送信後すぐに送信キューから削除され、支払いイベントの本文は処理後に、再試行を待つイベントは90日間の期限内に削除されます。サポートにご連絡いただくことで、アカウントと関連データをまとめて削除できます(詳細はリスク7をご覧ください)。当社はこれを曖昧な表現の陰に隠すのではなく、正直に開示しています。

SR-7当社は、あなたの通信や訪問のログを収集せず、サーバーは訪問記録を保持しません。検証済み+

CreateYourVPNプラットフォームは、あなたやあなたのユーザーがどのサイトを訪れたかという情報を、受け取ることも保存することもありません。メトリクス取り込みのスキーマは閉じています:物理的にIP、ドメイン、訪問のためのフィールドを持たず、集計値(一意のオンライン数、総バイト数、CPU/RAM/負荷)のみを持ちます。各ノードは自身のidに紐づく HMAC トークンで認証し、自分自身のメトリクスしか書き込めません。ノード上のバランサー(HAProxy)は SNI による TCP ルーターとして動作し、通信を復号しません。サーバー自体では、システムジャーナルはおよそ1時間を超えて保持されることはなく、syslog へ転送されることもありません。

プラットフォームレベルを超えて、サーバーも訪問記録を保持しません:Xrayのアクセスログは構成をプッシュするたびに強制的に無効化され(プラットフォームが log.access を none に設定します)、エッジプロキシはユーザーが接続するアドレスを記録しません。これはコードで強制され、フリート全体に展開されています。

SR-8Web分析は Google Analytics であり、他のトラッカーはありません。検証済み+

サイトとパネルがどのように使われているかを把握するため、当社は Google Analytics を利用します(cookieバナーが cookie と統計の収集について注意を促します。詳細はプライバシーポリシーに記載しています)。他の第三者トラッカーはありません:Sentry、PostHog、Mixpanel、広告ピクセルはありません(両方のフロントエンドを検索して確認済み)。バックエンドには第三者テレメトリが一切ありません。エンドユーザー向けのストアフロントは、分析の対象外です — GAもトラッカーもありません(そのソースから検証可能です)。

留保:GAは(Google側で)あなたのIPと、閲覧したパネルページのアドレスを受け取ります。パネルのURLにはクラスター識別子のみが含まれ、メールアドレスは含まれません。

SR-9支払いは外部で処理されます — 当社は完全なカード番号を受け取りません。検証済み+

支払いと、すべてのカードデータはプロバイダー側(Tribute/Lemon Squeezy)で処理されます。当社が受け取るのは署名付きの webhook のみです(HMAC-SHA256、定数時間での比較、ボディの解析前およびデータベースへの書き込み前に検証されます:秘密情報を知らなければ、イベントは検証に失敗します)。当社は完全なカード番号(PAN)やCVVを受け取りません。同じ webhook の再送(プロバイダーによる再試行)が二重の付与を引き起こすことはありません — イベントは重複排除されます。

留保:プロバイダーは、カードのメタデータ(ブランドと下4桁)や、支払者の氏名とメールアドレスを webhook のボディに含めることがあります。元のボディは、処理が完了するまでワーカーに必要です。処理が成功した後は、メールアドレスの手がかりとともに削除されます。再試行待ちや手動レビュー待ちのイベントは、保持期間(無活動90日)が終了するまでのみ元のボディを保持し、その後はカードのメタデータと支払者のメールアドレスが自動的に消去されます。「完全なカード番号は存在しない」は事実ですが、それはプロバイダー側の性質です(当社自身がボディをフィルタリングするわけではありません)。「カードについて何一つ見ていない」わけではありません。

あなた(パートナー)について当社が保存する内容を、正直に。正直な補足+

メールアドレス(サインインに必要)、最終サインイン時刻、インターフェースのモード。課金については — 残高とTelegram(チャージ用)。パートナーのIPはデータベースに保存されず、パネル内のクリックや操作の履歴も保持しません(エラー時の短いアクセスログを除く)。

03 · サーバーの堅牢化

サーバーの堅牢化

SR-10ファイアウォールは、必要なもの以外のすべてを拒否します。検証済み+

ファイアウォールはデフォルトで受信を拒否します。外向きに開いているのは:443(VPN、Xray+Reality)、非標準ポートのSSH(デフォルトは12011)、そして — マスターサーバー上では — Marzban管理パネルのポート(コントロールプレーンのIPに対してのみ)。ポート80は、Let's EncryptモードのHTTP-01のためだけに別途開かれます。ポート22はSSHの移動後に閉じられます。

ノードの管理ポートはマスターサーバーのIPに対してのみ開かれ、外向きには開かれません(このバインドに失敗すると、インストールは中止されます)。ファイアウォールが有効にならない場合、インストールは失敗します。ICMP echoはIPv4に対してのみ制限されます。当社はサーバーが「見えない」とは約束しません。IPv6が正しく動作するよう、IPv6のICMPは維持されます。

SR-11セキュリティの自動更新。検証済み+

unattended upgrades がセキュリティパッケージの更新を自動でインストールします。留保:自動再起動は意図的に無効化されています(検証されていないカーネルが勝手に再起動しないように) — つまり、再起動を要する修正(カーネル、時にはOpenSSH)は、手動またはスケジュールされた再起動の後にのみ適用されます。「自動パッチ適用」はユーザーランドについては事実ですが、再起動を要するものについてはそうではありません。

「不可視性」について正直に — 当社はそれを主張しません。正直な補足+

当社は、サーバーが「見えない」とか「スキャンできない」とは主張しません。ポート443は開いており、他のあらゆるWebサーバーと同様に、TCP接続に応答します。「不正な接続に対しては、無関係な普通のWebサイトのように見える」という性質は、Xray内のRealityプロトコルによって提供されます — それは別個のコンポーネントであり、当社は絶対的なものとして扱いません。

04 · プラットフォーム(管理パネル)

プラットフォーム(管理パネル)

SR-12パスワードなしでのCreateYourVPNアカウントへのサインイン。検証済み+

パートナーのサインインは、メールで送られるワンタイムの6桁コードによって行われます。アカウントのパスワードはありません。これは、生成されたMarzban管理者パスワードのような、管理対象コンポーネントの内部認証情報には当てはまりません。コードは暗号学的なジェネレーターで生成され、保存されるのはその HMAC ハッシュのみで、比較は定数時間で行われます。コードは使い捨てです:成功時には即座に削除され(リプレイ不可)、5回誤ると早期に無効化されます。発行のレート制限はIPごとではなくメールアドレスごとに数えられます — アドレスを切り替えても回避できません。

SR-13セッションは保護されています。検証済み+

セッショントークンは HttpOnly かつ Secure な cookie(JSからは読み取れません)に置かれ、バックエンドで検証されます(エッジだけではありません)。アイドルタイムアウトと、無操作時の自動ログアウトは、サーバーではなくクライアント側で実装されています。トークンは HS256 で署名されます。検証時には、他のアルゴリズム(「none」を含む)を厳格に拒否します — 古典的なアルゴリズムすり替え攻撃は通りません。ストアフロントのトークンとパートナーパネルのトークンは、audience によって分離されています:エンドユーザーのトークンが技術的にパートナーAPIに到達することはできません(逆も同様です)。削除されたパートナーは、有効なトークンを持っていても拒否されます。

留保:失効は、トークン自体を無効化するのではなく、リクエストごとにパートナーが存在するかを確認することで実装されています。サインアウトは cookie を削除しますが、発行済みのトークンは有効期限(最大1時間)まで暗号学的には有効なままです。中央集権的な失効リストはまだありません(意図的なMVPの簡略化です)。

SR-14トークンや秘密情報がブラウザに漏れることはありません。検証済み+

ブラウザのローカルストレージにトークンはありません(UI設定のみ)。秘密情報やAPIのアドレスがクライアントのバンドルに入り込むこともありません。トークンを HttpOnly cookie に置くのはサーバー(Next.js)だけです。ブラウザはサーバー(Server Actions)を介してのみコアと通信します:フロントエンドがブラウザから直接APIを呼ぶことはなく、CORSは、他のオリジンからのAPIレスポンスをブラウザが読み取ることを許可しません。

かつての絶対的な表現に代わる補足:APIドメイン自体は公開ホストです — 技術的にはブラウザから開けますが、セッションがなければ認可されたデータは一切返しません。

SR-15プラットフォームの公開ドメインは、厳格なセキュリティヘッダーを備えた HTTPS を使用しています。検証済み+

CreateYourVPN の公開ドメインは、HSTS(max-age は2年、includeSubDomains)付きの HTTPS で配信されます。ウェブフロントエンドと API ドメインのいずれも、厳格なセキュリティヘッダー一式を送信します。すなわち、制限的な Content-Security-Policy、X-Content-Type-Options: nosniff、X-Frame-Options、そして固く絞り込んだ Referrer-Policy です(API では no-referrer、フロントエンドでは strict-origin-when-cross-origin。フロントエンドは制限的な Permissions-Policy も送信します)。

これは両ドメインで本番稼働しており、独立して検証できます——任意の HTTP ヘッダー検査ツールや、SSL Labs のようなサービスで確認できます。

リスクについて正直に(当社が約束しないこと)

リスクについて正直に(当社が約束しないこと)

このセクションのないレポートはマーケティングです。以下が現実の限界です:

01鍵の集中管理 — 多層的な保護のもとで。

管理パネルは、サーバー群全体への暗号化されたアクセス鍵を保管しています。これは当然ながらシステムの中で最も機微なコンポーネントであり、私たちはそれにふさわしい形で保護しています。

何が守っているか: 重要な機密情報はデータベース内に暗号文としてのみ存在し、暗号化鍵(KEK)はデータベースとは別に保管され、鍵がブラウザーに渡ることは決してなく、サーバー削除時にはゼロ化されます。サブスクリプショントークンにはさらに一層の保護があり——ハッシュ照合(hash lookup)に加えて AES-GCM——そのため、KEK を伴わないデータベースのダンプには、機能する /sub リンクは一切含まれません。

正直に言える限界: 暗号化は、データベースそのもの——バックアップ、レプリカ、ダンプ——の盗難に対しては確実に保護します。しかし、KEK とデータベースが単一のプロセスから利用可能なパネルホスト自体が完全に侵害されるリスクを取り除くものではありません。だからこそ、私たちの防御の主眼は、まさにホストの乗っ取りを許さないことにあります——隔離、自動セキュリティ更新、そして最小限の露出面です。

専用の KMS/HSM は、今後のセキュリティリリースのいずれかで導入されます。

02初回接続におけるMan-in-the-Middle攻撃(MITM)のリスクは、実質的にゼロにまで抑えられています。

サーバーを追加すると、私たちは、あなたが入力する一時的なパスワードを使って、ちょうど一度だけそのサーバーに接続します。Man-in-the-Middle攻撃(MITM)が理論的に成立しうるのは、まさにこの最初の接続においてです。私たちは複数の独立した対策によってこれを無力化しており、実務上のリスクはゼロにまで抑えられています。

パスワードは使い捨てです。ちょうど一度の接続のためだけに使われ、私たちの側のどこにも保存されず、二度と再利用されません。秘密鍵がネットワーク上を送信されることは一切なく、以降の認証はパスワードではなく鍵ペア(公開鍵認証、pubkey)に基づきます。

セットアップ直後に、サーバー上ではパスワード認証と root ログインが無効化され、SSH ポートが変更され、アクセスは鍵のみに切り替えられます。この時点以降は、たとえパスワードを傍受されても、もう何も開くことはできません。

以降の管理接続はすべて、ピン留めされたサーバーのフィンガープリント(ホスト鍵ピンニング)を検証します。「中間」で差し替えられたサーバーは拒否されます。

結果として、傍受が可能なのは、初期インストールのわずか数秒のあいだに、私たちとサーバーのあいだのネットワーク経路上に物理的に存在する攻撃者に限られます。そしてその極端な場合でさえ、傍受されたデータは直ちに無効化されます。

03サーバーへの物理的アクセスは、あなたの VPS ホスト側にあります。

これは当社に限らず、レンタルサーバー全般に共通する性質です。スナップショットやレスキューモードなどはプロバイダーが利用でき、どんなソフトウェアもそれを防げません。その一方で、信頼できるプロバイダーを選ぶことはあなたの手に委ねられており、サーバーは完全にあなたのものです——ホストはいつでも変更でき、マシンはいつでも削除できます。

04未知の脆弱性(0-day)は常に存在します。

絶対的な保護を約束できる者はいません——新たな脆弱性はあらゆるソフトウェアに現れます。当社が行うこと: セキュリティ更新は自動的に適用され、再起動を要する修正(カーネル、ときに OpenSSH)は、手動か予定かを問わず、再起動後に適用されます(SR-11 をご覧ください)。

05メールは保存されます——最小限に、機能上の必要に応じて。

ログイン用のあなたのメールと、いくつかの業務上のケースでのエンドユーザーのメールです(SR-6 をご覧ください)。必要な期間だけ保持され、自動的に消去されます(リスク9をご覧ください)。

06ログインはメールコードで行います——独立した 2FA はまだありません。

ログインはメールで届く使い捨てコードに依拠しているため、あなたのメールボックスが事実上アカウントの鍵になります——しっかり保護する価値があります。第二要素はまだありません。現段階では妥当ですが、知っておく価値はあります。

07データは限られた期間だけ保持され、自動的に消去されます。

個人データは、処理に必要なあいだだけ保持し、その後は自動的に消去します。メールはメッセージの送信が完了するとすぐにキューから削除され、成功した支払いイベントの生データは処理が済むとすぐに削除されます。

より長く残るものは一つだけです。再試行または手動確認を待っている支払いイベントです。その元データは無期限にではなく、無操作のまま90日間の期限が終わるまで保持され、その後は個人データが自動的に消去されます。

インターフェース上のセルフサービス型「自分のデータを削除する」機能はまだありません——予定はしています。それまでのあいだは、サポートにご連絡いただくことで、アカウントと関連データをまとめて削除できます。

08サブスクリプショントークンは失効しません。

/sub リンクは、手動での失効またはユーザー削除まで、永続的なベアラートークンです。自動失効やローテーションはありません(漏洩したリンクは有効なままです)。

09ユーザーのバックアップは、データをサーバーの外へ持ち出します。

Google Drive や S3 へのバックアップのエクスポートを有効にすると、ユーザーデータはあなたのサーバーの外へ出ていき、その保護は以後あなたのクラウド次第となります——本レポートはそれを個別には扱いません。これはあなた自身の意識的な選択です。この機能は、あなた自身が有効化するものです。

当社の言葉を鵜呑みにしないで

これを検証する方法。

上記の各主張は公開の賭けです。当社が誤っていた箇所や誇張していた箇所を見つけ出すよう、あなたを招待します:

トラックA

トラックA — 古典的な脆弱性(RCE、認可バイパス、IDOR、漏洩など)。

トラックB

トラックB — 本レポートの反証:いずれかのSR-Nが虚偽であることを証明すれば、報奨金を得られ、当社は訂正を公に公開します。

何か見つけましたか?

再現可能な概念実証(PoC)を添えてご連絡ください。72時間以内に応答し、トリアージは社内で行います。

security@createyourvpn.com/.well-known/security.txt · 90日間の非公開 · セーフハーバー