1. 概述與風險評估
1) 目標說明:針對虾皮臺灣站賣家與商店後端伺服器進行安全加固,降低資料外洩與帳號被盜風險。
2) 風險分類:外網入侵、弱口令、未打補丁、應用漏洞、DDoS攻擊與域名劫持。
3) 影響範圍:交易資料、用戶個資、API金鑰與支付憑證等高度敏感資訊。
4) 評估頻率:建議每月自動掃描,季度滲透測試與重大變更後即時複檢。
5) 指標設定:SLA可用性≥99.9%,MTTR(平均恢復時間)≤2小時,偵測時間≤15分鐘。
2. 基礎系統加固(SSH、帳號與權限)
1) SSH:禁用root直接登入,使用非標準埠(例如2222),啟用公鑰認證並關閉密碼驗證。
2) 帳號管理:採用最小權限原則,使用sudo群組與定期審計sudoers檔案。
3) 多因素認證:對管理控制台與SSH跳板伺服器啟用2FA(如Google Authenticator或YubiKey)。
4) 密碼政策:密碼長度≥12、複雜度與定期強制更換;禁用舊憑證。
5) 自動封鎖:部署fail2ban或CrowdSec,對多次失敗登入IP進行封鎖與通知。
3. 網路層與內核參數優化(防止掃描與資源耗盡)
1) 防火牆:使用UFW或iptables限制外部流量僅開放必要埠(80/443、API埠、管理埠)。
2) sysctl最佳化:例如 net.ipv4.tcp_syncookies=1、net.ipv4.ip_forward=0、net.ipv4.tcp_fin_timeout=15。
3) 節流與連線限制:nginx limit_conn、limit_req與TCP backlog調整以防SYN洪水。
4) 範例配置:在/etc/sysctl.conf加入上述參數並執行sysctl -p套用。
5) 監控門檻:設定連線數告警(例如每秒新連線>1000發出告警),並自動擴容或切換CDN。
4. CDN、WAF與DDoS防禦實務
1) CDN:使用Cloudflare或Akamai在全球邊緣緩存靜態資源,減少源站負載與暴露面。
2) WAF規則:啟用OWASP CRS、SQLi/XSS過濾與自訂規則保護API端點。
3) DDoS策略:啟用速率限制、IP黑白名單與動態挑戰頁(Captcha)以抵禦應用層攻擊。
4) 緊急流程:設定流量閥值(例如每秒請求>50,000)自動切換到「高防」模組並通知SOC。
5) 實際數據:用CDN前置後,平均來源伺服器帶寬減少約85%,HTTP請求延遲降低40%。
5. 日誌、備份與檢測(包含真實案例)
1) 日誌集中:使用ELK或Graylog集中收集SSH、nginx、應用與系統日誌。
2) 備份策略:採用每日全量+每小時增量,異地保存90天,並定期演練還原。
3) 真實案例:某臺灣賣家因管理員重複使用密碼,遭到第三方爆破,導致未授權訂單與資料外洩;採用上述日誌與多因素後,後續攻擊被即時攔截。
4) 入侵偵測:部署OSSEC或Wazuh,檢測可疑權限變更與資料外流行為。
5) 稽核與報表:每月產生安全報表並關鍵事件24小時內通報管理者。
6. 實例配置與數據展示
1) 實體/虛擬機範例:VPS配置示例 — 4 vCPU / 8GB RAM / 100GB NVMe / Ubuntu 20.04 / kernel 5.4。
2) 軟體版本:nginx 1.18、PostgreSQL 12、OpenSSH 8.2、fail2ban 0.11。
3) 安全參數:SSH Port=2222、PermitRootLogin=no、PasswordAuthentication=no。
4) 備援方案:主伺服器與熱備伺服器透過Keepalived實作VRRP自動切換。
5) 配置比較表如下示範:
| 項目 | 未加固(示例) | 加固後(示例) |
| CPU | 2 vCPU | 4 vCPU |
| 記憶體 | 4 GB | 8 GB |
| 帶寬利用 | 峰值 200 Mbps | 峰值 30 Mbps(CDN緩存) |
| 可用性 | 99.5% | 99.95% |
| 備份保留 | 7 天 | 90 天 |
来源:虾皮台湾站服务器安全加固指南防止数据泄露与账号被盗风险