資訊安全政策與做法
這一頁公開瑪尼國際目前實際在做的資安措施,以及還在規劃中的項目。每一項都寫得夠具體,讓您可以自己驗證——包括我們還沒做到的部分。
資安說明最常見的問題,是把「業界標準」「多層防護」「全方位監控」這類詞堆在一起,讀完之後你其實不知道對方做了什麼。這一頁反過來寫:每一條都寫得夠具體,讓您可以自己去驗證。頁面下方另有一節,把「已經在做的安全測試」與「還在規劃中的項目」一起攤開。
一、傳輸與瀏覽器層的防護
這一組措施是任何人都可以自己驗證的——用瀏覽器開發者工具看回應標頭,或用線上的標頭檢測服務掃 mani.tw 就能看到。
| 項目 | 目前設定 | 作用 |
|---|---|---|
| HTTPS | 全站強制轉址 | 連線內容不以明文傳輸 |
| HSTS | max-age=31536000; includeSubDomains; preload | 瀏覽器記住只走 HTTPS,降低降級攻擊 |
| Content-Security-Policy | frame-ancestors 'self'; base-uri 'self'; form-action 'self'; object-src 'none' | 防點擊劫持、防注入 base 標籤、防表單被導去外部網站 |
| X-Frame-Options | SAMEORIGIN | 不允許被外部網站以 iframe 包起來 |
| X-Content-Type-Options | nosniff | 瀏覽器不自行猜測檔案型別 |
| Referrer-Policy | strict-origin-when-cross-origin | 跨站連結不外洩完整網址 |
| Permissions-Policy | 停用相機、麥克風、定位、付款、USB | 本站不需要這些權限,一律關閉 |
| Session cookie | Secure; HttpOnly; SameSite=Lax | 不走明文連線、JavaScript 讀不到、跨站請求不帶 |
關於 CSP 我們要說清楚一件事:目前的 CSP 只包含四個指令,沒有 script-src 與 style-src。原因是站上仍有內嵌的 script 與 style,若要加上這兩個指令就必須開放 'unsafe-inline'——那樣的 CSP 對 XSS 幾乎沒有實際防護力,只是讓檢測工具的分數變好看。我們選擇先誠實標示現況,把內嵌程式碼外部化列入改善項目,而不是先掛一個看起來完整的設定。
二、對外表單的防護
網站上會接收外部輸入的地方只有兩個:線上諮詢表單與主機訂購單。兩者共用同一組防護元件,依「誤擋機率由低到高」排序,逐層檢查:
五道防線
- CSRF token:以
random_bytes(32)產生、用hash_equals()做常數時間比對,通過後立即換發新 token,同一個 token 不能重複使用。 - 蜜罐欄位:一個人類看不到的輸入框。自動化程式通常會把所有欄位填滿,有值即判定為機器人。
- 填寫停留時間:低於 3 秒視為機器人;超過 3 小時視為頁面逾時,要求重新送出。
- 頻率限制:同一來源位址每小時最多 5 次。紀錄以雜湊後的位址為檔名、存放於網站目錄之外。
- 欄位長度上限:單一欄位超過 2000 字元即拒絕,避免超大請求。
來源位址一律取自連線本身(REMOTE_ADDR),不採信 X-Forwarded-For 這類用戶端可自行填寫的標頭——採信它等於讓人每次換一個假位址就能繞過頻率限制。
三、資料處理與程式面
- 網站前台不連接資料庫。所有頁面均為靜態內容或設定檔驅動,沒有任何 SQL 查詢,因此不存在 SQL Injection 的攻擊面。
- 沒有檔案上傳功能。網站不接受任何形式的檔案上傳。
- 不以表單收集密碼。任何情況下都不會請您在網頁表單填寫既有主機、網域或第三方服務的密碼。
- 使用者輸入寫進通知信件前一律做 HTML 逸出,避免有人藉由表單往我們的信箱注入連結或版面內容。
- 信件以本機 SMTP 投遞,寄件者為固定位址、回覆位址先驗證格式,避免郵件標頭被注入。
- 備份檔不放在網站目錄內。伺服器設定同時封鎖
.bak、.old、.sql、.log等副檔名(含帶日期後綴的變體)的直接存取。 - 目錄列表關閉,程式內部引用的檔案禁止以網址直接開啟。
- PHP 維持在原廠仍支援的版本,並且不對外公告版本號。
四、主機與機房環境
- 中華電信光纖線路,不鎖頻寬
- UPS 不斷電系統與發電機備援
- 精密空調恆溫恆濕
- 氣體滅火設備(不使用會毀損設備的水式消防)
- 24 小時機房監控與門禁管制
- 應用層之前配置 WAF
WAF 值得補充一句:它會擋掉常見的攻擊特徵,但不是萬用的。我們實際測試過——同樣是嘗試注入的內容,有些會被擋在應用程式之前,有些會通過。這正是為什麼程式本身的輸入處理不能省,把 WAF 當成唯一防線是危險的。
五、安全測試與國際認證:現況與規劃
先講清楚一件事:ISO 27001、SOC 2 這類國際認證,是為大型組織與跨國企業設計的稽核制度,取得需要第三方稽核、成本與週期都高,絕大多數台灣中小型主機商並未持有——沒有它,不代表防護不足。我們的做法是:先把可以立即驗證的實質防護做到位(見前四節),再依實際需求逐步取得外部文件。下表把「已經在做的」與「還沒做的」都攤開,不用模糊說法帶過。
| 項目 | 現況 | 規劃 |
|---|---|---|
| 應用層弱點掃描 | ✅ 已自行以 OWASP ZAP 執行應用層弱點掃描 | 建立每季固定掃描週期 |
| 對外暴露面檢查 | ✅ 已自行以 Nmap 檢查對外連接埠與服務;資料庫(MySQL)僅在本機監聽、不對外開放 | 納入定期檢查 |
| 第三方獨立滲透測試 | 尚未進行(自主測試不等於獨立第三方) | 視標案與客戶需求,啟動範圍限定的第三方測試並公布證明函 |
| ISO 27001 / SOC 2 | 未取得 | 視客戶與標案需求評估 |
| 完整內容安全政策(CSP) | ✅ 基礎版已上線(frame-ancestors、base-uri、form-action、object-src) | 將內嵌程式碼外部化後,補上 script-src/style-src |
我們刻意把「自己測」和「第三方測」分開寫,因為兩者意義不同:自主測試(如 OWASP ZAP、Nmap)是我們日常維運的一部分;第三方獨立滲透測試則由外部單位執行、出具報告,證明力更強。在取得任何第三方文件之前,本頁不會出現相關字樣。這樣您看到的每一個「✅」,都是現在就能驗證的狀態。
六、漏洞回報
如果您發現本站或本公司主機服務的安全問題,歡迎直接告訴我們。我們不會對善意通報的研究人員採取法律行動。
通報方式
- 電子郵件:mani@mani.com.tw
- 免付費專線:0800-670000
- 機器可讀的聯絡資訊(RFC 9116):/.well-known/security.txt
請在通報中包含
- 受影響的網址或功能
- 重現步驟
- 您觀察到的實際影響
我們的承諾
- 收到後回覆確認,並在處理過程中告知進度
- 修補完成後告知結果
- 若您願意具名,可在本頁致謝
請不要這樣做
- 對正式服務進行阻斷(DoS)或壓力測試
- 大量自動化掃描,影響其他客戶的服務品質
- 存取、下載、修改或刪除任何不屬於您的資料
- 在我們完成修補前公開細節
七、資安事故的通報方式
若發生影響客戶資料或服務的事故,在確認事故性質與影響範圍後,我們會主動聯絡受影響的客戶,說明:發生了什麼事、可能影響哪些資料或服務、我們已採取的措施,以及需要您配合的動作(例如更換密碼)。聯絡方式以合約上的聯絡人為準,緊急狀況會直接電話聯繫;事故處理完成後提供書面說明。
八、本文件的維護
本頁描述的是撰寫當下實際運作中的狀態,不是目標或計畫。每半年複審一次,內容若與實際狀況不符即為錯誤,歡迎透過上方的回報管道指正。文件版本與生效日期標示於頁首。
需要書面版本供採購或稽核使用,可直接以瀏覽器列印本頁(版面已針對列印調整,會一併輸出版本號、生效日期與核准欄位),或來電索取。