安全報告 · 版本 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 次失敗後封鎖一小時),僅允許金鑰登入。公鑰在使用前會被嚴格驗證:包含換行符的(防止把額外的金鑰塞進 authorized_keys)以及語法無效的金鑰都會被拒絕。

防鎖死機制:在核心(透過 ss)確認新的 SSH 連接埠確實處於監聽狀態之前,連接埠 22 不會被關閉;設定會用 sshd -t 檢查,sudo 規則會用 visudo -cf 檢查,兩者出錯時都會回復。

SR-3管理金鑰僅以加密形式儲存。已核實+

面板使用的不是你的密碼,而是它自己產生的一把獨立金鑰(ed25519)。私鑰部分以 AES-256-GCM 加密後存放在資料庫中。加密金鑰(KEK)與資料庫分開儲存——存放在伺服器環境變數中——並且在生產環境中是強制性的(不存在不安全的預設值:沒有 KEK,加密子系統根本不會啟動)。同一套加密還保護著資料庫中的重要機密——Marzban 管理員密碼/權杖/JWT、Reality 金鑰、支付供應商金鑰、代理憑證快取、備份設定。

加密不僅隱藏資料,還對資料進行認證(GCM 認證標籤):對加密欄位的竄改會在解密時被偵測到並拒絕。每個欄位都用一個全新的隨機 nonce 加密;KEK 的值從不進入日誌——只有它的短 id。

關於能力權杖:/sub 訂閱權杖是一個 bearer 祕密。為便於查找,我們只儲存它的 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 是伺服器從已簽署的登入權杖中推導出來的——而不是取自用戶端在路徑或請求主體中傳送的內容。在傳回或變更任何內容之前,系統會重新檢查所請求的伺服器、叢集、inbound、路由、VPN 使用者或支付是否屬於你的帳戶;相應的資料庫查詢會按你的 partner_id 限定範圍,而資料庫結構(複合唯一鍵加複合外來鍵)會拒絕無效的跨合作夥伴關聯。隔離是分層的:應用層、用例層的重新檢查、一個 partner_id 篩選條件,以及資料庫結構。

坦誠的保留說明:這是透過對請求路徑的程式碼稽核來驗證的,而不是透過公開的滲透測試——所以 SR-16 和其餘各條一樣,都可以在漏洞懸賞中被反駁。

坦誠說說面板的存取權限——它是完整的管理員權限,而非「受限」權限。坦誠說明+

為了自動設定一切(安裝 Xray+Reality、套用設定、讀取指標),面板在伺服器上擁有完整的管理權限(等同 root,透過一個具備免密碼 sudo 的服務使用者實現)。這對管理是必要的,我們絕不會把它稱作「受限」。

有哪些因素降低了風險:機密只透過行程的 stdin 傳給伺服器(而不是作為指令參數——它們不會出現在行程清單中);在首次安裝之後,每一次管理連線都會驗證伺服器已固定的主機金鑰(host key)——「中途」替換伺服器會被拒絕。你能掌控的:存取權建立在一把你隨時可以撤銷的金鑰之上——透過刪除伺服器(金鑰會被歸零),或者乾脆在你的主機商處刪除該 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 路由器工作,並不解密流量。在伺服器本身上,系統日誌(journal)的保留時間不超過大約一小時,且不會轉發到 syslog。

除了平台層面之外,伺服器同樣不保留造訪日誌:每次推送設定時都會強制關閉 Xray 的存取日誌(平台會將 log.access 設為 none),因此邊緣代理不會記錄使用者連線到哪些位址。這一點在程式碼中被強制執行,並已推送到整個伺服器群。

SR-8Web 分析用的是 Google Analytics;沒有其他追蹤器。已核實+

為了了解網站和面板的使用情況,我們使用 Google Analytics(cookie 橫幅會就 cookie 和統計資料的收集作出提示;詳情見隱私政策)。沒有其他第三方追蹤器:沒有 Sentry、PostHog、Mixpanel,也沒有廣告像素(透過搜尋兩個前端程式碼已核實)。後端完全沒有任何第三方遙測。面向最終使用者的商店則完全不受分析工具涵蓋——沒有 GA,也沒有追蹤器(可從其原始碼核實)。

保留說明:GA 會收到你的 IP(在 Google 一側)以及所瀏覽面板頁面的位址;面板 URL 只包含一個叢集識別碼,而不包含電子郵件。

SR-9支付由外部處理——我們不會收到完整的卡號。已核實+

支付及所有卡片資料都在供應商一側處理(Tribute / Lemon Squeezy)。我們只收到一個已簽署的 webhook(HMAC-SHA256,固定時間比較,在解析請求主體之前、以及在任何資料庫寫入之前就已驗證:不知道祕密的話,事件無法通過驗證)。我們不會收到完整的卡號(PAN)或 CVV。同一個 webhook 的重複投遞(供應商重試)不會導致重複發放權益——事件會被去除重複。

保留說明:供應商可能會在 webhook 請求主體中包含卡片中繼資料(卡片品牌和末 4 碼)以及付款人的姓名和電子郵件。工作行程在處理完成之前需要用到原始請求主體;處理成功後,它會連同電子郵件提示一起被刪除。等待重試或人工審核的事件只會將原始請求主體保留到留存期結束(90 天無活動),之後卡片中繼資料和付款人的電子郵件會被自動清除。「沒有完整卡號」是真的,但那是供應商的特性(我們自己並不過濾請求主體);「我們對卡片一無所知」則不然。

坦誠說明我們儲存了關於你(合作夥伴)的哪些資訊。坦誠說明+

電子郵件(登入所需)、上次登入時間、介面模式;用於計費的——餘額和 Telegram(用於儲值)。合作夥伴的 IP 不會儲存在資料庫中,我們也不保留面板中的點擊或操作歷史(除了出錯時的一小段存取日誌)。

03 · 伺服器強化

伺服器強化

SR-10防火牆拒絕一切,除了必需的部分。已核實+

防火牆預設拒絕傳入連線。對外開放的有:443(VPN,Xray+Reality)、位於非標準連接埠的 SSH(預設 12011),以及——在主伺服器上——Marzban 管理面板連接埠,且僅對控制平面的 IP 開放。連接埠 80 只在 Let's Encrypt 模式下為了 HTTP-01 才單獨開放。SSH 遷移之後,連接埠 22 會被關閉。

節點的管理連接埠只對主伺服器的 IP 開放,而不對外開放(該綁定若失敗,會中止安裝)。如果防火牆沒有生效,安裝就會失敗。ICMP echo 僅對 IPv4 做了限制;我們不承諾伺服器是「隱形的」,而且 IPv6 的 ICMP 會被保留,以便 IPv6 正常運作。

SR-11自動安全更新。已核實+

無人值守升級(unattended upgrades)會自動安裝安全性套件更新。保留說明:自動重新開機被有意停用(這樣未經驗證的核心就不會自行重新開機)——這意味著需要重新開機才能生效的修復(核心,有時是 OpenSSH)只有在手動或排程重新開機之後才會套用。「自動修補」對使用者空間(userland)而言是真的,但對需要重新開機的部分則不然。

坦誠談談「隱形」——我們並不這樣宣稱。坦誠說明+

我們絕不宣稱伺服器是「隱形的」或「無法被掃描」。連接埠 443 是開放的,會像任何 Web 伺服器一樣回應 TCP 連線。「在不正確的連線下它看起來像一個普通的、無關的網站」這一特性,是由 Xray 內部的 Reality 協定提供的——那是一個我們不會將其絕對化的獨立元件。

04 · 平台(控制面板)

平台(控制面板)

SR-12無需密碼即可登入你的 CreateYourVPN 帳戶。已核實+

合作夥伴登入使用寄送到電子郵件的一次性 6 位數驗證碼。帳戶沒有密碼。這不適用於被管理元件的內部憑證,例如自動產生的 Marzban 管理員密碼。驗證碼由密碼學產生器產生;只儲存其 HMAC 雜湊,且比較採用固定時間。驗證碼是一次性的:成功後會被立即刪除(不可重放);5 次錯誤嘗試之後會被提前作廢。簽發的速率限制按電子郵件計數,而非按 IP——無法透過更換位址來繞過。

SR-13工作階段受到保護。已核實+

工作階段權杖存放在一個 HttpOnly 且 Secure 的 cookie 中(JS 無法讀取它),並在後端驗證(不只是在邊緣)。閒置逾時和無操作時的自動登出是在用戶端實現的,而不是在伺服器上。權杖用 HS256 簽署;驗證時我們會嚴格拒絕任何其他演算法(包括「none」)——經典的演算法替換攻擊無法通過。商店權杖與合作夥伴面板權杖按對象(audience)區分:一個最終使用者權杖在技術上無法到達合作夥伴 API(反之亦然)。即便持有一個仍然有效的權杖,已被刪除的合作夥伴也會被拒絕。

保留說明:撤銷是透過在每次請求時檢查合作夥伴是否存在來實現的,而不是透過使權杖本身失效;登出會刪除 cookie,但已簽發的權杖在密碼學上仍然有效,直到過期(最多一小時)。目前還沒有集中式的撤銷清單(一種有意識的 MVP 簡化)。

SR-14權杖和機密不會洩漏到瀏覽器中。已核實+

瀏覽器的本機儲存中沒有任何權杖(只有 UI 設定);沒有任何機密或 API 位址進入用戶端打包產物。只有伺服器(Next.js)會把權杖放進一個 HttpOnly cookie。瀏覽器只透過伺服器(Server Actions)與核心通訊:前端不會從瀏覽器直接呼叫 API,而且 CORS 不允許瀏覽器讀取來自其他來源的 API 回應。

用一處澄清替代先前的絕對說法:API 網域本身是一個公開主機——從技術上你可以在瀏覽器中開啟它,但沒有工作階段它不會傳回任何需要授權的資料。

SR-15平台的公開網域使用 HTTPS,並配有嚴格的安全標頭。已核實+

CreateYourVPN 的公開網域透過帶 HSTS 的 HTTPS 提供服務(max-age 為兩年,includeSubDomains)。網頁前端與 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 連接埠,並將存取方式切換為僅限金鑰。從這一刻起,即使密碼遭到攔截,也再也打不開任何東西。

此後每一次管理連線都會核驗伺服器已固定的指紋(主機金鑰固定,host-key pinning)——被「從中」替換的伺服器會被拒絕。

因此,只有在最初安裝的那幾秒鐘內、實際處於我們與伺服器之間網路路徑上的攻擊者,才可能實施攔截——即使在這種極端情形下,被攔截的資料也會立即失效。

03對伺服器的實體存取權掌握在您的 VPS 主機商手中。

這是任何租用伺服器的固有特性,並非只有我們如此:快照、救援(rescue)模式之類的功能對服務商是可用的,沒有任何軟體能加以防護。另一方面,選擇一家值得信賴的服務商掌握在您手中,而伺服器完全屬於您——您可以隨時更換主機商或刪除這台機器。

04未知漏洞(0-day)始終存在。

沒有人能承諾絕對的防護——所有軟體都會出現新漏洞。我們的做法:安全更新會自動安裝,而需要重新開機才能生效的修復(核心,有時是 OpenSSH)會在重新開機之後套用——無論是手動還是排程重新開機(見 SR-11)。

05電子郵件會被儲存——出於功能且保持最小化。

用於登入的您的電子郵件,以及在少數服務情境中終端使用者的電子郵件(見 SR-6)。僅在必要時長內保留,並會自動清除(見風險 9)。

06登入採用郵件驗證碼——暫無獨立的 2FA。

由於登入依賴郵件中的一次性驗證碼,您的信箱實際上就是帳戶的鑰匙——值得好好保護。第二因素暫時還沒有:在目前階段這是合理的,但值得了解。

07資料僅保留有限時間,並會自動清除。

我們只在某項作業需要期間保留個人資料,之後便會自動清除。電子郵件在訊息傳送完成後即從佇列中移除,而一次成功付款事件的原始內容則在處理完成後即被移除。

只有一樣東西留存更久:正等待重試或人工審核的付款事件。它們的原始內容並非無限期保留,而是保留到一個無活動的 90 天期間結束為止,此後個人資料會被自動清零。

介面中自助式的「刪除我的資料」功能目前尚未提供——該功能已在計畫之中。在此之前,您可以透過聯絡支援來刪除自己的帳戶及其相關資料。

08訂閱權杖不會過期。

在手動撤銷或刪除使用者之前,一個 /sub 連結就是一個永久的 bearer 權杖;沒有自動過期或輪換(一個洩漏的連結會一直有效)。

09使用者備份會將資料匯出到您的伺服器之外。

如果您啟用了向 Google Drive 或 S3 匯出備份,使用者資料便會離開您的伺服器,此後對它的保護就取決於您的雲端——本報告不對其單獨涵蓋。這是您有意識的選擇:該功能由您自己開啟。

別只聽我們說

如何核實這一切。

上面每一條主張都是一次公開的下注。我們邀請你找出我們哪裡說錯了或有所美化:

賽道 A

賽道 A——經典漏洞(RCE、授權繞過、IDOR、資訊洩漏等等)。

賽道 B

賽道 B——反駁這份報告:證明任何一條 SR-N 是錯誤的,即可獲得獎勵,我們也會公開發布更正。

有所發現?

帶上可重現的概念驗證寫信給我們。我們會在 72 小時內回覆,並在內部分級評估。

security@createyourvpn.com/.well-known/security.txt · 90 天保密 · 安全港