安全合规能力

核心定位

一句話說清楚:為企業構建縱深安全防禦體系,滿足等保三級、金融級安全審計要求,讓業務系統「天生合規」。

解決什麼問題

合規需求RuoYiPlus 安全方案
等保三級認證身份鑑別 + 訪問控制 + 安全審計 + 資料完整性 + 資料保密性
金融級審計區塊鏈雜湊鏈存證 + 防篡改操作日誌
資料隱私保護敏感欄位自動脫敏 + 傳輸加密 + 儲存加密
風險防控實時風險監控 + 異常行為告警 + 賬號凍結

適合什麼樣的使用者

mindmap root((安全合規需求使用者)) 金融機構 等保三級認證 金融審計合規 醫療行業 HIPAA 合規 患者資料保護 政務平臺 等級保護 資料安全 SaaS 企業 多租戶安全隔離 資料隱私合規

使用者角色

graph TB subgraph "安全形色" SA["安全管理員
配置安全策略"] AUDITOR["審計員
審查操作日誌"] ADMIN["系統管理員
運維安全"] DEV["開發人員
安全編碼"] end SA -->|配置| MFA["多因素認證"] SA -->|配置| PWD["密碼策略"] AUDITOR -->|審查| LOG["操作日誌"] AUDITOR -->|生成| REPORT["合規報告"] ADMIN -->|管理| KEY["金鑰管理"] ADMIN -->|監控| ALERT["安全告警"] DEV -->|遵循| SECURE["安全編碼規範"]

1. 安全體系架構

graph TB subgraph "RuoYiPlus 安全合規體系" subgraph "身份認證層" A1["IAM 中心"] A2["多因素認證"] A3["SSO 單點登入"] end subgraph "訪問控制層" B1["RBAC 許可權"] B2["資料許可權"] B3["API 許可權"] end subgraph "資料安全層" C1["加密脫敏"] C2["防篡改"] C3["資料分級"] end subgraph "安全審計層" D1["Audit 中心"] D2["風險預警"] D3["合規報表"] end subgraph "安全防護層" E1["WAF"] E2["防注入"] E3["防 XSS"] E4["防 CSRF"] E5["防 DDoS"] E6["金鑰管理"] end end A1 --> B1 A2 --> B1 A3 --> B1 B1 --> C1 B2 --> C1 B3 --> C1 C1 --> D1 C2 --> D1 C3 --> D1 D1 --> E1

2. 身份認證安全

2.1 多因素認證 (MFA)

graph LR A["使用者登入"] --> B{"是否需要 MFA?"} B -->|是| C["輸入密碼"] C --> D{"選擇驗證方式"} D --> E["簡訊 OTP"] D --> F["郵件 OTP"] D --> G["TOTP"] D --> H["硬體 Key"] E --> I["認證成功"] F --> I G --> I H --> I B -->|否| I
認證方式安全等級說明
密碼 + 驗證碼⭐⭐基礎雙因素
密碼 + 簡訊 OTP⭐⭐⭐動態簡訊驗證碼
密碼 + 郵件 OTP⭐⭐⭐郵件驗證碼
密碼 + TOTP⭐⭐⭐⭐時間同步動態口令
密碼 + 硬體 Key⭐⭐⭐⭐⭐FIDO2/U2F 最高安全

2.2 SSO 單點登入

sequenceDiagram participant User as 使用者 participant App1 as 應用1 participant IAM as IAM 認證中心 participant App2 as 應用2 User->>App1: 訪問應用1 App1->>IAM: 未認證,跳轉認證 User->>IAM: 輸入憑證 IAM->>IAM: 認證成功,簽發 Token IAM->>App1: 返回 Token User->>App2: 訪問應用2 App2->>IAM: 驗證 Token IAM->>App2: Token 有效 App2->>User: 直接訪問
協議支援適用場景
OAuth 2.0第三方應用授權
OIDC現代應用 SSO
SAML 2.0企業級 SSO
LDAP企業目錄整合

2.3 登入安全策略

security:
  login:
    password:
      min-length: 8
      require-uppercase: true
      require-lowercase: true
      require-digit: true
      require-special: true
      expiry-days: 90
      history-count: 5
    lockout:
      max-failed: 5
      lockout-duration: 30m
    abnormal:
      enabled: true
      notify-on-new-device: true
      block-high-risk: true

3. 訪問控制

3.1 RBAC 許可權模型

graph TB A["使用者"] --> B["角色"] B --> C["選單許可權"] B --> D["操作許可權"] B --> E["資料許可權"] A --> F["崗位"] F --> G["角色繼承"] F --> H["資料範圍"]

3.2 資料許可權控制

graph LR A["資料請求"] --> B{"許可權型別"} B -->|全部資料| C["*"] B -->|本部門資料| D["dept_id = current.dept_id"] B -->|本人資料| E["creator_id = current.user_id"] B -->|自定義資料| F["region_id IN current.regions"] C --> G["返回資料"] D --> G E --> G F --> G

3.3 API 許可權控制

// 方法級許可權控制
@RequiresPermissions(value = {"system:user:add", "system:user:edit"}, logical = Logical.OR)
public void saveUser(User user) { }

// 角色許可權控制
@RequiresRoles(value = {"admin", "manager"})
public void exportReport() { }

// 自定義許可權校驗
@RequiresCustomPermissions(key = "data:export:financial")
public void exportFinancial() { }

4. 資料安全

4.1 敏感欄位脫敏流程

graph TB A["資料查詢"] --> B["脫敏規則匹配"] B --> C{"欄位型別"} C -->|手機號| D["中間4位脫敏"] C -->|郵箱| E["使用者名稱脫敏"] C -->|身份證| F["出生日期+後4位"] C -->|銀行卡| G["僅後4位"] C -->|姓名| H["姓氏外脫敏"] C -->|密碼| I["完全隱藏"] D --> J["返回脫敏結果"] E --> J F --> J G --> J H --> J I --> J

4.2 傳輸與儲存安全

配置項說明
HTTPS 強制全站 HTTPS,HTTP 自動跳轉
TLS 版本TLS 1.3 (相容 TLS 1.2)
HSTS強制使用 HTTPS
資料庫加密AES 加密敏感欄位

5. 審計追蹤

5.1 審計事件採集

graph TB subgraph "審計事件採集" A1["登入審計"] A2["操作審計"] A3["許可權審計"] A4["匯出審計"] A5["敏感審計"] A6["API 審計"] end subgraph "審計處理" B1["事件解析"] B2["風險評分"] B3["規則匹配"] end subgraph "審計儲存" C1["熱資料"] C2["冷資料"] C3["區塊鏈"] end A1 --> B1 A2 --> B1 A3 --> B1 A4 --> B1 A5 --> B1 A6 --> B1 B1 --> B2 B2 --> B3 B3 --> C1 B3 --> C2 B3 --> C3

5.2 區塊鏈雜湊鏈

graph TB subgraph "Genesis Block" A1["blockHash = SHA256"] A2["genesisData"] end subgraph "Block N" B1["blockHash = SHA256"] B2["previousHash"] B3["merkleRoot"] B4["signature"] end subgraph "Block N+1" C1["blockHash = SHA256"] C2["previousHash = Block N hash"] C3["merkleRoot"] C4["signature"] end A1 --> B2 B1 --> C2

6. 合規支援

6.1 等保三級覆蓋

graph LR A["等保三級要求"] --> B["身份鑑別"] A --> C["訪問控制"] A --> D["安全審計"] A --> E["資料完整性"] A --> F["資料保密性"] A --> G["備份恢復"] B --> H["MFA/SSO"] C --> I["RBAC/資料許可權"] D --> J["Audit 中心"] E --> K["區塊鏈雜湊鏈"] F --> L["加密脫敏"] G --> M["資料備份方案"]
等保要求實現方式覆蓋情況
身份鑑別MFA/SSO✅ 完整
訪問控制RBAC/資料許可權✅ 完整
安全審計Audit 中心✅ 完整
資料完整性區塊鏈雜湊鏈✅ 完整
資料保密性加密脫敏✅ 完整
備份恢復資料備份方案✅ 完整

7. 安全監控

7.1 實時風險監控

graph TB subgraph "風險監控" A1["異地登入"] A2["暴力破解"] A3["異常查詢"] A4["批次匯出"] A5["許可權濫用"] end subgraph "風險判斷" B["風險引擎"] end subgraph "響應動作" C1["簡訊告警"] C2["賬號凍結"] C3["日誌標記"] C4["需要審批"] C5["實時告警"] end A1 --> B A2 --> B A3 --> B A4 --> B A5 --> B B --> C1 B --> C2 B --> C3 B --> C4 B --> C5
監控項風險閾值響應動作
異地登入新城市登入簡訊告警
暴力破解5分鐘失敗>10次賬號凍結
異常查詢單使用者>100次/分鐘日誌標記
批次匯出>50條/分鐘需要審批
許可權濫用非工作時間操作核心資料實時告警

8. 安全配置清單

配置項建議值說明
密碼最小長度12位強密碼策略
密碼過期90天強制定期修改
登入失敗鎖定5次防暴力破解
MFA強制管理員必須開啟
HTTPS強制全站加密
日誌留存1年合規要求
會話超時30分鐘自動登出
API 限流100 QPS防 DDoS

安全能力總覽

graph TB subgraph "安全縱深防禦" L1["🔐 身份認證層
MFA + SSO + 密碼策略"] L2["🛡️ 訪問控制層
RBAC + 資料許可權 + API許可權"] L3["🔒 資料安全層
脫敏 + 加密 + 防篡改"] L4["📋 審計追溯層
全鏈路審計 + 區塊鏈存證"] L5["🚨 安全監控層
實時風險監控 + 自動響應"] end L1 --> L2 L2 --> L3 L3 --> L4 L4 --> L5
docs