badrnkarim/sdg-secure-db-gateway-showcase
GitHub: badrnkarim/sdg-secure-db-gateway-showcase
Stars: 0 | Forks: 0
# 安全数据库网关 (SDG)



**SDG** 是位于用户和数据库之间的安全优先访问层。它强制执行 **MFA (OTP)**、**RBAC**、**仅限模板 SQL 执行**、**SQL 安全控制**、**SSRF 安全目标验证**以及**可审计性**(日志 + 完整性快照)。
本仓库是一个**美国等级的展示项目**,包含完整的文档、架构报告和精选的 UI 证据,以展示安全态势和最佳实践。
## 为什么这很重要
直接的数据库访问会导致凭据泛滥和可审计性薄弱。SDG 将控制权集中到一个严格的执行点:
- 强力认证 (**MFA**)
- 明确授权 (**RBAC 授权**)
- 安全执行 (**仅限批准的模板**)
- 阻止滥用 (**SQL 安全 + SSRF/允许列表**)
- 提供证据 (**日志 + 完整性验证**)
## 关键安全控制(基于证据)
| 控制措施 | 阻止内容 | 证据 |
|---|---|---|
| RBAC 授权 | 未授权访问 | `docs/assets/permissions.png` |
| 仅限模板 SQL | 原始 SQL / 注入路径 | `docs/assets/templates.png` |
| SQL 安全强制执行 | 破坏性 SQL (`DROP` 等) | `docs/assets/sql_blocked_drop.png` |
| 目标允许列表验证 | SSRF / 内部横向移动 | `docs/assets/target_endpoint_blocked.png` |
| 完整性快照 | 静默 DB 更改 | `docs/assets/integrity_match.png` / `docs/assets/integrity_mismatch.png` |
更多详情请参阅 `docs/CONTROL_MATRIX.md`。
## 架构(高层)
```
flowchart LR
%% Modern Styling
classDef user fill:#2563eb,stroke:#1d4ed8,stroke-width:2px,color:#fff,rx:8px,ry:8px;
classDef ui fill:#0ea5e9,stroke:#0284c7,stroke-width:2px,color:#fff,rx:8px,ry:8px;
classDef api fill:#8b5cf6,stroke:#7c3aed,stroke-width:2px,color:#fff,rx:8px,ry:8px;
classDef db fill:#10b981,stroke:#059669,stroke-width:2px,color:#fff,rx:8px,ry:8px;
classDef security fill:#f43f5e,stroke:#e11d48,stroke-width:2px,color:#fff,rx:8px,ry:8px;
classDef group fill:#f8fafc,stroke:#cbd5e1,stroke-width:2px,stroke-dasharray: 5 5,rx:10px,ry:10px,color:#334155;
%% Nodes
U[["👤 User / Admin"]]:::user
subgraph Frontend ["Front-End Layer"]
UI["🖥️ Web UI (Dashboard / Admin)"]:::ui
end
subgraph Core ["Gateway Enforcement Layer"]
API["🛡️ API Gateway (AuthN & AuthZ)"]:::api
INTEG["🔍 Integrity Engine (Hash & Verify)"]:::security
end
subgraph Storage ["Data Layer"]
META[/"⚙️ Meta DB (Roles, Logs, Config)"/]:::db
TDB[/"🗄️ Target DBs (MySQL / Postgres)"/]:::db
end
%% Flow
U -- "HTTPS / MFA" --> Frontend
UI -- "REST / Actions" --> API
API -- "Audit & Enforce" --> META
API -- "Execute Template" --> TDB
INTEG -. "Scheduled Snapshots" .-> TDB
API -. "Trigger Verification" .-> INTEG
%% Grouping styling
class Frontend,Core,Storage group;
```
## UI 证据(截图)
**管理面板**
**RBAC 权限管理**
**批准的模板(无原始 SQL)**
**受控执行(成功)**
**完整性验证(匹配 / 不匹配)**
**强制执行证明**
*截图映射索引:* `docs/SCREENSHOTS.md`
## 文档
- **完整报告 (PDF)**:`docs/SDG_Project_Report.pdf`
- **演示演示**:`docs/DEMO_WALKTHROUGH.md`
- **威胁模型**:`docs/THREAT_MODEL.md`
## 所有权
- **所有者 / 维护者**:Badr Karim
- **GitHub**:[@badrnkarim](https://github.com/badrnkarim)
## 许可证
MIT 许可证 — 详情请参阅 [LICENSE](LICENSE)。
显示完整证据集
**RBAC 权限管理**
**批准的模板(无原始 SQL)**
**受控执行(成功)**
**完整性验证(匹配 / 不匹配)**
**强制执行证明**
标签:CISA项目, DevSecOps, DLP, JSONLines, MFA, OTP, RBAC, SQL模板, SQL注入防护, SSRF防护, Streamlit, 上游代理, 中间件, 基于角色的访问控制, 多因素认证, 安全合规, 安全架构, 安全网关, 完整性校验, 审计日志, 数据库防火墙, 数据防泄露, 测试用例, 网络代理, 访问控制, 零信任