edeak54/Automated-Zero-Trust-Data-Perimeter-IDS
GitHub: edeak54/Automated-Zero-Trust-Data-Perimeter-IDS
该项目通过零信任架构与自动化告警,解决 AWS 环境中身份泄露导致的数据安全风险。
Stars: 1 | Forks: 0
# Automated-Zero-Trust-Data-Perimeter-IDS
## 🚀 项目概述
在标准的 AWS 架构中,身份(IAM)泄露可能导致完全的数据泄露。本项目实现了一种 **纵深防御(Defense-in-Depth)** 架构,围绕敏感数据创建一个“网络边界”。
即使拥有完整的管理员凭据,除非请求来自经过加密验证的 **VPC 终端节点**,否则数据仍不可访问。
### **核心功能**
* **精细化网络:** 自定义多层 VPC,100% 隔离的私有子网。
* **成本优化架构:** 使用 **S3 网关终端节点** 消除 NAT 网关成本(每月节省 $30+)。
* **零信任存储:** 强制仅通过特定 VPC 终端节点访问的 S3 存储桶策略。
* **自定义 IDS(入侵检测系统):** 基于 **CloudTrail 数据事件**、**EventBridge** 和 **SNS** 的自动化告警管道。
## 🏗️ 架构设计
1. **VPC 层:** 私有子网未附加互联网网关或 NAT 网关。
2. **访问层:** 通过 AWS 内部网络直接、私有地路由到 S3。
3. **监控层:** 对 `AccessDenied` 错误进行实时日志分析。
## 🛠️ 部署指南
本项目分为三个模块化的 CloudFormation 堆栈。按以下顺序部署:
### **阶段 1:网络(`networking/vpc-foundation.yaml`)**
这将创建 VPC、私有子网和 S3 网关终端节点。
* *注意:* 请务必从“输出”标签页保存 `S3GatewayEndpointID`,用于下一步骤。
### **阶段 2:存储(`storage/s3-fortress.yaml`)**
这将配置 S3 存储桶并应用零信任策略。
* **安全逻辑:** 如果 `aws:SourceVpce` 不匹配您的终端节点 ID,则明确拒绝所有操作。
### **阶段 3:监控(`monitoring/intrusion-detection.yaml`)**
这将设置“安全摄像头”。
* 创建一个 **CloudTrail 数据跟踪** 以监控 S3 API 调用。
* 部署一个 **EventBridge 规则** 以过滤 `errorCode: AccessDenied`。
* 将 **SNS 主题** 连接到您的邮箱以实现即时告警。
## 🧪 安全“演练”(概念验证)
### **1. 未经授权的访问尝试**
为了测试边界,我尝试通过 **AWS CloudShell** 列出存储桶内容。由于 CloudShell 在我的自定义 VPC 之外运行,即使我以根/管理员用户身份登录,请求仍被基于资源的策略阻止。

### **2. 自动入侵告警**
在失败尝试的几分钟内,**EventBridge 规则** 在 CloudTrail 日志中检测到 `AccessDenied` 错误,并触发了发送到我的邮箱的 SNS 通知。

### **3. 堆栈基础设施**
整个环境通过基础设施即代码(IaC)管理,实现 100% 可重现性。

## 💰 成本分析(免费套餐友好)
该架构设计为在 **AWS 免费套餐** 上每月 **$0.00** 运行:
* **VPC 终端节点(网关):** $0.00
* **CloudTrail:** 管理事件免费;S3 数据事件为 $0.10/每 10 万次事件(本概念验证极少)。
* **SNS:** 每月前 1,000 封电子邮件免费。
* **避免 NAT 网关:** 节省了约 $32.00/月的配置费用。
标签:AWS, CloudFormation, CloudTrail, DPI, EventBridge, JSONLines, S3, SNS, Streamlit, VPC端点, 云端安全, 安全, 成本优化, 数据隔离, 漏洞利用检测, 监控日志, 秘密管理, 网关端点, 网络隔离, 自动化告警, 访问控制, 超时处理, 防御深度, 零信任