1.
合規背景與評估目標
- 目標:確認站群伺服器(VPS/主機/域名/CDN)日誌管理是否符合台灣個人資料保護法(PDPA)。
- 法規要求:原則為「特定、正當、必要」,不得無限期保存個人識別資料。
- 技術對應:日誌最小化、存取控制、加密傳輸與儲存、可稽核性與刪除流程。
- 範圍:含Web access log、auth log、系統事件、CDN與DDoS防禦器日誌。
- 評估指標:資料類別、保留期(天)、是否脫敏、傳輸/存儲是否加密、存取紀錄。
2.
日誌分類、風險與最小化策略
- 分類:1) 訪問日誌(HTTP access)、2) 驗證日誌(auth/ssh)、3) 應用日誌(含參數)、4) CDN/防護日誌、5) 系統事件。
- 風險:URL query、Cookie、Referer可能含個資(email、token、身分證字號片段)。
- 最小化:移除或遮罩Query String中敏感欄位,僅記錄必要欄位(method、status、size、timing)。
- 建議保留期:訪問日誌 90 天、驗證日誌 365 天(法律或資安事件另行延長)、CDN日誌 30-90 天。
- 合法依據:如非為訴訟或調查所需,應設定自動刪除機制與稽核紀錄。
3.
日誌存量與存儲設計(含數據示範表)
- 假設:每日請求量 100,000 次,平均每條 access_log 200 bytes。
- 計算:100,000 * 200B = 20,000,000 B ≈ 19.07 MB/日。30 天約 572 MB。
- 建議:使用RAID1/10或分散式物件存儲(S3 類)並啟用伺服器端加密。
- 備份:重要稽核日誌同步至冷存儲(加密)並保留最少稽核鏈。
- 下表示例:日誌類型、日增量、90天需求。表格以窄邊框居中顯示,文字置中。
| 日誌類型 |
日增量 |
90天需求 |
| Access Log |
~19 MB |
~1.7 GB |
| Auth Log |
~5 MB |
~450 MB |
| CDN 日誌 |
~50 MB |
~4.5 GB |
4.
日誌蒐集與脫敏實作範例(Nginx / rsyslog)
- Nginx 建議:自訂 log_format,不記錄 query 中敏感參數。
- 範例 log_format(示意):log_format minimal '$remote_addr $time_local "$request" $status $body_bytes_sent $request_time';
- 若需IP匿名化:在log pipeline中hash或截斷,例如只保存IPv4前三段(192.0.2.x)。
- rsyslog 傳輸:採用 TLS 傳輸至集中式日誌伺服器,並在接收端啟用磁碟加密。
- 自動化:使用logrotate與aws s3 lifecycle或object storage policy實現到期刪除。
5.
傳輸、存取控制與DDoS防禦整合
- 傳輸:所有日誌在網路傳輸時使用TLS 1.2+,內網使用mTLS或IP白名單。
- 存取控制:採用最小授權原則,使用IAM角色與Key Rotation,保留存取日誌(誰何時下載)。
- DDoS:整合CDN(如Anycast + Scrubbing)與邊緣rate-limit,Nginx範例:limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;。
- 防護日誌:CDN廠商提供的攻擊報告應與SIEM串接,做自動化告警與封鎖策略。
- 回應機制:建立IR playbook,明確列出日誌保存、保全與封存步驟,並在事件後保留對應時間窗口。
6.
實務案例(匿名)與合規稽核清單
- 事件概述:某台灣電商站群(匿名)因集中式S3 bucket 權限誤設,公開了包含部分email與token的access logs,影響約12,000筆紀錄。
- 問題根源:日誌未脫敏、S3未啟用Server-Side Encryption、未限制列出與下載權限。
- 改善措施:立即封存公開檔案、重設權限、對受影響 users 通知並展開鉅細修復、建立自動化權限掃描與加密政策。
- 稽核清單(簡要):1) 是否有日誌分類與保留政策?2) 是否脫敏敏感欄位?3) 傳輸/存儲是否加密?4) 存取是否有稽核?5) DDoS/防護日誌是否整合SIEM?
- 結論:從合規角度,原生站群需在日誌設計階段即將個資風險降至最低,並結合技術(脫敏、加密、權限控管)與流程(自動刪除、事件通報)以符合PDPA與資安最佳實務。
来源:从合规角度评估台湾原生站群服务器日志管理与个人信息保护措施