Acnweze/azure-secure-network-architecture
GitHub: Acnweze/azure-secure-network-architecture
该项目演示了一种企业级 Azure 网络安全架构,通过子网分段、NSG 访问控制和多层隔离实现仅允许必要通信的云安全模型。
Stars: 0 | Forks: 0
# Azure 网络安全架构项目
## 项目概述
本项目演示了采用分块应用设计的安全 Azure 网络架构。
该环境包含:
* 面向公网的 Web 服务器 VM
* 私有数据库 VM
* 用于控制流量的网络安全组(NSG)
* 通过受限制的 SSH 规则进行安全管理访问
* 证明允许和阻止流量的验证测试
目标是实现一个真实的云安全模型,在该模型中仅允许必要的通信路径。
# 架构设计
```
Internet
|
|
HTTP (80) / HTTPS (443)
|
▼
CONTOSO-WEB-01
Ubuntu 24.04
Private IP: 10.30.1.4
Public IP: Enabled
|
|
MySQL TCP 3306
|
▼
CONTOSO-DB-01
Ubuntu 24.04
Private IP: 10.30.2.4
Public IP: Removed
```
# Azure 资源
## 资源组
使用的资源组:
* RG-CONTOSO-SECURITY

## 虚拟机
已部署:
| VM | 角色 | 子网 |
| -------------- | --------------- | --------------- |
| CONTOSO-WEB-01 | Web Server | Web-Subnet |
| CONTOSO-DB-01 | Database Server | Database-Subnet |

# 网络设计
## 虚拟网络
VNet:
* VNET-Contoso-Secure
子网:
* Web-Subnet
* Database-Subnet

# Web 服务器配置
## SSH 访问
通过受限制的 SSH 访问连接到 Web VM。

## Nginx 部署
安装并配置了 Nginx 作为 Web 服务器。
服务状态:

网页验证:

# 数据库服务器配置
## 数据库 VM 访问
连接到私有数据库服务器。

## MySQL 安装
在数据库服务器上安装并配置了 MySQL。

## MySQL 网络配置
更新了 MySQL 绑定,以允许私有网络通信。

# 网络安全组(NSG)
## Web 层 NSG
实现控制以下内容的规则:
* HTTP 访问
* HTTPS 访问
* 受限制的 SSH 管理

SSH 访问被限制为管理员公网 IP。

## 数据库层 NSG
数据库访问仅限于必要的流量。

# 安全测试
## 测试 1 — Web 服务器到数据库的连接
允许的流量:
```
Source:
CONTOSO-WEB-01
10.30.1.4
Destination:
CONTOSO-DB-01
10.30.2.4
Protocol:
TCP
Port:
3306
```
结果:
MySQL 连接成功

## 测试 2 — MySQL 用户限制
创建了专用的数据库用户:
```
webapp@10.30.1.%
```
这将数据库访问权限仅限制在 Web 子网内。

## 测试 3 — 数据库到 Web 的 HTTP 阻止
尝试:
```
curl http://10.30.1.4
```
预期:
已阻止
结果:
流量被 NSG 规则拒绝

# 数据库安全改进
从数据库 VM 中移除了公网 IP。
之前:
```
Database VM
Public IP: Enabled
```
之后:
```
Database VM
Private IP Only
10.30.2.4
```

# SSH 安全验证
在管理员 IP 更改后更新了 SSH 访问。

# 已实施的安全控制
* 使用 Azure 子网进行网络分块
* Web 层与数据库层隔离
* 基于 NSG 的流量过滤
* 受限制的 SSH 管理
* 仅限数据库私有访问
* MySQL 访问权限仅限于 Web 子网
* 阻止未授权的通信路径
* 通过实际流量验证测试了安全规则
# 主要学习成果
通过本项目,我实践了:
* Azure 虚拟网络设计
* 子网分块
* 网络安全组配置
* Linux VM 管理
* Nginx 部署
* MySQL 服务器配置
* 安全云架构原则
* 安全测试与验证
# 项目状态
已完成
本项目演示了一个生产级的 Azure 网络安全架构,具备受控访问、分块以及经过验证的安全规则。
标签:Azure, NSG, Streamlit, 网络安全架构, 网络隔离, 访问控制