首頁
文章
隱私
  • 繁體中文
  • 简体中文
首頁
文章
隱私
  • 繁體中文
  • 简体中文

雲端主機部署安全原則

服務器硬件實體建置安全部署 例如:安全組限制訪問,端口轉發限制,僅允許外網訪問 Nginx 主機 IP,SSL 憑證配置

服務安裝配置安全原則

服務器數字資源訪問安全設置(基於 IP 與基於用戶角色的權限控制) Nginx 啟用 ModSecurity 建構 WAF Keepalived 搭配 Nginx 實現雙機高可用,防止單點故障 例如:數據庫的IP Binding。防火牆配置( ufw 在數據庫服務器,以及反向代理場景的不同配置)

數據庫安全原則

  • 用戶密碼以單向哈西值存儲
  • 數據庫 root 權限僅局限於內網本地訪問
  • 數據庫副本備份

RESTful API安全

https://blog.techbridge.cc/2017/02/25/csrf-introduction/

  • 不對外開放不安全的 API 訪問權限
  • 使用 HTTPS 加密傳輸
  • OAuth 認證
  • 使用者提交內容過濾 ( XSS 攻擊,SQL 注入攻擊)
  • 限制請求併發數,以及限制用戶訪問請求的頻率( DDoS 攻擊)
  • 高度敏感性資訊訪問加上簡訊驗證碼
  • 採用 Double Submit Cookie 比對表單 csrftoken ( CSRF 攻擊)
  • 重要ID不透明處理,如採用 UUID ( Path traversal 攻擊 )

OAuth安全原則

https://www.oauth.com/oauth2-servers/scope/defining-scopes/

  • redirect_uri 全路徑驗證
  • 狀態參數 state 隨時銷毀
  • 獲取訪問 token 時,驗證 client_secret
  • 回調 url 進行跳轉校驗 ( CSRF 攻擊)
  • 採用 scope 限制用戶敏感信息的訪問層級
  • 採用 audience 限制准許訪問 token 請求的 URLs 白名單
  • 採用 allowed_cors_origins 有條件限制防止跨原始來源資源分享( CORS )攻擊
  • 採用 grant_types 限制 token 的訪問資源
  • 訪問 token 超時自動失效
  • 允許禁用或鎖定特定 client 的 token 請求權限
  • 特定執行平台(如 Java)不在應用中植入 clent_secret

內容傳遞網路

  • https://docs.microsoft.com/zh-tw/azure/architecture/best-practices/cdn
  • 使用 CDN 所提供的憑證限制訪問
  • 使用 HTTPS 加密傳輸傳遞內容
  • 有條件限制防止跨原始來源資源分享( CORS )

監視和診斷

  • https://docs.microsoft.com/zh-tw/azure/architecture/best-practices/monitoring
  • Prometheus與Prometheus-node-exporter的安裝與配置
  • 入侵檢測
  • IP 地址禁止
  • 訪問統計